Фиксирование остатков при загрузке банковской выписки из файла
При загрузке выписки из файла в ней может содержаться информация о сальдо, например в выписке сбербанка.
Иногда требуется загружать остатки из выписки, чтобы сверять их с базой.
Можно, конечно, заново разбирать файл выписки, но зачем, если можно вмешаться в ход работы 1С.
UPD 2024-01-16: остатки 1С в поле Сальдо.Сумма показывает на начало дня. Обычно фиксируют конечные остатки, поэтому просто ставьте их на предыдущий день.
Расширяю общий модуль ЗагрузкаВыпискиПоБанковскомуСчету:
&Вместо("СоздатьДокументы") Функция азвып_СоздатьДокументы(Выписка, РаспознаннаяВыписка, Настройки, Отбор) Результат = ПродолжитьВызов(Выписка, РаспознаннаяВыписка, Настройки, Отбор); Попытка Счет = РаспознаннаяВыписка.ВладелецСчета.БанковскийСчет; Исключение Сообщить("В распознанной выписке не указан счет!!!"); Возврат Результат; КонецПопытки; Попытка Сальдо = Выписка.Сальдо; Исключение Сообщить("В распознанной выписке не указана таблица сальдо!!!"); Возврат Результат; КонецПопытки; //Данные актуальны на конец периода выписки ДатаАктуальности = НачалоДня(Выписка.КонецПериода); Для Каждого СтрокаСальдо Из Сальдо Цикл МЗ = РегистрыСведений.азвып_ОстаткиПоСчетам.СоздатьМенеджерЗаписи(); Дата = СтрокаСальдо.Дата; МЗ.Счет = Счет; МЗ.Дата = Дата; МЗ.Прочитать(); //Проверяем являются ли данные более актуальными Если МЗ.Выбран() И МЗ.ДатаДокументаОстатка > ДатаАктуальности Тогда Продолжить; КонецЕсли; МЗ.Счет = Счет; МЗ.Дата = Дата; МЗ.Остаток = СтрокаСальдо.Сумма; МЗ.ДатаДокументаОстатка = ДатаАктуальности; МЗ.Записать(Истина); //Перезаписываем более старые КонецЦикла; Возврат Результат; КонецФункции
Регистр для хранения остатков имеет структуру:
В процессе используются следующие таблицы:
Использую дату актуальности, чтобы защититься от загрузки остатков по более ранней выписке.
Среда: отраслевая на базе БП 3.0.140.3
Свежие комментарии