Отбор в динамическом списке работает странно

1. GetNight 46 27.06.18 12:03 Сейчас в теме
Надеюсь кто нибудь из местных гуру по динамическим спискам сможет мне помочь.
Коротко суть проблемы:
УНФ, ПриходнаяНакладная, форма списка.

В динамическом запросе добавляю левое соединение с итогом по полю СуммаРасчета из таблицы документа Предоплаты.
И булево поле ПолныйРасчет, который принимает значение ИСТИНА в случае если СуммаРасчета+1 больше суммы документа.
Вывожу на форму.
Отбор по полю ПолныйРасчет работает идеально во всех случаях.
Отбор по полю СуммаРасчета работает идеально... НО ЛИШЬ ДО МОМЕНТА, когда выбираю СуммаРасчета=0.


Такой колбасни платформы я даже не мог себе представить. СуммаРасчета и ПолныйРасчет во всех полях исчезают.

Соответственно, в результат отбора выпадают все поля.
Пока отбор по полю=0, суммы нигде не появляются. Стоит убрать отбор и во всех полях проявляются и СуммаРасчета и ПолныйРасчет.

Если кому интересно, выбрасываю
полный код ДС
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. spacecraft 27.06.18 12:30 Сейчас в теме
(1)
ЕСТЬNULL(Предоплаты.СуммаРасчетов+1 > ДокументПриходнаяНакладная.СуммаДокумента, ЛОЖЬ) КАК ПолныйРасчет

Очень странная конструкция. Может так?
ЕСТЬNULL(Предоплаты.СуммаРасчетов, 0)+1 > ДокументПриходнаяНакладная.СуммаДокумента КАК ПолныйРасчет

или так:
ЕСТЬNULL(Предоплаты.СуммаРасчетов, -1)+1 > ДокументПриходнаяНакладная.СуммаДокумента КАК ПолныйРасчет
igormiro; bad_wag; +2 Ответить
3. GetNight 46 03.07.18 13:37 Сейчас в теме
(2) Друг, я очень ценю твою попытку помочь!
К сожалению, ты не до конца понял суть проблемы и делаешь попытку исправить то, что и так работает идеально.
Отбор по полю ПолныйРасчет работает идеально во всех случаях

Проблема связана с полем СуммаРасчета.

Поверь, я перебрал десяток различных конструкций и вариантов для модели этого динамического списка, в том числе для каждого из полей ПолныйРасчет и СуммаРасчета. И делал виртуальные таблицы предварительно... И делал несколько соединений... во всех случаях различается лишь время исполнения, ошибка (отбор по СуммаРасчета=0) не исчезает и стабильно, как черная полоса проявляется через все отражения...

или так:
ЕСТЬNULL(Предоплаты.СуммаРасчетов, -1)+1 > ДокументПриходнаяНакладная.СуммаДокумента КАК ПолныйРасчет

Если первая версия в принципе, по действию почти аналогична приведённой мною (за одним небольшим ньюансом, который тоже связан с особенностями отбора в форме), то вторая теряет свою основополагающую часть - разницы по оплате до гривны не должны проявляться, т.к. в большинстве случаев дело касается копеек, которые бухгалтерии точно не согласовали между собой. Плюс заказы, которые еще в процессе заполнения, могут иметь номенклатуру со стоимостью 0,01 грн... Для управленческого анализа они вообще не нужны, т.к. рассеивают внимание от более важных вопросов.
5. Vlad_2008 16 02.08.18 02:44 Сейчас в теме
(2) Все предлагаемые варианты не верны и по арифметике и по логике заложенной автором в эту проверку. Вы явно не поняли чего он добивался.

По арифметике:

1) для ЕСТЬNULL(Предоплаты.СуммаРасчетов, 0)+1

тут, если нет предоплаты, Вы всегда будете получать 1.00 - а нафига ?? ... предоплаты-то нет

2) для ЕСТЬNULL(Предоплаты.СуммаРасчетов, -1)+1

тут, если нет предоплаты, Вы всегда будете получать 0.00 - вроде красиво ... но, вдруг у нас приходная с "минусом", тогда мы получим ИСТИНА - а нафига ?? ... предоплаты-то нет )))

а если предоплата все-таки была ... так тут Вы ее увеличите на целый рубль - а нафига ?? )))

Думаю, теперь яснее что хотел "поймать" автор, вернее скока это в гривнах )))))
4. Vlad_2008 16 02.08.18 02:27 Сейчас в теме
Если еще актуально, сам не проверял, но предполагаю что СКД (дин. списка) "смотрит" на псевдонимы после слова КАК.

В нашем случае "СуммаРасчетов" указан дважды, в отчете все будет хорошо, а вот в дин. списках я так не делаю.

Т.е. Вам надо попробовать так:

1) в запросе соединения пишем "СУММА(СуммаРасчетов) КАК СуммаВсего"

2) в основном запросе пишем "ЕСТЬNULL(Предоплаты.СуммаВсего, 0) КАК СуммаРасчетов"

Должно работать ...

(пришел на призыв размещенный http://expert.chistov.pro/public/605743/
yurrisu; oir; andrey238; +3 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот