![]() |
|
Запрос к РегиструНакопления по дням.... | ☑ | ||
---|---|---|---|---|
0
warkan
09.06.18
✎
09:20
|
Всем добра!
В 100500-й раз уже, наверное... но из того, что нашел - не смог слепить рабочий вариант. :( Подскажите, пожалуйста, как из РегистраНакопления (остатки) получить начОстаток/Приход/Расход/конОстаток на каждый день, вне зависимости от наличия движений в этот день? Запросом, я полагаю. Уж и с таблицей, заполненной "днями" соединял... А всё равно: либо ничего, либо только те периоды, когда есть движение... Подскажите, пожалуйста, направление?... Большое спасибо! |
|||
1
Михаил Козлов
09.06.18
✎
09:24
|
Данные должны быть и по дням, когда есть начальные или конечные остатки.
Т.е. данных не будет, если нет ни остатков, ни оборотов. Если таковые нужны, выбирайте измерения и соединяйтесь с регистром. |
|||
2
d4rkmesa
гуру
09.06.18
✎
09:35
|
Проще всего воспользоваться СКД:
https://its.1c.ru/db/metod8dev/content/1587/hdoc |
|||
3
warkan
09.06.18
✎
09:36
|
Передал в Запрос таблицу, заполненную НачалоДня(КаджыйДеньПериода). Создал временную таблицу.
Запрос к РегиструНакопления с левым соединением к предыдущей временной таблице. Так? Запрос.Текст = "ВЫБРАТЬ | табДат.Период |ПОМЕСТИТЬ втДниПериода |ИЗ | &табДат КАК табДат |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, | ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, | ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход КАК КоличествоПриход, | ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход, | ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, | ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад, | втДниПериода.Период, | ТоварыНаСкладахОстаткиИОбороты.Период КАК Период1 |ИЗ | втДниПериода КАК втДниПериода | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты( | &ПериодНачало, | &ПериодОкончание, | Запись, | , | Склад = &Склад | И Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстаткиИОбороты | ПО втДниПериода.Период = ТоварыНаСкладахОстаткиИОбороты.Период |ГДЕ | ТоварыНаСкладахОстаткиИОбороты.Склад = &Склад | И ТоварыНаСкладахОстаткиИОбороты.Номенклатура = &Номенклатура | |УПОРЯДОЧИТЬ ПО | Склад, | Номенклатура |ИТОГИ | СУММА(КоличествоНачальныйОстаток), | СУММА(КоличествоПриход), | СУММА(КоличествоРасход), | СУММА(КоличествоКонечныйОстаток) |ПО | Склад, | Номенклатура"; |
|||
4
warkan
09.06.18
✎
09:37
|
Выдаёт пустоту.
Убираешь связь - дает данные, но только в периоды/дни, когда есть движения... СКД.... А разве принцип организации запроса не одинаков? Не куримши пока СКД... :( (ламьё виснутое...) |
|||
5
warkan
09.06.18
✎
09:42
|
Может в запросе, как-то, сделать подзапрос... Но как в него передать, как параметры НачалоПериода и КонецПериода
НачалоДня() и КонецДня() текущего значения "Период" из основного запроса.... Ну, либо же СКД... Или цикл по дням с кучей вызовов запроса :(((... |
|||
6
hhhh
09.06.18
✎
09:44
|
(5) вот тут
ТоварыНаСкладахОстаткиИОбороты.Период уверен, что у тебя время документа жестко 0ч 00 мин 00 сек. Во всех документах по всей базе? |
|||
7
d4rkmesa
гуру
09.06.18
✎
09:50
|
(5) Простое соединение тут ничего не даст, т.к. нам нужно "спроецировать" остатки в те дни, когда нет оборотов, из предыдущего периода. Т.е. нужно брать начальный или конечный остаток, таблицу с изменениями(оборотами) и тета-соединением добиться желаемого. Вариантов может быть много, вот не самый плохой(с весьма ценными комментами):
http://catalog.mista.ru/public/102435/ |
|||
8
warkan
09.06.18
✎
12:55
|
(7) !!! МегаОгромное Спасибо !!!!
Изучаю..... |
|||
9
warkan
09.06.18
✎
12:58
|
А попутно?....
Пробую на СКД... Отчего-то не выводится "Период" в вот такой группировке: Склад, Номенклатура, Период. Это от запроса в источнике данных зависит? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |