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