Период в скд

1. Jane1508 4 16.09.20 17:40 Сейчас в теме
УПП 1.3. Учусь создавать отчеты в СКД. Надо сформировать отчет по документам реализации. За весь период выводит,а по отбору "Период" ничего не выводит. Подскажите,пожалуйста, где ошибка.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. oleg-x 27 16.09.20 17:47 Сейчас в теме
(1) В выражение параметры лишние, программа не поймет, что это реквизиты отчета.
Необходимо при изменение данных реквизитов программно установить данные параметры.
ОтчетОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ДатаНачала",ДатаНачала);
Jane1508; herfis; +2 Ответить
4. DmitriyPopow 33 17.09.20 07:01 Сейчас в теме
(1)Зачем так сложно . зачем реквизиты создавать на параметры?. в СКД указываете какие параметры (у вас и указаны) а потом на форму просто вытащить параметры.
Вставить тз. и указать источник данных Отчет - компановщик - параметры. (чет такое)
p.s. у вас сейчас конец периода без времени. т.е. 06.09.2020 00:00:00 т.е. документы с временем 06.09.2020 00:00:01 уже не попадут в отчет
поюзайте так. в параметрах конецПериода(&конецПериода, "День")
или сделать параметр Период с типом стандартный период
а уже для параметров Начало и конец указать соответственно Период.КонецПериода, Период.НачалоПериода в колонках Выражение
3. Vladimir-R 167 16.09.20 17:49 Сейчас в теме
5. igor-pn 72 17.09.20 14:01 Сейчас в теме
У меня был такой шаблон, делал по нему всегда выбор периода и установку дополнительных параметов на обычных формах
Прикрепленные файлы:
ОтчетРТУ2.erf
6. oleg-x 27 17.09.20 15:00 Сейчас в теме
(5) Там совершенно другое написано в выражение &Период.ДатаНачала
Это период также параметр, который является по типу "Стандартный период"
И данное выражение означает, что надо взять у параметра периода дату начала.
&Период.ДатаОкончания - взять у периода дату окончания, при чем дата окончания у периода будет конец дня, а в твоих реквизитах это начало дня.
И при изменение реквизитов на форме у тебя вызывается такая процедура
Процедура УстановитьПараметрыСКД()

	ПараметрСКД = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Период") ;
	ПараметрСКД.Использование = Истина;
	ПараметрСКД.Значение.ДатаНачала	= НачалоПериода;
	ПараметрСКД.Значение.ДатаОкончания  = КонецПериода;
	

КонецПроцедуры
Показать

То есть делаешь все не по шаблону, иначе бы все работало.
7. igor-pn 72 17.09.20 15:42 Сейчас в теме
(6) Наверное Вы имели в виду , что нужен такой код:
Процедура УстановитьПараметрыСКД()

	ПараметрСКД = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Период") ;
	ПараметрСКД.Использование = Истина;
	ПараметрСКД.Значение.ДатаНачала	= НачалоПериода;
	ПараметрСКД.Значение.ДатаОкончания  = КонецДня(КонецПериода);
	

КонецПроцедуры
Показать


Но этот отчет прекрасно формируется и за один день без изменения кода, попробуйте сами.
8. oleg-x 27 17.09.20 16:00 Сейчас в теме
(7) Нет, не это и
// и конец периода здесь лишнее.
ПараметрСКД.Значение.ДатаОкончания = КонецДня(КонецПериода);
Ибо в стандартном периоде, дата окончания и так принимает значение конца дня.
UPD: К вечеру уже путаюсь, почему то показалось что автор скинул шаблон и делал по нему.
У вас как раз все правильно сделано, а чего делает автор не понятно.
9. пользователь 23.09.20 10:35
Сообщение было скрыто модератором.
...
10. slasher777 28.09.20 19:53 Сейчас в теме
Это период также параметр, который является по типу "Стандартный период"
И данное выражение означает, что надо взять у параметра периода дату начала.
&Период.ДатаОкончания - взять у периода дату окончания, при чем дата окончания у периода будет конец дня, а в твоих реквизитах это начало дня.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот