![]() |
![]() |
![]() |
|
СКД отчет на каждый день, если движений не было, пустые ячейки | ☑ | ||
---|---|---|---|---|
0
ac13
17.02.17
✎
17:11
|
Здравствуйте!
Есть много подобных тем с ответами и решениями, но того, что мне надо, не нашел. Надо отчет на СКД на каждый день периода по взаиморасчетам с контрагентами. Если движений в этот день не было, то отчет должен показывать пустые ячейки. Т.е. показывать, что в этот день движений не было. Конфа УТ 10.3. Использовал производственный календарь и связывал с регистром накопления по периоду. Мне на каждый день выдает одно и то же значение. Как решить? |
|||
1
DrShad
17.02.17
✎
17:13
|
роли и настройки периодов вам в помощь
|
|||
2
ac13
17.02.17
✎
17:21
|
что надо сделать? http://uploads.ru/ACTfW.png
|
|||
3
ac13
17.02.17
✎
17:28
|
Для какого поля нужно настроить роль и что делать с периодами?
|
|||
4
ac13
17.02.17
✎
17:28
|
У меня на каждый день выводит общую сумму за период
|
|||
5
ac13
17.02.17
✎
17:42
|
? :(
|
|||
6
Фрэнки
17.02.17
✎
18:31
|
странный запрос какой-то
поищи примеры скд отчетов по выводу из данных табелей, например. Или какую-то готовую чужую открой посмотри. Но запрос совсем совсем странный. |
|||
7
Фрэнки
17.02.17
✎
18:33
|
||||
8
ac13
20.02.17
✎
08:57
|
(7) спасибо за пример, но мне он не подходит, потому что, если я формирую отчет с периодичностью - день, то если за день не было движений, то этот день в отчете вообще не выводит. а мне надо, чтобы если движений не было, то отчет выводил бы просто пустую колонку. я не нашел ни одного примера
|
|||
9
DrZombi
гуру
20.02.17
✎
09:03
|
(0) >>>> Если движений в этот день не было, то отчет должен показывать пустые ячейки.
Все просто, у вас должна быть Таблица с заполненными датами в качестве исходного массива данных, а все остальные должны к ней присоединяться :) |
|||
10
ac13
20.02.17
✎
09:08
|
(9) да, я вот как сделал:
Первый набор данных, выборка каждого дня из производственного календаря: ВЫБРАТЬ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК Период ИЗ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь ГДЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НП И &КП СГРУППИРОВАТЬ ПО РегламентированныйПроизводственныйКалендарь.ДатаКалендаря Второй набор данных, выборка из регистра накопления с группировкой периода по дням: ВЫБРАТЬ НАЧАЛОПЕРИОДА(ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Период, ДЕНЬ) КАК Период, ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Контрагент, СУММА(ЕСТЬNULL(ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход, 0)) КАК Приход ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НП, &КП, Запись, , ) КАК ВзаиморасчетыСКонтрагентамиОстаткиИОбороты СГРУППИРОВАТЬ ПО ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Контрагент, НАЧАЛОПЕРИОДА(ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Период, ДЕНЬ) Связал два набора по периоду и настроил вывод таблицы по дням. Если за день движений не было, то день не выводит вообще. Что я сделал не так? |
|||
11
Mankubus
20.02.17
✎
09:15
|
(10) Помести это все в один набор данных и делай соединения в нем
|
|||
12
Фрэнки
20.02.17
✎
09:21
|
(8) он прекрасно подходит, потому что там показаны именно способы работы со значениями периодов, чтобы они попадали в результаты запроса. И явно показана разница между кастрированным текстом запроса в твоем решении и тем, как в принципе возможно обращаться к значениям Период.
|
|||
13
ac13
20.02.17
✎
09:31
|
ВЫБРАТЬ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК Период, ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Контрагент, СУММА(ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход) КАК СуммаПриход ИЗ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НП, &КП, День, , ) КАК ВзаиморасчетыСКонтрагентамиОстаткиИОбороты ПО РегламентированныйПроизводственныйКалендарь.ДатаКалендаря = ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Период ГДЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НП И &КП СГРУППИРОВАТЬ ПО ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Контрагент, РегламентированныйПроизводственныйКалендарь.ДатаКалендаря |
|||
14
ac13
20.02.17
✎
09:31
|
Не выводит пустые дни
|
|||
15
ac13
20.02.17
✎
09:34
|
(12) что там такого показано в том примере, кроме примера использования перечисления периодичность? мне он не нужен, так как в моем отчете всегда будут периодичность - день.
Период = НАЧАЛОПЕРИОДА(ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Период, ДЕНЬ) |
|||
16
ac13
20.02.17
✎
09:36
|
у меня проблема в том, что я разными вариантами пробую связать регистр накопления с производственным календарем, т.е. в приоритете - календарь и потом к каждому его дню привязываю данные регистра накопления, но в отчете пустые дни не выводит
|
|||
17
Фрэнки
20.02.17
✎
09:41
|
ВЫБРАТЬ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК Период ИЗ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь ГДЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НП И &КП //////////////////////////////////// А вот так что выводит? |
|||
18
Фрэнки
20.02.17
✎
09:43
|
По моему, это тот самый широко озвучиваемый пример, что внутри СКД запроса для выборки, если установлена таблица ОстаткиИОбороты
использование периодичности День не даст корректный результат. |
|||
19
ac13
20.02.17
✎
09:46
|
(17) если делать выборку только из производственного календаря, то выводит каждый день с пустыми значениями. когда я его связываю с регистром накопления, то выводит только дни, в которых были движения
|
|||
20
ac13
20.02.17
✎
09:51
|
Получилось, дело было не в запросе, не в периоде, а в отборе, который я устанавливал по контрагенту
|
|||
21
ac13
20.02.17
✎
09:52
|
так нельзя было делать, т.к. у календаря нет измерения Контрагент
|
|||
22
Фрэнки
20.02.17
✎
10:00
|
(21) забавно, что все-таки в платформе этот глючок был (с периодичностью ОстаткиИОбороты в СКД) - приходилось извращаться и на запрос по яндексу "можно в СКД получать ОстаткиИОбороты с периодичностью День" можно посмотреть, что обсуждение этой проблемы было ранее. Теперь уже не обсуждается. Значит уже работает периодичность.
|
|||
23
ac13
20.02.17
✎
10:01
|
(22) СПАСИБО!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |