Имя: Пароль:
1C
1С v8
Как сделать отчет похожий на ПродажиПоМесяцам из БП 3.0 ?
0 itPiligrim
 
08.07.15
12:35
Делаю отчет, похожий на отчет ПродажиПоМесяцам из Бухгалтерии 3.0. Там выводится сумма продаж по месяцам, причем если на дату нет данных, выводится 0.

Вроде все и у меня работает, но проблема в том, что когда накладывается отбор по данным  у меня, то даты из внешнего объекта пропадают и выводятся только даты, на которые есть данные.

Как решить проблему? В отчете из БП такой проблемы нет, но как она решена не понятно. Вероятно, как-то это сделано на уровне запроса, но к сожалению не могу понять как. Может кто подскажет более простой пример?
1 Mifka
 
08.07.15
12:43
Если не ошибаюсь то решают это следующим образом. В параметрах виртуальной таблица задать период=месяц и выводит его. в реквизитах обязательная проверка  isnull
2 itPiligrim
 
08.07.15
12:51
В моем случае есть только периодический регистр сведений.
3 Фрэнки
 
08.07.15
13:25
(2) с схеме компоновки данных отчета
ПродажиПоМесяцам из БП 3.0
Использовано два источника данных с соединением их по месяцам.
А затем в ресурсах указана | Сумма | Сумма(Сумма) |
Видел?
Вот эта функция Сумма возвращает число 0 даже тогда, когда ей приходиться суммировать "пустые" значения вместо чисел.
Если в твоем случае в источниках данных таблица только одна, то периоды тебе можно получить только с заполненными значениями - все правильно.
4 itPiligrim
 
08.07.15
13:36
(3) Сделать два набора данных, заполнить в наборе данных "Периоды" месяца и года, сделать связь по годам и месяцам между двумя наборами, сделать ресурс - все это я догадался сделать. И оно даже РАБОТАЕТ! Но работает, если не установлен отбор по моему регистру. Не могу понять, почему отбор ломает весь отчет.
5 itPiligrim
 
08.07.15
13:47
Сделал пример.
http://itPiligrim.ru/buffer/1Cv8_ot_dates.zip

Там один отчет. Если в нем убрать отбор "Измерение1 заполнено", то отчет заработает как надо, т.е. появятся пустые месяца. Как сделать так, чтобы отчет работал и с отбором?
6 Фрэнки
 
08.07.15
14:08
(5) Вроде бы понял. Как бы это теперь словами описать.
Посмотрел я, все правильно отчет работает.
Включение в наборы данных второй таблицы с периодами - оно вообще-то носит вспомогательный характер. Когда эта вторая таблица есть, то она дает подстановку строчек вместо чисел.

Теперь насчет отбора. Использование отбора оставляет в твоих данных одну единственную запись. Ту самую, которая соответствует условию "заполнено". Причем, обрати внимание, что Отбор устанавливается на моменте вывода готовых данных в печатную форму, а не в выборке: Выбор идет полностью так, как он указан в запросе.
7 itPiligrim
 
08.07.15
15:28
(6) Т.е. получается, что сначала объединяются два набора данных (периоды и регистр), потом на все это накладывается отбор. Но как сделать, чтобы было иначе (отбор накладывался только на регистр с последующим объединением с датами)?
8 MUXACb
 
08.07.15
15:51
(0) Если СКД то в поле группировки(по периодам) поставьте нужный тип дополнения
9 Фрэнки
 
08.07.15
16:43
(7) Ну я попробовал, пока еще не получилось.
Пытаюсь сделать через использование параметра. Тем более, что именно параметр можно будет отобразить на форме отчета и сделать его выбираемым. А как вытащить на форму отбор - тем более не знаю.
10 Фрэнки
 
08.07.15
16:45
Кстати, отчет по продажам из БП 3 - там вывод в диаграмму, но если выбран только один год в периоде, то отображает не все периоды-месяц этого года. А когда установлены два года - тогда всего года периоды.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой