Как сопоставить справочник номенклатуры при обмене данными между 1С:Больничная аптека и 1С:БГУ без потери данных?

Программист 1С v8.3 (Управляемые формы) Бухгалтерский учет IT и автоматизация бизнеса
← На главную

При настройке обмена данными между специализированными решениями (например, «1С:Аптечный учет в МО» / «1С:Больничная аптека») и вестибулярным бухгалтерским решением («1С:Бухгалтерия государственного учреждения») технические специалисты часто сталкиваются с критической проблемой: рассинхронизацией справочников номенклатуры.

В аптечном решении номенклатура ведется максимально детально: с указанием точного наименования, серий, сроков годности, производителей и упаковок (например, «Бинт стерильный, 120*80 см из нетканых материалов»). В то же время в 1С:БГУ бухгалтеры часто заводят упрощенные позиции (например, просто «Бинтик»). Попытка сопоставить эти справочники вручную, когда позиций тысячи, превращается в нереализуемую задачу. А простое удаление «старой» номенклатуры в БГУ приведет к нарушению ссылочной целостности базы и «битым» ссылкам в договорах, поступлениях и списаниях за прошлые периоды.

В этой статье мы подробно рассмотрим и разберем наиболее эффективные методики решения этой проблемы, начиная от организационных подходов и заканчивая автоматизированными техническими приемами.

Метод 1. Сводный (суммовой) учет в БГУ — «Сворачивание» номенклатуры

Давайте проанализируем ситуацию: действительно ли бухгалтерии в 1С:БГУ необходима медицинская детализация до конкретной серии и производителя? Вся оперативная работа, контроль сроков годности и партионный учет уже ведутся в специализированной системе «1С:Больничная аптека».

Для оптимизации учета часто применяется метод свертки справочника:

  1. В 1С:БГУ создаются укрупненные номенклатурные группы (например, «Перевязочные материалы», «Антибиотики», «Расходные материалы»).
  2. В правилах обмена (или правилах регистрации объектов) настраивается сопоставление «многие к одному». При переносе документов из Аптеки сотни различных позиций бинтов и пластырей будут автоматически преобразовываться в одну позицию БГУ — «Перевязочные материалы».
  3. Бухгалтерия получает чистый баланс, корректные суммы списания и поступления, а детальный поштучный учет контролируется в аптечной базе.

Метод 2. Использование обработки «Поиск и замена значений»

Если детальный учет в БГУ все же необходим, а справочники уже заведены хаотично, мы можем применить стратегию мягкого замещения без удаления документов:

  1. Загружаем правильный справочник номенклатуры из Аптеки в БГУ в качестве новых элементов. Чтобы избежать путаницы, их можно временно поместить в отдельную папку (например, «Загружено из Аптеки»).
  2. Запускаем стандартную обработку 1С «Поиск и замена значений». Она позволяет найти все старые «неправильные» элементы номенклатуры во всех проведенных документах (поступлениях, требованиях-накладных, договорах) и заменить их на новые «правильные» позиции.
  3. После завершения работы обработки старые элементы справочника БГУ гарантированно окажутся неиспользуемыми. Их можно пометить на удаление и безопасно стереть через стандартный механизм УдалениеПомеченныхОбъектов.

Для разработчиков приведем пример того, как концептуально может выглядеть программный поиск и замена дублей или сопоставленных элементов в коде:


// Пример программной замены дублирующих элементов справочника Номенклатура
Процедура ЗаменитьНоменклатуруНаНовую(СтараяСсылка, НоваяСсылка) Экспорт
    
    // Создаем массив заменяемых значений
    ТаблицаЗамены = Новый ТаблицаЗначений;
    ТаблицаЗамены.Колонки.Добавить("ЧтоЗаменяем");
    ТаблицаЗамены.Колонки.Добавить("НаЧтоЗаменяем");
    
    НоваяСтрока = ТаблицаЗамены.Добавить();
    НоваяСтрока.ЧтоЗаменяем = СтараяСсылка;
    НоваяСтрока.НаЧтоЗаменяем = НоваяСсылка;
    
    // Используем штатные механизмы платформы для поиска ссылок
    НайтиИЗаменитьСсылки(ТаблицаЗамены);
    
КонецПроцедуры

Метод 3. Перенос остатков на новую номенклатуру

Если база содержит огромный массив исторических документов за несколько лет, замена элементов во всех прошлых периодах может привести к искажению себестоимости при перепроведении. В таком случае рассмотрим сценарий поэтапного перехода:

  1. Новые документы обмена начинают записываться исключительно со ссылками на новые, сопоставленные элементы номенклатуры.
  2. В конце отчетного периода (например, на 31 декабря) остатки по старым позициям (таким как «бинтик») списываются с помощью документов корректировки остатков.
  3. Одновременно эти же остатки приходуются на новые, правильные элементы номенклатуры. Таким образом, новый финансовый год начинается с абсолютно чистым и сопоставленным справочником, а исторические документы прошлых периодов остаются нетронутыми.

Метод 4. Автоматизация обмена через уникальные идентификаторы (GUID)

Чтобы исключить проблему неверного сопоставления в будущем, необходимо перенастроить правила синхронизации данных. Вместо поиска по наименованию (которое пользователи могут изменить вручную в любой момент), необходимо использовать поиск по уникальному идентификатору источника:

  1. В конфигурации 1С:БГУ создается дополнительный реквизит для справочника Номенклатура — например, ID_Аптека (тип: Строка).
  2. При первой загрузке объектов из базы Аптеки в этот реквизит записывается уникальный идентификатор (GUID) объекта-источника.
  3. При всех последующих сессиях обмена сопоставление выполняется по жесткому правилу: система ищет элемент в БГУ по значению реквизита ID_Аптека. Если элемент найден — обновляются его свойства, если нет — создается новый.

Это полностью исключает появление дублей при случайном переименовании позиций пользователями.

Метод 5. Интерактивное сопоставление через EnterpriseData и Excel

Если обмен настроен через современный формат EnterpriseData, мы можем воспользоваться встроенным Помощником интерактивного сопоставления:

  1. При очередном сеансе синхронизации система выводит список несопоставленных объектов.
  2. Этот список можно выгрузить во внешний файл Excel.
  3. В Excel, используя формулы нечеткого поиска, фильтры и сортировки, можно быстро проставить соответствия между кодами БГУ и Аптеки.
  4. Готовый файл загружается обратно в Помощник сопоставления, и система автоматически создает связи (регистр сведений «Соответствия объектов информационных баз») для сотен и тысяч позиций в один клик.
← На главную