Имя: Пароль:
1C
1С v8
В пакетной обработке формирования актов сверки не работает условие (внешняя обработка)
,
0 chip_polina
 
05.09.22
15:28
Добрый день.
Попросили разобраться почему в обработке по выбору из выпадающего списка не работает фильтрация.
В коде есть условие отбора:

УсловиеДолги = "";
    Если НеобходимыеДолги = "Контрагента" Тогда
    УсловиеДолги = "        
            |  И ОстаткиИОбороты.СуммаКонечныйОстатокДт > 0";
    ИначеЕсли НеобходимыеДолги = "Наши" Тогда
    УсловиеДолги = "
            |  И ОстаткиИОбороты.СуммаКонечныйОстатокКт > 0";
    ИначеЕсли НеобходимыеДолги = "Нулевые" Тогда
    УсловиеДолги = "
            |  И (ОстаткиИОбороты.СуммаКонечныйОстатокКт = 0
            |  И ОстаткиИОбороты.СуммаКонечныйОстатокДт = 0)";
    КонецЕсли;

Которое потом добавляется в запрос:
"ВЫБРАТЬ РАЗЛИЧНЫЕ
    |    ОстаткиИОбороты.Организация КАК Организация,
    |    ОстаткиИОбороты.Субконто1 КАК Контрагент,
    |    ОстаткиИОбороты.Субконто2 КАК Договор,
    |    ОстаткиИОбороты.Валюта КАК Валюта,
    |    СУММА(ОстаткиИОбороты.СуммаКонечныйОстаток) КАК СуммаОстаток
    |ПОМЕСТИТЬ ВТ_Долги
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(, &ПериодОтчета, , , Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПокупателямиИЗаказчиками)), , Организация В (&Организации)) КАК ОстаткиИОбороты
    |ГДЕ
    |    (ОстаткиИОбороты.СуммаОборотДт > 0
    |    ИЛИ ОстаткиИОбороты.СуммаОборотКт > 0
    |   ИЛИ ОстаткиИОбороты.СуммаНачальныйОстаток <> 0)
    | "+УсловиеДолги+"
    |
    |СГРУППИРОВАТЬ ПО
    |    ОстаткиИОбороты.Организация,
    |    ОстаткиИОбороты.Субконто1,
    |    ОстаткиИОбороты.Субконто2,
    |    ОстаткиИОбороты.Валюта    
    |;

При этом акты сверки формируются без учета этого условия (всем скопом), если выбрать "контрагента" или "все", а "наши" не формирует, хотя они есть.

Прошу помощи с идеями где тут копать?
1 ZDenis
 
05.09.22
15:45
1)Делать через
ОстаткиИОбороты.СуммаКонечныйОстатокКт - ОстаткиИОбороты.СуммаКонечныйОстатокДт
и если это больше 0, то "наши" долги, иначе "Контрагента"

2) Так еще 3 условия есть, может по ним не проходят "наши"

3) Делать через СуммаКонечныйРазвернутыйОстатокДт и СуммаКонечныйРазвернутыйОстатокКт
2 chip_polina
 
05.09.22
15:55
(1) Спасибо! Буду пробовать) Моего уровня для ревизии кода пока слишком мало.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс