|
разное поведение запроса в консоли и в обработке | ☑ | ||
---|---|---|---|---|
0
vde69
16.10.17
✎
11:21
|
ОБЫЧНЫЕ формы, есть простая процедура (см ниже) выдает задвоеный результат, ровно в 2 раза больше чем надо...
запрос скопированный в консоль запросов возвращает валидный результат (правильный). Кеш чистил, бух итоги пересчитывал... Если обработку сохранить во внешнюю то то же имеем задвоенный результат. Куда копать? //! Процедура мЗаполнить(мТД) // получим данные Для Каждого мНастройки из НастрокаДокументов Цикл мДокументы = РегистрыСведений.АвтоматическиеДокументы.ПолучитьДокументыПериода( Перечисления.ВидыАвтоматическихДокументов.СверткаОператоров, мНастройки.ПериодАвтоматизацииНач, мНастройки.ПериодАвтоматизацииКон); Запрос = Новый Запрос( "ВЫБРАТЬ | ВложенныйЗапрос.Счет, | ВложенныйЗапрос.КонтрагентД.ГоловнойКонтрагент КАК КонтрагентГО, | ВложенныйЗапрос.КонтрагентД.ОсновнойДоговорКонтрагента КАК ДоговорГО, | ВложенныйЗапрос.КонтрагентД КАК КонтрагентО, | ВложенныйЗапрос.ДоговорД КАК ДоговорО, | ВложенныйЗапрос.Валюта, | ВложенныйЗапрос.Сумма, | ВложенныйЗапрос.ВалютнаяСумма, | ИСТИНА КАК Пометка |ИЗ | (ВЫБРАТЬ | ТиповойОстаткиИОбороты.Счет КАК Счет, | ТиповойОстаткиИОбороты.Субконто1 КАК КонтрагентД, | ТиповойОстаткиИОбороты.Субконто2 КАК ДоговорД, | ТиповойОстаткиИОбороты.Валюта КАК Валюта, | СУММА(ТиповойОстаткиИОбороты.СуммаКонечныйРазвернутыйОстатокКт) КАК Сумма, | СУММА(ТиповойОстаткиИОбороты.ВалютнаяСуммаКонечныйРазвернутыйОстатокКт) КАК ВалютнаяСумма | ИЗ | РегистрБухгалтерии.Типовой.ОстаткиИОбороты( | , | &Дата, | Регистратор, | ДвиженияИГраницыПериода, | Счет = &Счет, | , | Субконто1.ЮрФизЛицо = ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.Оператор) | И НЕ Субконто1.ГоловнойКонтрагент.Ссылка ЕСТЬ NULL | И Организация = &Организация) КАК ТиповойОстаткиИОбороты | ГДЕ | НЕ ТиповойОстаткиИОбороты.Регистратор В (&Документы) | | СГРУППИРОВАТЬ ПО | ТиповойОстаткиИОбороты.Счет, | ТиповойОстаткиИОбороты.Субконто1, | ТиповойОстаткиИОбороты.Субконто2, | ТиповойОстаткиИОбороты.Валюта) КАК ВложенныйЗапрос |ГДЕ | НЕ(ВложенныйЗапрос.Сумма < 0 | ИЛИ ВложенныйЗапрос.ВалютнаяСумма < 0 | ИЛИ ВложенныйЗапрос.Сумма = 0 | И ВложенныйЗапрос.ВалютнаяСумма = 0)"); Запрос.УстановитьПараметр("Организация", Организация); Запрос.УстановитьПараметр("Счет", мНастройки.Счет); Запрос.УстановитьПараметр("Дата", КонецДня(мНастройки.ПериодАвтоматизацииКон)); Запрос.УстановитьПараметр("Документы", мДокументы); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл НоваяСтрока = мТД.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка); ПроверкаСтроки(НоваяСтрока); КонецЦикла; КонецЦикла; КонецПроцедуры |
|||
1
Ёпрст
16.10.17
✎
11:28
|
счет в иерархии ?
А так, параметры сымотри |
|||
2
DrShad
16.10.17
✎
11:30
|
а вообще запрос странный, зачем ОстаткиИОбороты да еще и периодичность Регистратор?
|
|||
3
vde69
модератор
16.10.17
✎
11:31
|
(1) параметры идентичные акромя одного
в обработке "Документы" - пустой массив, в консоле - неопределено счет не содержит суб счетов |
|||
4
DrShad
16.10.17
✎
11:32
|
сорри не заметил условия
|
|||
5
vde69
модератор
16.10.17
✎
11:32
|
(2) мне нужно исключить обороты по регламентным документам, тут или делать два запроса и потом вычитать, или так...
|
|||
6
Ёпрст
16.10.17
✎
11:32
|
(3) а чего регистратор унутрь вт не положишь ?
И зачем обороты с начала ведения базы ? |
|||
7
DrShad
16.10.17
✎
11:35
|
ПроверкаСтроки(НоваяСтрока)
а тут что? |
|||
8
vde69
16.10.17
✎
11:35
|
(6) это не начало ведения учета, это ежемесячная обработка которая сворачивает дебиторку операторов на головного оператора и на его основной договор.
|
|||
9
vde69
16.10.17
✎
11:36
|
(7) это не в счет, я смотрел результат запроса - задваивает еще до цикла
|
|||
10
DrShad
16.10.17
✎
11:37
|
ну хоть скрины кинь, а то не верим
|
|||
11
vde69
16.10.17
✎
11:46
|
короче дело в параметре "Документы"
в консоле запросов: если этот параметр ставлю неопределено - результат верный если тип массив (пустой) - результат задвоен кто может объяснить такое поведение? |
|||
12
Ёпрст
16.10.17
✎
11:52
|
(8) у тя же нет начальной даты.
Обороты и итоги будут с начала всех времён до конечной даты |
|||
13
vvp91
16.10.17
✎
11:53
|
(11) В выборке присутствуют записи без регистратора, т.е. такие записи, в которых регистратор равен Неопределено.
Условие <НЕ Регистратор В (Неопределено)> выкинет такие записи. Условие <НЕ Регистратор В (&ПустойМассив)> такие записи оставит. |
|||
14
vde69
16.10.17
✎
12:00
|
(13) действительно !!! буду копать в эту сторону
|
|||
15
vde69
16.10.17
✎
12:02
|
добавил метод дополнения "Движения" вроде теперь похоже на правду стало
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |