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