|
Помогите с обработкой запроса, или с ним | ☑ | ||
---|---|---|---|---|
0
Klesk
23.12.21
✎
18:03
|
не могу разобраться, в консоли вроде всё как надо, а в обработке, несколько раз перебирает нумератор, как то не так обхожу?
https://i116.fastpic.org/big/2021/1223/b4/a1543c38d0333a86e34cb91b2e4a29b4.jpeg Запрос=Новый Запрос; Запрос.МенеджерВременныхТаблиц=МенеджерВременныхТаблиц; Запрос.Текст="ВЫБРАТЬ | Документы.Период КАК Дата, | НумераторПКО.Организация КАК Организация, | Документы.Документ, | НумераторПКО.Номер КАК Номер, | НумераторПКО.Склад КАК Склад, | НумераторПКО.Ссылка КАК Нумератор, | Документы.ВидОплаты, | Документы.СуммаДокумента, | Документы.Операция, | Документы.ДокументДС |ИЗ | Документы КАК Документы | ЛЕВОЕ СОЕДИНЕНИЕ Документ.НумераторПКО КАК НумераторПКО | ПО (НумераторПКО.Дата = Документы.Период) | И (НумераторПКО.Организация = Документы.Организация) | И (НумераторПКО.Склад = Документы.Склад) |ГДЕ | НЕ НумераторПКО.НомерДляБП | И НумераторПКО.Проведен | |УПОРЯДОЧИТЬ ПО | Документы.Период, | Нумератор |ИТОГИ | Период, Нумератор |ПО | Период,Нумератор; | |//////////////////////////////////////////////////////////////////////////////// |УНИЧТОЖИТЬ Документы"; ВыборкаПоПериоду = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаПоПериоду.Следующий() Цикл ВыборкаПоНумератору =ВыборкаПоПериоду.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаПоНумератору.Следующий() Цикл Сообщить(ВыборкаПоНумератору.Нумератор); |
|||
1
Базис
naïve
23.12.21
✎
18:05
|
Откуда ты читаешь данные?
|
|||
2
Klesk
23.12.21
✎
18:44
|
Ну Если это существенно
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РеализацияТоваровУслугИзменения.Ссылка |ИЗ | Документ.РеализацияТоваровУслуг.Изменения КАК РеализацияТоваровУслугИзменения |ГДЕ | РеализацияТоваровУслугИзменения.Узел = &Узел"; Запрос.УстановитьПараметр("Узел", Объект.Узел); РезультатЗапроса = Запрос.Выполнить(); ВыборкаРеализации = РезультатЗапроса.Выбрать(); Пока ВыборкаРеализации.Следующий() Цикл МойОбъект= ВыборкаРеализации.Ссылка; Если Не Отказ Тогда ПериодРеализации=НачалоДня(МойОбъект.Дата); Узел=Объект.Узел; МенеджерВременныхТаблиц=Новый МенеджерВременныхТаблиц; Запрос=Новый Запрос; Запрос.МенеджерВременныхТаблиц=МенеджерВременныхТаблиц; Запрос.Текст="ВЫБРАТЬ | НАЧАЛОПЕРИОДА(ПриходныйКассовыйОрдер.Ссылка.ДатаПробитияЧека, ДЕНЬ) КАК Период, | ПриходныйКассовыйОрдер.Ссылка.Организация КАК Организация, | ""ПриходНал"" КАК Операция, | РеализацияТоваровУслуг.Склад, | РеализацияТоваровУслуг.Ссылка КАК Документ, | ПриходныйКассовыйОрдер.Ссылка КАК ДокументДС, | ПриходныйКассовыйОрдер.Ссылка.Касса КАК ВидОплаты, | ПриходныйКассовыйОрдер.Ссылка.СуммаДокумента КАК СуммаДокумента |ПОМЕСТИТЬ Документы |ИЗ | Документ.ПриходныйКассовыйОрдер.Изменения КАК ПриходныйКассовыйОрдер | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг | ПО ПриходныйКассовыйОрдер.Ссылка.ДокументОснование = РеализацияТоваровУслуг.Ссылка |ГДЕ | ПриходныйКассовыйОрдер.Ссылка.Проведен | И ПриходныйКассовыйОрдер.Ссылка.ПробитЧек | И ПриходныйКассовыйОрдер.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента) | И ПриходныйКассовыйОрдер.Узел = &Узел | И НАЧАЛОПЕРИОДА(ПриходныйКассовыйОрдер.Ссылка.ДатаПробитияЧека, ДЕНЬ) = &ПериодРеализации | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | НАЧАЛОПЕРИОДА(РасходныйКассовыйОрдер.Ссылка.Дата, ДЕНЬ), | ВозвратТоваровОтКлиента.Организация, | ""ВозвратНал"", | ВозвратТоваровОтКлиента.Склад, | ВозвратТоваровОтКлиента.Ссылка, | РасходныйКассовыйОрдер.Ссылка, | РасходныйКассовыйОрдер.Ссылка.Касса, | РасходныйКассовыйОрдер.Ссылка.СуммаДокумента |ИЗ | Документ.РасходныйКассовыйОрдер.Изменения КАК РасходныйКассовыйОрдер | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровОтКлиента КАК ВозвратТоваровОтКлиента | ПО РасходныйКассовыйОрдер.Ссылка.ДокументОснование = ВозвратТоваровОтКлиента.Ссылка |ГДЕ | РасходныйКассовыйОрдер.Ссылка.Проведен | И РасходныйКассовыйОрдер.Ссылка.ПробитЧек | И РасходныйКассовыйОрдер.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту) | И РасходныйКассовыйОрдер.Узел = &Узел | И НАЧАЛОПЕРИОДА(РасходныйКассовыйОрдер.Ссылка.Дата, ДЕНЬ) = &ПериодРеализации | И НАЧАЛОПЕРИОДА(ВозвратТоваровОтКлиента.Ссылка.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(ВозвратТоваровОтКлиента.ДокументРеализации.Дата, ДЕНЬ) | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | НАЧАЛОПЕРИОДА(ОперацияПоПлатежнойКарте.Ссылка.Дата, ДЕНЬ), | ОперацияПоПлатежнойКарте.Ссылка.Организация, | ""ПриходБезНал"", | РеализацияТоваровУслуг.Склад, | РеализацияТоваровУслуг.Ссылка, | ОперацияПоПлатежнойКарте.Ссылка, | ОперацияПоПлатежнойКарте.Ссылка.ЭквайринговыйТерминал, | ОперацияПоПлатежнойКарте.Ссылка.СуммаДокумента |ИЗ | Документ.ОперацияПоПлатежнойКарте.Изменения КАК ОперацияПоПлатежнойКарте | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг | ПО ОперацияПоПлатежнойКарте.Ссылка.ДокументОснование = РеализацияТоваровУслуг.Ссылка |ГДЕ | ОперацияПоПлатежнойКарте.Ссылка.Проведен | И ОперацияПоПлатежнойКарте.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента) | И ОперацияПоПлатежнойКарте.Узел = &Узел | И НАЧАЛОПЕРИОДА(ОперацияПоПлатежнойКарте.Ссылка.Дата, ДЕНЬ) = &ПериодРеализации | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | НАЧАЛОПЕРИОДА(ОперацияПоПлатежнойКарте.Ссылка.Дата, ДЕНЬ), | ВозвратТоваровОтКлиента.Организация, | ""ВозвратБезНал"", | ВозвратТоваровОтКлиента.Склад, | ВозвратТоваровОтКлиента.Ссылка, | ОперацияПоПлатежнойКарте.Ссылка, | ОперацияПоПлатежнойКарте.Ссылка.ЭквайринговыйТерминал, | ОперацияПоПлатежнойКарте.Ссылка.СуммаДокумента |ИЗ | Документ.ОперацияПоПлатежнойКарте.Изменения КАК ОперацияПоПлатежнойКарте | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровОтКлиента КАК ВозвратТоваровОтКлиента | ПО ОперацияПоПлатежнойКарте.Ссылка.ДокументОснование = ВозвратТоваровОтКлиента.Ссылка |ГДЕ | ОперацияПоПлатежнойКарте.Ссылка.Проведен | И ОперацияПоПлатежнойКарте.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту) | И ОперацияПоПлатежнойКарте.Узел = &Узел | И НАЧАЛОПЕРИОДА(ОперацияПоПлатежнойКарте.Ссылка.Дата, ДЕНЬ) = &ПериодРеализации | И НАЧАЛОПЕРИОДА(ВозвратТоваровОтКлиента.Ссылка.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(ВозвратТоваровОтКлиента.ДокументРеализации.Дата, ДЕНЬ) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Документы.Период КАК Период, | Документы.Организация КАК Организация, | Документы.Склад КАК Склад |ИЗ | Документы КАК Документы | |СГРУППИРОВАТЬ ПО | Документы.Период, | Документы.Организация, | Документы.Склад | |УПОРЯДОЧИТЬ ПО | Период, | Организация, | Склад"; Запрос.УстановитьПараметр("Узел",Объект.Узел); Запрос.УстановитьПараметр("ПериодРеализации",ПериодРеализации); |
|||
3
azernot
23.12.21
✎
19:11
|
ВыборкаПоПериоду = Запрос.ВыполнитьПакет()[0].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
|
|||
4
Ёпрст
23.12.21
✎
20:13
|
(2) запрос в цикле как-то не алё.
Менеджер временных таблиц там не нужен И где в (2) итоги и обход ? |
|||
5
Klesk
26.12.21
✎
21:51
|
ну да, всё коряво, но все работает, ошибка была в другом. всем спасибо.
|
|||
6
Мимохожий Однако
26.12.21
✎
22:36
|
(5) Исчерпывающий ответ )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |