При реорганизации бизнеса часто возникает ситуация, когда одна компания поглощает другую, превращая её в свой филиал. С точки зрения учета это означает переход от двух отдельных организаций к одной с разветвленной структурой подразделений. Однако на практике филиалы часто находятся территориально удаленно и требуют наличия собственной локальной базы. В таких случаях встает задача настройки Распределенной Информационной Базы (РИБ), где в периферийную базу (ПБ) должны попадать данные только конкретного подразделения. Разберем, как реализовать этот механизм, какие подводные камни нас ждут и почему типовой функционал может потребовать доработки.
В типовых конфигурациях 1С, таких как Бухгалтерия предприятия (в том числе редакции для Казахстана), стандартный механизм РИБ «по организации» настроен на фильтрацию по ссылке в реквизите Организация. Когда мы объединяем компании в одну, этот фильтр перестает работать, так как организация теперь у всех документов общая. Нам же необходимо «резать» базу по справочнику Подразделения (или Структурные подразделения в БК).
Проанализируем основные сложности этого подхода:
ПеремещениеТоваров или ПеремещениеОС могут фигурировать сразу два подразделения — отправитель и получатель. Это требует настройки логики, при которой документ попадет в обе базы.Рассмотрим вариант, при котором мы создаем собственный план обмена или глубоко модифицируем существующий. По оценкам экспертов, такая работа может занять около 40 часов, включая отладку всех правил миграции данных.
Для реализации этого метода выполним следующие шаги:
ПоОрганизации) и назовем его ПоПодразделениям.Подразделения нового плана обмена добавим реквизит с типом СправочникСсылка.ПодразделенияОрганизаций. Это позволит указывать в узле обмена конкретные филиалы, данные которых должны уходить в базу.ПриОтправкеДанныхПодчиненному. Проанализируем пример логики, которую необходимо внедрить:
Процедура ПриОтправкеДанныхПодчиненному(ЭлементДанных, ОтправкаЭлемента)
// Если это документ, проверяем его принадлежность к подразделению
Если Метаданные.Документы.Содержит(ЭлементДанных.Метаданные()) Тогда
ЕстьПодразделениеВШапке = ЛогикаПроверкиПодразделения(ЭлементДанных);
Если Не ЕстьПодразделениеВШапке Тогда
// Если подразделение не найдено, решаем: либо игнорируем,
// либо отправляем (для общих настроек)
ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Важно: При таком подходе необходимо тщательно проработать состав отправляемых данных. Справочники Склады, БанковскиеСчета, ФизическиеЛица часто жестко привязаны к подразделениям, и их фильтрация жизненно необходима для соблюдения конфиденциальности данных филиала.
Рассмотрим более «типовой» путь. В конфигурациях 1С (особенно в версии КОРП) существует понятие Обособленного подразделения. Если в справочнике Организации создать запись для филиала и указать, что это обособленное подразделение головной организации, то система позволит использовать типовой РИБ «по организации».
Разберем преимущества этого метода:
Если бюджет позволяет, переход с версии ПРОФ на Бухгалтерия предприятия КОРП является самым надежным решением. В КОРП-версии штатно реализован сквозной учет по подразделениям во всех документах и регистрах.
Выясним, что именно дает версия КОРП для решения нашей задачи:
Зарплата и управление персоналом, КОРП-версия позволяет более гибко сопоставлять данные сотрудников и затрат по разным филиалам в одной базе БП.Для конфигурации Бухгалтерия для Казахстана (БК) следует учитывать, что понятие «Структурное подразделение» тесно связано с налоговым кодексом. Структурные единицы могут иметь свои БИН/РНН и являться самостоятельными налоговыми агентами по ИПН и Социальному налогу.
Проанализируем ситуацию с активами: если вы объединили две организации в одну, перемещение между ними теперь оформляется документами ПеремещениеТоваров, а не куплей-продажей. Если вы не используете версию КОРП, вам придется вручную контролировать внутренние обороты, чтобы они «схлопывались» при формировании общего баланса. РИБ в данном случае может усложнить процесс, так как ошибки в одном узле приведут к расхождениям во всей консолидированной отчетности.
Если у вас остается две базы Зарплата и управление персоналом и одна общая Бухгалтерия, разделенная на РИБ, возникнет проблема сопоставления. Разберем, как этого избежать:
Организация во всех базах (ЗУП 1, ЗУП 2, БП Голова, БП Филиал) имеет одинаковый уникальный идентификатор (GUID).Enterprise Data) необходимо указать фильтр по подразделению, чтобы данные из «ЗУП Филиал» попадали только в соответствующий узел РИБ.Организация РИБ по подразделениям в единой организации — задача сложная и требующая высокой квалификации разработчика. Если вы решите идти путем доработки плана обмена, приготовьтесь к длительному тестированию каждого типа документа.
Рациональный совет: постарайтесь убедить заказчика использовать механизм «Обособленных подразделений» в рамках типового функционала или инициируйте переход на КОРП-версию. Это сэкономит время на поддержке обменов и гарантирует корректность формирования консолидированного баланса предприятия.