|
СКД, дополнить таблицу нулями | ☑ | ||
---|---|---|---|---|
0
ksenod
30.11.18
✎
10:19
|
Добрый день, с помощью соединения наборов данных получаю остатки на конец нужных мне периодов в формате(для периода 02.01.18-05.03.18, по месяцам)
02.01.18 номенклатура1 100 \ 01.02.18 номенклатура1 50 -остатки на конец месяца 01.03.18 номенклатура1 50 / 02.01.18 номенклатура2 100 \ 01.02.18 номенклатура2 50 -остатки на конец месяца """01.03.18 нет так там не было остатков""" Хотел бы получить 02.01.18 номенклатура2 100 \ 01.02.18 номенклатура2 50 -остатки на конец месяца 01.03.18 номенклатура2 0 / Вариант с использованием справочника номенклатуры для получения всех остатков не подходит, т.к. тогда появится слишком много пустых строк которые мне не нужны Использую следующий запрос в нем &период- даты окончания месяцев из периода заданного пользователем ВЫБРАТЬ ПартииТоваровНаСкладахОстатки.КоличествоОстаток КАК КоличестовОстатокДата, ПартииТоваровНаСкладахОстатки.СтоимостьОстаток КАК СтоимостьОстатокДата, ПартииТоваровНаСкладахОстатки.Номенклатура, ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) > &НачалоПериода ТОГДА НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) ИНАЧЕ &НачалоПериода КОНЕЦ КАК ПериодДляВывода, &Период КАК МойПериод, ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК КоличВРезервеДата ПОМЕСТИТЬ Остатки ИЗ РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&Период, ) КАК ПартииТоваровНаСкладахОстатки ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&Период, ) КАК ТоварыВРезервеНаСкладахОстатки ПО ПартииТоваровНаСкладахОстатки.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстатки.Номенклатура, ПартииТоваровНаСкладахОстатки.КоличествоОстаток, ПартииТоваровНаСкладахОстатки.СтоимостьОстаток, ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток ; |
|||
1
Fragster
гуру
30.11.18
✎
10:22
|
||||
2
ksenod
30.11.18
✎
10:25
|
(1) к сожалению это не то
|
|||
3
Fragster
гуру
30.11.18
✎
10:26
|
(2) то
|
|||
4
Eiffil123
30.11.18
✎
10:26
|
(0) "Вариант с использованием справочника номенклатуры для получения всех остатков не подходит, т.к. тогда появится слишком много пустых строк которые мне не нужны "
А какие тогда нужны? сначала нужно понять, какую номенклатуру с нулем показывать, а какую уже не надо. Как вариант, брать оборот за какой-то предыдущий период, оттуда выбирать номенклатуру, и объединением в запрос подсовывать номенклатуру из этого отбора (объединить с остатками на дату без слова "все") |
|||
5
ksenod
30.11.18
✎
10:31
|
(4) Спасибо за идею, попробую если не придумаю ничего лучше.
Нужно все что имело остатки, резеры или движения за любой момент периода, я в следующих вирт таблицах использую конструкции вида(см в конце) и из за отсутствия последней записи периоды без остатков не выводятся СУММА(ВЫБОР КОГДА Остатки.ПериодДляВывода = Обороты.Периодичность_ ТОГДА ЕСТЬNULL(Обороты.Приход_, 0) КОНЕЦ) КАК Приход_, |
|||
6
ksenod
30.11.18
✎
10:40
|
||||
7
ksenod
30.11.18
✎
11:14
|
(4) Спасибо за помощь, твой вариант работает и довольно быстро!
|
|||
8
Fragster
гуру
30.11.18
✎
11:37
|
(6) ты просто не умеешь их готовить
|
|||
9
Fragster
гуру
30.11.18
✎
11:37
|
учись готовить дополнения
|
|||
10
Fragster
гуру
30.11.18
✎
11:37
|
в данной ситуации надо разделить запрос на наборы данных типа объединения
|
|||
11
Fragster
гуру
30.11.18
✎
11:38
|
чтобы в каждом наборе были правильные роли
|
|||
12
Fragster
гуру
30.11.18
✎
11:38
|
а потом слепить
|
|||
13
Fragster
гуру
30.11.18
✎
11:38
|
с помощью настроек и компоновок
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |