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