При работе с распределенными информационными базами (РИБ) в конфигурации 1С:Бухгалтерия предприятия 3.0 многие пользователи сталкиваются с неожиданной ситуацией: несмотря на создание узла обмена "По организации", в подчиненную базу выгружаются абсолютно все документы, относящиеся ко всем организациям, присутствующим в центральной базе. Рассмотрим эту проблему подробнее и выясним, как правильно настроить РИБ для корректной фильтрации данных.
Представьте ситуацию: у нас есть центральная база с двумя организациями, например, "Т" и "Г". Мы создаем два подчиненных узла РИБ, предполагая, что каждый из них будет получать документы только по своей организации. Однако после выгрузки начального образа и загрузки в подчиненные базы мы обнаруживаем, что в каждом узле виден полный список документов по обеим организациям. Возникает логичный вопрос: почему план обмена ПоОрганизации не фильтрует данные, если в его модуле нет явных событий ПриОтправкеПодчиненному для фильтрации?
Суть проблемы заключается в методе создания подчиненного узла РИБ. Если вы создаете узел "по старинке", то есть напрямую через список планов обмена (например, переходя по ссылке e1cib/list/ПланОбмена.ПоОрганизации и нажимая "Создать"), система по умолчанию не применяет никаких фильтров. В этом случае вы выбираете организацию для узла, но это не активирует механизм фильтрации по организации для выгрузки документов. Подобный подход эквивалентен созданию РИБ с полным обменом данными, где предполагается синхронизация всей информации.
Конфигурация 1С:Бухгалтерия 3.0, как и другие современные типовые конфигурации на управляемых формах, использует более сложный и удобный механизм для настройки синхронизации данных, включая создание узлов РИБ с отборами. Этот механизм реализован через специальный помощник или мастер настройки синхронизации.
Для того чтобы РИБ "По организации" действительно фильтровал данные и выгружал в подчиненный узел только документы, относящиеся к конкретной организации, необходимо использовать штатный помощник создания синхронизации. Разберем этот процесс по шагам.
Важный момент: Отсутствие обработчика ПриОтправкеПодчиненному в модуле плана обмена ПоОрганизации не является ошибкой или деградацией. Логика фильтрации данных для РИБ с отборами в современных конфигурациях 1С реализована на уровне Правил регистрации объектов. Эти правила декларативно описывают, какие объекты и с какими условиями должны быть зарегистрированы для выгрузки в каждый конкретный узел обмена. Когда вы используете помощник и указываете отборы, система автоматически генерирует или корректирует эти правила. Если объект не соответствует условиям отбора, его регистрация для выгрузки просто не происходит.
Когда мы создаем узел обмена напрямую через список планов обмена (ПланОбмена.ПоОрганизации), мы по сути указываем только тип плана обмена, но не задаем правила фильтрации данных. Система создает узел с настройками по умолчанию, которые для РИБ, как правило, предполагают полный обмен, если не указано иное через специализированные инструменты. Выбор организации при таком создании узла в этом контексте служит скорее для идентификации узла или для привязки некоторых служебных данных, но не для установки сквозного фильтра на все документы.
Таким образом, проблема с выгрузкой всех документов в РИБ "По организации" в 1С:Бухгалтерии 3.0 решается путем использования специального помощника создания синхронизации и явного указания отборов по организации на этапе настройки. Это гарантирует, что в подчиненные узлы будут попадать только необходимые, отфильтрованные данные.