Создание расхода по счету в правильной валюте. УНФ 1.6
Клиент обнаружил ошибку типовой УНФ — если в списке «Банк и касса» сделать отбор по банковскому счету, то при создании документа расхода со счета документ все равно создается в валюте по умолчанию.
К счастью, не пришлось вмешиваться в процедуру заполнения, оказалось достаточно просто доработать данные заполнения — добавить в структуру валюту денежных средств. Иногда она там есть, но неправильная, иногда ее нет. Своим кодом мы ее гарантированно добавляем.
Расширяем процедуру ЗаполнитьДокумент модуля ЗаполнениеОбъектовУНФ:
&Вместо("ЗаполнитьДокумент") Процедура дор_ЗаполнитьДокумент(ДокументОбъект, Знач ДанныеЗаполнения, Знач СтратегияЗаполнения, ИсключаяСвойства) Если ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.РасходСоСчета") И ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда //2022-11-28 Осипов Сергей //Неправильно определяется валюта денежных средств, поправляем Если ДанныеЗаполнения.Свойство("БанковскийСчет") Тогда //И ДанныеЗаполнения.Свойство("ВалютаДенежныхСредств") Тогда ДанныеЗаполнения.Вставить("ВалютаДенежныхСредств", ДанныеЗаполнения.БанковскийСчет.ВалютаДенежныхСредств); КонецЕсли; КонецЕсли; ПродолжитьВызов(ДокументОбъект, ДанныеЗаполнения, СтратегияЗаполнения, ИсключаяСвойства); КонецПроцедуры
Сначала я хотел вмешиваться на уровне формы — если валюта при открытии не соответствует банковскому счету, поправлять. Но так оказалось проще.
Среда: УНФ 1.6.27.167. Объем: 0.5 час.
Свежие комментарии