СКД. Как подружить параметр типа СтандартныйПериод и СрезПоследних #780120


#0 by akhmadey
В запросе используется отбор по периоду. Два параметра &ДатаНач и &ДатаКон. В СКД задан третий параметр Период типа СтандартныйПериод, а значения для параметров подставляются из стандартного периода. Также есть необходимость использовать временные таблицы и в них СрезПоследних на дату &ДатаКон. Но вылетает ошибка о несовместимости типов. Видимо, стандартный период для среза последних не катит. Можно ли как-нибудь обойти эту ситуацию?
#1 by ls300
придется отказаться от стандартного периода, т.к. там конец периода это граница. А границу нельзя использовать в срезах и соответственно сравнивать с датами. Вроде даже в типовых отчетах при таких ситуациях дублируется параметр конца периода, один граница, другой дата.
#2 by Timon1405
использовать &СтандартныйПериод.ДатаНачала,&СтандартныйПериод.ДатаОкончания
#3 by akhmadey
А в чем разница? Если мы про параметры СКД говорим. Просто использовать параметр Период типа Стандартный период удобно тем, что потом в форме отчета это параметр удобно задавать
#4 by akhmadey
А как бы на этот отчет хотя бы одни глазком глянуть?
#5 by LordCMEPTb
Было бы желание...
#6 by akhmadey
Это-то понятно, у меня также. Примерчик бы, где этот самый стандартный период и срез последних вместе существуют, не важно в каком виде
#7 by ls300
Под рукой такого отчета нет и не помню где встречал. Вроде это была бухгалтерия 3.0. Но идея там в том, что в СКД есть 2 параметра окончания периода. Один хранит дату, другой границу из стандартного периода. Нужно только поиграться в коде с заполнением параметра с типом "Дата"
#8 by LordCMEPTb
Нифига не понял. Срез последних нормально работает с датой. Если для параметр даты для среза является датой, то несовместимости типов быть не должно. Но если кто-то при включенном автозаполнении в параметр "Период" хочет задать стандартный период, то ситуация с несовместимостью типов вполне реальная.
#9 by akhmadey
СтандартыйПериод.ДатаОкончания и Дата это не один и тот же тип.
#10 by mistеr
Пора показать текст запроса и скрин параметров.
#11 by Timon1405
КонецПериода(&СтандартыйПериод.ДатаОкончания, "День") не катит что ли?
#12 by LordCMEPTb
Ну это да, особенно если учитывать тот факт, что типа "СтандартыйПериод.ДатаОкончания" вроде как не существует... Вариант отчета, в котором не получается получить срез мы увидим или так и будем гадать?
#13 by ls300
Нет, будет ошибка что в параметр функции "КонецПериода" передан несовместимый тип значения.
#14 by akhmadey
Вот текст запроса:     ВЫБОР         КОГДА уатПутевойЛистЗадание.Ссылка.ТранспортноеСредство ЕСТЬ NULL ГДЕ     уатПутевойЛистЗадание.Ссылка.ДатаВыезда МЕЖДУ &ДатаНач И &ДатаКон     ВЫБОР         КОГДА ВТ_СписокТС.ДатаВыбытия ЕСТЬ NULL А параметры в точности как в
#15 by Timon1405
так это нужно написать в выражении для параметра &ДатаКон, а передавать этот параметр
#16 by ls300
В выражении параметра СКД по моему другой синтаксис, надо проверять)
#17 by Timon1405
очень может быть)
#18 by Molinor
Во всех запросах, где есть период, делаю так. И спокойно получаю срезы на &НачДата и &КонДата.
#19 by LordCMEPTb
По поводу параметров из , что они в точности такие же, есть сомнения. Ибо скорее всего галочка "Автозаполнение" стоит, а значит еще один параметр "Период" должен быть. И тип значения этого параметра должен быть "Дата". В 3й параметр называется "СтандартныйПериод".
#20 by Catseye
Переименуй в параметрах "Период" на "ПериодОтчета", например. И переименуй его в функциях где задаются по стандартному периоду НачДата и КонДата СКД для регистров сведений, когда строит свой запрос по пользовательским настройкам, очень нервно относится к параметру "Период". Причем эта фишка только с ними такая. Эту ошибку никак не обойти - просто переименуй параметр.
#21 by akhmadey
Не проканало ((((
#22 by ls300
Направление в котором нужно копать есть в , все в твоих руках.
#23 by LordCMEPTb
Так просто автоматически добавленный параметр не переименовать. Надо либо в запросе писать эти параметры в фигурных скобках "...СрезПоследних({ДатаКон},...", либо добавлять новые, а старые не трогать.
#24 by akhmadey
С периодами разобрался, всем спасибо. Просто изначально в запросе не было СрезаПоследних и имя параметра Период не вызывало проблем. Как только СрезПоследних появился, параметр стал недоступным, не только к редактированию, но и удалению. В общем, как только удалось заменить параметр Период параметром с другим названием, все взлетело.
#25 by Catseye
что и требовалось :)
#26 by xafavute
Начало и конец периода не нужно делать
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям