|
Своя ТЗ в СКД + период | ☑ | ||
---|---|---|---|---|
0
Cyrix
15.10.20
✎
11:29
|
Здравствуйте! Создаю свою ТЗ и передаю её в СКД
В запросе есть условие, выводить документы с такой-то даты по такую-то Каким образом на СКД можно задать этот период? Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ДокументРезультат.Очистить(); СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказПокупателя.Ссылка КАК Заказ |ИЗ | Документ.ЗаказПокупателя КАК ЗаказПокупателя |ГДЕ | ЗаказПокупателя.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания"; Запрос.УстановитьПараметр("ДатаНачала",'20201004'); Запрос.УстановитьПараметр("ДатаОкончания",ТекущаяДата()); ТЗ = Запрос.Выполнить().Выгрузить(); ВнешнийНаборДанных = Новый Структура("ТЗ", ТЗ); Настройки = КомпоновщикНастроек.ПолучитьНастройки(); ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешнийНаборДанных, ДанныеРасшифровки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); КонецПроцедуры |
|||
1
ДенисЧ
15.10.20
✎
11:43
|
Так ты уже выбрал документы за период. Зачем тебе второй раз его задавать?
|
|||
2
Cyrix
15.10.20
✎
11:52
|
Потому что оператор, работая с отчётом, будет задавать разный период
|
|||
3
Cyrix
15.10.20
✎
11:56
|
Запрос.УстановитьПараметр("ДатаНачала",'20201004');
Запрос.УстановитьПараметр("ДатаОкончания",ТекущаяДата()); как из пользовательского интерфейса СКД изменить "ДатаНачала" и "ДатаОкончания"? Что прописать на вкладке "Параметры" СКД и что добавить в свойствах отчёта, чтобы у пользователя появились эти поля для выбора? |
|||
4
SleepyHead
гуру
15.10.20
✎
12:46
|
Добавь в параметры сам поле Период, тип - стандартный период. В своем варианте отчета разреши его видеть пользователю.
В коде ПриКомпоновке добавь такой код НастройкиСКД = КомпоновщикНастроек.ПолучитьНастройки(); П = НастройкиСКД.ПараметрыДанных.Элементы.Найти("Период"); Если П<>Неопределено И П.Использование Тогда Дата1 = НачалоДня(П.ДатаНачала); Дата2 = КонецДня(П.ДатаОкончания); Иначе // если ты попал сюда, значит, не включил параметр в доступные для настройки варианта отчета. Дата1 = '00010101'; Дата2 = Дата1 КонецЕсли; Запрос.Установитьпараметр("ДатаНачала", Дата1); .. и так далее |
|||
5
Cyrix
15.10.20
✎
13:28
|
Спасибо за ответ! Подскажите ещё
"ВЫБРАТЬ | ЗаказПокупателя.Ссылка КАК Заказ, | ЗаказПокупателя.Запасы.( | Номенклатура КАК Номенклатура, | КоличествоСобрано КАК КоличествоСобрано, | Количество КАК Количество |) КАК Запасы |ИЗ | Документ.ЗаказПокупателя КАК ЗаказПокупателя |ГДЕ | ЗаказПокупателя.Дата МЕЖДУ &ДатаНач И &ДатаОкончания"; Как в СКД добавить таблицу "Запасы" с её полями Номенклатура, КоличествоСобрано и Количество ? |
|||
6
Cyrix
15.10.20
✎
16:11
|
добавил
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |