|
СКД: Как в СКД вычислить параметр - месяц +/- от текущей даты? |
☑ |
0
ArPlus
06.09.15
✎
19:47
|
Запрос в СКД
ВЫБРАТЬ
ХозрасчетныйОстатки.Субконто1 КАК Контрагент,
ХозрасчетныйОстатки.Субконто2 КАК ДоговорКонтрагента,
СУММА(ХозрасчетныйОстатки.СуммаОстаток) КАК НаКонец
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(&ПериодОкончание, Счет В ИЕРАРХИИ (&Счет), &ВидСубконто, ) КАК ХозрасчетныйОстатки
СГРУППИРОВАТЬ ПО
ХозрасчетныйОстатки.Субконто1,
ХозрасчетныйОстатки.Субконто2
В параметркх есть и
Период
и
ПериодОкончание = ДобавитьКДате(НачалоПериода(&Период,"День"),"МЕСЯЦ",3)
Но при выводе он рассчитывает и выводит на дату Период!
Почему?
|
|
1
DCKiller
06.09.15
✎
20:02
|
Передай формулу расчета ПериодОкончание из параметра в запрос
|
|
2
ArPlus
06.09.15
✎
20:24
|
Исправил на
РегистрБухгалтерии.Хозрасчетный.Остатки(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Период,ДЕНЬ), МЕСЯЦ, -3), Счет В ИЕРАРХИИ (&Счет), &ВидСубконто, ) КАК ХозрасчетныйОстатки
Та же ерунда. Формирует на &Период
|
|
3
DCKiller
06.09.15
✎
20:25
|
Зачем вообще эти заморочки с добавлением даты к параметру? Не проще задавать параметр Период сразу таким, каким нужно?
|
|
4
ArPlus
07.09.15
✎
05:20
|
Вопрос не зачем, а почему не работает. Зачем вообще какие то отчеты делать? Нельзя на калькуляторе посчитать?
|
|
5
segn
07.09.15
✎
05:29
|
СКД не видит твой параметр &ПериодОкончание. Нужно использовать расширения компоновки данных. Должно быть так: {(&ПериодОкончание)}
|
|
6
mehfk
07.09.15
✎
05:29
|
РегистрБухгалтерии.Хозрасчетный.Остатки(&ПериодОкончание, Счет В ИЕРАРХИИ (&Счет), &ВидСубконто, ) КАК ХозрасчетныйОстатки
->
РегистрБухгалтерии.Хозрасчетный.Остатки(&ПериодОкончание {(&ПериодОкончание)}, Счет В ИЕРАРХИИ (&Счет), &ВидСубконто, ) КАК ХозрасчетныйОстатки
|
|
7
ArPlus
07.09.15
✎
05:53
|
Спасибо. Не знал. Работает.
|
|
8
Devourer
07.09.15
✎
05:58
|
Сталкивался с проблемой отчетов на СКД: если использовать имена параметров &НачалоПериода, &КонецПериода для оборотов и &Период для остатков, то СКД глючит и ограничивает виртуальную таблицу по значениям, переданным в эти параметры. Даже если параметры виртуальной таблицы остатков или оборотов имеют другие имена.
То есть если в виртуальной таблице остатков использовать параметр &КонецПериода = 05.01.2015 00:00:00, а в запросе использовать, например "ВЫБРАТЬ &Период КАК МесяцПолученияОстатков" и передавать в &Период 01.01.2015 00:00:00, то запрос выполнится корректно, а отчет на СКД нет, поскольку в отчете остатки будут собраны на 1 января, а не на 5.
Попробуй переименовать параметры, отказавшись от "&Период" и, соответственно, не заполнять его в параметрах СКД.
|
|