Имя: Пароль:
1C
1С v8
БП 3.0.58.3 - формирование выписок - нулевые суммы
0 Доминошник
 
10.03.15
21:15
Обновил БП до 3.0.58.3

При формировании выписок банка через "подбор платёжек" не проставляется сумма документа.

Посмотрел, как было в модуле объекта в 3.0.58.1


    Если ВидОперации <> Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеНалога
        И ВидОперации <> Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеЗП
        И ВидОперации <> Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеЗаработнойПлатыРаботнику
        И ВидОперации <> Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеДепонентов
        И ВидОперации <> Перечисления.ВидыОперацийСписаниеДенежныхСредств.ВыдачаЗаймаРаботнику
        И ВидОперации <> Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеПодотчетномуЛицу
        И ВидОперации <> Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПереводНаДругойСчет
        И ВидОперации <> Перечисления.ВидыОперацийСписаниеДенежныхСредств.ЛичныеСредстваПредпринимателя Тогда
        СуммаДокумента = РасшифровкаПлатежа.Итог("СуммаПлатежа");
    КонецЕсли;


Гляжу, как стало в модуле объекта в 3.0.58.3

    Если НЕ Документы.СписаниеСРасчетногоСчета.ЕстьРасшифровкаПлатежа(ВидОперации) Тогда
        СуммаДокумента = РасшифровкаПлатежа.Итог("СуммаПлатежа");
    КонецЕсли;


и в модуле менеджера добавились две функции

Функция ПолучитьСписокВидовОперацийСРасшифровкойПлатежа() Экспорт
    
    СписокОпераций = Новый СписокЗначений();
    СписокОпераций.Добавить(Перечисления.ВидыОперацийСписаниеДенежныхСредств.ОплатаПоставщику);
    СписокОпераций.Добавить(Перечисления.ВидыОперацийСписаниеДенежныхСредств.ВозвратПокупателю);
    СписокОпераций.Добавить(Перечисления.ВидыОперацийСписаниеДенежныхСредств.РасчетыПоКредитамИЗаймам);
    СписокОпераций.Добавить(Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПрочиеРасчетыСКонтрагентами);
    
    Возврат(СписокОпераций);
    
КонецФункции

Функция ЕстьРасшифровкаПлатежа(Знач ВидОперации) Экспорт
    
    СписокВидовСРасшифровкойПлатежа = ПолучитьСписокВидовОперацийСРасшифровкойПлатежа();
    
    Возврат СписокВидовСРасшифровкойПлатежа.НайтиПоЗначению(ВидОперации) <> Неопределено;
    
КонецФункции


Вопрос - а не должно ли быть

    Если Документы.СписаниеСРасчетногоСчета.ЕстьРасшифровкаПлатежа(ВидОперации) Тогда
        СуммаДокумента = РасшифровкаПлатежа.Итог("СуммаПлатежа");
    КонецЕсли;


Т.е. НЕ в условии - всё же лишнее?
Или я опять не понимаю "всю глубину наших глубин"?.
1 kzot
 
10.03.15
22:46
Есть такое дело, очень забавное обновление 58 релиза.
Там же смотрел и тоже не сильно логику понял, но матом ругал  долго. Ещё и перезапись всех платежек при обновлении.
2 Доминошник
 
10.03.15
23:07
(0) Ошибся, конечно же
Речь о БП 3.0.38.51 (где нормально) и 3.0.38.53 (где поменяли логику).
3 kzot
 
11.03.15
20:22
Вроде поправили в 3.0.38.54

Исправлена ошибка 30019647:
При вводе документа "Списание с расчетного счета" на основании платежного поручения с Видом операции "Оплата поставщику" не заполняется реквизит "Сумма документа"
4 Доминошник
 
11.03.15
20:26
(3) Да, исправили, уже проверил.

И ошибка - именно ожидавшаяся - лишнее НЕ в условии.

Было (3.0.38.53)
    Если НЕ Документы.СписаниеСРасчетногоСчета.ЕстьРасшифровкаПлатежа(ВидОперации) Тогда
        СуммаДокумента = РасшифровкаПлатежа.Итог("СуммаПлатежа");
    КонецЕсли;


Стало (3.0.38.54)
    Если Документы.СписаниеСРасчетногоСчета.ЕстьРасшифровкаПлатежа(ВидОперации) Тогда
        СуммаДокумента = РасшифровкаПлатежа.Итог("СуммаПлатежа");
    КонецЕсли;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший