Продвинутый курс. Занятие №14
Приступайте к четырнадцатому занятию продвинутого курса.
ps. На этой странице не нужно отчитываться о выполнении ДЗ.
Приступайте к четырнадцатому занятию продвинутого курса.
ps. На этой странице не нужно отчитываться о выполнении ДЗ.
Здравствуйте!
Отчет по д/з 14.
1) Создал отчет «ОтчетПоРеализацииТоваровУслуг». Добавил 2 набора данных – запрос. В одном выбрал данные шапки документа, во втором – данные табличной части.
РеализацияТоваровИУслуг.Номер,
РеализацияТоваровИУслуг.Дата,
РеализацияТоваровИУслуг.Контрагент,
РеализацияТоваровИУслуг.Организация,
РеализацияТоваровИУслуг.Получатель
ИЗ
Документ.РеализацияТоваровИУслуг КАК РеализацияТоваровИУслуг
ГДЕ
РеализацияТоваровИУслуг.Ссылка = &Ссылка
В качестве ресурса выбрал поле «сумма», а в выражении вызвал функцию: ЧислоПрописью(Сумма(Сумма)). В настройках отчета создал две группировки: одна для данных шапки, вторая – для ТЧ.
В документе «Реализация товаров и услуг» создал команду «Печать документа», разместил в группе «Командная панель формы.Важное». В обработчике события команды вызываю функцию, которая возвращает результат выполнения отчета СКД в виде табличного документа, который затем вывожу пользователю с помощью метода «Показать()».
Функция ПолучитьПечатнуюФорму(СсылкаРеализация)
Схема = Отчеты.ОтчетПоРеализацииТоваровУслуг.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Настройки = Схема.НастройкиПоУмолчанию;
Параметр = Настройки.ПараметрыДанных.НайтиЗначениеПараметра( новый ПараметрКомпоновкиДанных("Ссылка"));
Если Параметр <> Неопределено Тогда
Параметр.Значение = СсылкаРеализация;
Параметр.Использование = Истина;
КонецЕсли;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Макет = КомпоновщикМакета.Выполнить(Схема, Настройки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(Макет,,,Истина);
ТабДок = Новый ТабличныйДокумент;
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабДок);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
Возврат ТабДок;
КонецФункции
</>code
2) Создал отчет «Ведомость по товарам». В качестве источника данных использовал запрос. Объединил две таблицы документов «поступление товаров и услуг» и «реализация товаров и услуг». Сопоставил поле «Количество» из «поступления товаров и услуг» к новому полю «0» как приход, а поле «Количество» из «реализации товаров и услуг» к « 0» как расход. Данные поместил во временную таблицу «ПриходРасход». Затем с помощью несложных манипуляций с помощью левого соединения таблицы самой с собой получил требуемый результат.
<code>
ВЫБРАТЬ
ПоступлениеТоваровИУслугТовары.Ссылка КАК Регистратор,
ПоступлениеТоваровИУслугТовары.Ссылка.Дата,
ПоступлениеТоваровИУслугТовары.Номенклатура,
0 КАК Расход,
ПоступлениеТоваровИУслугТовары.Количество КАК Приход
ПОМЕСТИТЬ ПриходРасход
ИЗ
Документ.ПоступлениеТоваровИУслуг.Товары КАК ПоступлениеТоваровИУслугТовары
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
РеализацияТоваровИУслугТовары.Ссылка,
РеализацияТоваровИУслугТовары.Ссылка.Дата,
РеализацияТоваровИУслугТовары.Номенклатура,
РеализацияТоваровИУслугТовары.Количество,
0
ИЗ
Документ.РеализацияТоваровИУслуг.Товары КАК РеализацияТоваровИУслугТовары
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ПриходРасход.Регистратор,
ПриходРасход.Дата,
ПриходРасход.Номенклатура,
ПриходРасход.Расход,
ПриходРасход.Приход,
СУММА(ЕСТЬNULL(ПриходРасход1.Приход, 0)) - СУММА(ЕСТЬNULL(ПриходРасход1.Расход, 0)) КАК НачальныйОстаток,
СУММА(ЕСТЬNULL(ПриходРасход1.Приход, 0)) - СУММА(ЕСТЬNULL(ПриходРасход1.Расход, 0)) + ПриходРасход.Приход - ПриходРасход.Расход КАК КонечныйОстаток
ИЗ
ПриходРасход КАК ПриходРасход
ЛЕВОЕ СОЕДИНЕНИЕ ПриходРасход КАК ПриходРасход1
ПО ПриходРасход.Номенклатура = ПриходРасход1.Номенклатура
И (ПриходРасход.Дата >= ПриходРасход1.Дата
И ПриходРасход.Регистратор > ПриходРасход1.Регистратор)
СГРУППИРОВАТЬ ПО
ПриходРасход.Регистратор,
ПриходРасход.Дата,
ПриходРасход.Номенклатура,
ПриходРасход.Расход,
ПриходРасход.Приход
=================================================
1. Очень познавательным оказался материал данного раздела. Особенности получения итогов, открытие формы задачи из карты маршрута БП.
2. Построение отчетов с помощью СКД, изначально вызвало затруднения.
3. Тему СКД.
Здравствуйте. Oleg S, отчет принят.