Работа с электронным документооборотом (ЭДО) в 1С:Предприятие часто сталкивается с проблемой некорректного сопоставления номенклатуры. Ошибки в сопоставлении ведут к задержкам в обработке счетов-фактур, актов и других документов, а также создают риски для бухгалтерского учета. В этой статье разберём, как изменить сопоставленную номенклатуру в 1С ЭДО — от ручного исправления отдельных позиций до автоматизированных методов для крупных баз данных.
Проблема усложняется тем, что в разных версиях 1С (8.3, 8.3.20 и новее) интерфейс и логика работы с ЭДО могут отличаться. Кроме того, некоторые операции требуют прав администратора или специалиста по обмену данными. Мы рассмотрим решения для типичных сценариев: когда сопоставление сбилось из-за обновления программы, при смене контрагента или при импорте новых справочников.
Особое внимание уделим массовому изменению сопоставлений — задаче, с которой часто сталкиваются компании с большой номенклатурной базой. Также разберём, как избежать типичных ошибок при работе с Универсальным форматом обмена (УФЭ) и XML-схемами документов.
Почему сопоставление номенклатуры сбивается?
Прежде чем исправлять ошибки, важно понять их причины. В 1С ЭДО сопоставление номенклатуры может нарушаться по нескольким причинам:
- 🔄 Обновление конфигурации — после перехода на новую версию 1С или установки патчей структура справочников может измениться, что приводит к разрыву связей между внутренними и внешними кодами номенклатуры.
- 📦 Импорт/экспорт данных — при переносе номенклатуры из одной базы в другую (например, при миграции с 1С:УТ 10.3 на 1С:ERP) идентификаторы могут не совпасть.
- 🤝 Изменение реквизитов контрагента — если поставщик обновил свой справочник товаров (например, сменил артикулы или наименования), система перестаёт распознавать старые сопоставления.
- 🛠️ Ручные правки — ошибочное редактирование справочника номенклатуры или удаление позиций без перенастройки связей.
- 📡 Ошибки обмена — сбои при синхронизации с операторами ЭДО (СБИС, Диадок, Такском и др.), когда документы приходят с некорректными метками.
Чаще всего проблемы возникают при работе с УПД (универсальный передаточный документ) и счетами-фактурами, где требуется точное совпадение номенклатуры по ГТД, коду ТН ВЭД или артикулу поставщика. Например, если в вашей базе товар зарегистрирован под артикулом ABC-123, а в документе от контрагента указан ABC123 (без дефиса), система не сможет автоматически сопоставить позиции.
⚠️ Внимание: Если вы работаете с маркированными товарами (лекарства, обувь, табак), некорректное сопоставление может привести к блокировке документов в Честном ЗНАКе. Перед массовыми изменениями проверьте актуальные требования на сайте оператора ЭДО.
Подготовка к изменению сопоставленной номенклатуры
Перед тем как вносить изменения, необходимо выполнить несколько обязательных шагов:
- Создать резервную копию базы — это защитит вас от потери данных при ошибочных действиях. В 1С:Предприятие резервирование выполняется через
Администрирование → Обслуживание → Резервное копирование. - Проверить права доступа — для изменения сопоставлений требуются права на редактирование справочника
Номенклатураи работы сПланами обмена. - Определить масштаб проблемы — если ошибки единичные, достаточно ручной правки. Если сопоставления сбились для сотен позиций, потребуется автоматизированный подход (обработки или скрипты).
- Согласовать изменения с бухгалтерией — некоторые правки могут повлиять на уже проведённые документы (например, на
реализацииилипоступления).
Для анализа текущих сопоставлений используйте отчёт "Анализ сопоставлений объектов обмена", который доступен в разделе Администрирование → Обмен данными → Электронный документооборот. Этот отчёт покажет, какие позиции не имеют связей или сопоставлены некорректно.
Если вы работаете с 1С:ERP или 1С:КА 2, проверьте настройки Плана обмена для ЭДО. Иногда ошибки сопоставления связаны с неверно настроенными правилами конвертации между узлами обмена.
Также полезно экспортировать текущие сопоставления в Excel для удобного сравнения. Это можно сделать через Все функции → Обмен данными → Выгрузка данных обмена (в некоторых конфигурациях путь может отличаться).
Ручное изменение сопоставленной номенклатуры
Если ошибок немного, проще всего исправить их вручную. Рассмотрим пошаговую инструкцию:
- Откройте документ с ошибкой — например,
Счёт-фактуру полученныйилиУПД, где номенклатура не сопоставлена. - Нажмите на поле с номенклатурой — если позиция не распознана, система предложит выбрать замену из справочника или создать новую.
- Используйте поиск по артикулу/наименованию — введите данные из документа контрагента (например,
АртикулилиКод по ГТД). - Подтвердите сопоставление — после выбора правильной позиции система запомнит связь для будущих документов.
В некоторых конфигурациях (например, 1С:Бухгалтерия 3.0) для ручного сопоставления используется специальная форма, которая открывается по кнопке "Сопоставить" в документе. Если такой кнопки нет, проверьте настройки интерфейса в разделе Все функции → Настройки → Настройки интерфейса.
Для ускорения процесса можно использовать поиск по дополнительным реквизитам. Например, если в вашей базе номенклатура имеет реквизит "Код поставщика", а в документе указан аналогичный код, сопоставление пройдёт автоматически. Чтобы добавить такой реквизит:
- Перейдите в
Справочники → Номенклатура. - Откройте форму элемента и добавьте новый реквизит через
Ещё → Изменить форму. - Настройте
План обменатак, чтобы этот реквизит участвовал в сопоставлении.
Проверить наличие резервной копии базы
Уточнить у контрагента актуальные артикулы/коды номенклатуры
Открыть документ в режиме редактирования
Использовать расширенный поиск по дополнительным реквизитам
Сохранить изменения и проверить корректность проведения документа-->
Массовое изменение сопоставлений через обработки
Если номенклатурных позиций сотни или тысячи, ручная правка займёт слишком много времени. В этом случае поможет обработка для массового изменения сопоставлений. В 1С есть несколько способов автоматизации:
- 📊 Стандартные обработки — в некоторых конфигурациях (например, 1С:ERP) есть встроенные инструменты для массового сопоставления. Их можно найти в разделе
Администрирование → Обмен данными → Настройка сопоставлений объектов. - 🛠️ Внешние обработки — на сайте Инфостарт или 1С-Сообщество можно скачать готовые решения (например,
"Помощник сопоставления номенклатуры для ЭДО"). - 💻 Самостоятельная разработка — если у вас есть навыки 1С-программирования, можно написать скрипт на встроенном языке.
Рассмотрим пример использования стандартной обработки в 1С:Бухгалтерия 3.0:
- Перейдите в
Все функции → Обмен данными → Настройка сопоставлений объектов обмена. - Выберите узел обмена, связанный с ЭДО (например,
"ЭДО с контрагентами"). - Нажмите
"Настройка сопоставлений"и выберите"Номенклатура". - В открывшемся окне вы увидите таблицу с текущими сопоставлениями. Здесь можно:
- Добавить новые связи вручную.
- Импортировать сопоставления из файла
ExcelилиXML. - Применить правила автоматического сопоставления по артикулам или кодам.
Для сложных случаев (например, когда нужно сопоставить номенклатуру по нескольким реквизитам одновременно) подойдёт внешняя обработка. Популярные решения:
| Название обработки | Функционал | Поддерживаемые конфигурации | Стоимость |
|---|---|---|---|
| "Универсальный помощник сопоставлений" | Массовое сопоставление по артикулам, кодам ТН ВЭД, наименованиям. Поддержка регулярных выражений. | 1С:Бухгалтерия, 1С:УТ, 1С:ERP | от 3 000 ₽ |
| "ЭДО: Мастер сопоставления" | Автоматическое сопоставление для документов ЭДО с возможностью сохранения шаблонов. | 1С:Бухгалтерия 3.0, 1С:КА 2 | от 2 500 ₽ |
| "Конвертация данных 3.0" | Продвинутые правила сопоставления для обмена между базами. | Все конфигурации на платформе 8.3 | от 5 000 ₽ |
Если вы решите разрабатывать обработку самостоятельно, вот пример кода для массового сопоставления по артикулам:
Процедура СопоставитьПоАртикулам()
// Получаем список номенклатуры из справочника
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
Артикул = Выборка.Артикул;
// Ищем сопоставление в плане обмена
Сопоставление = ПланыОбмена.ЭДОСКонтрагентами.НайтиПоАртикулу(Артикул);
Если НЕ Сопоставление = Неопределено Тогда
// Обновляем связь
Сопоставление.ВнешнийИдентификатор = ПолучитьВнешнийИд(Артикул);
Сопоставление.Записать();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
⚠️ Внимание: При массовом изменении сопоставлений проверьте, не используются ли старые связи в уже проведённых документах. В некоторых случаях может потребоваться перепроведение документов или создание корректировочных записей.
Работа с ошибками сопоставления в конкретных документах
Иногда ошибки сопоставления проявляются только в отдельных документах (например, в УПД или Торг-12). Рассмотрим типичные сценарии и способы их решения:
1. Ошибка: "Номенклатура не найдена в справочнике"
Эта ошибка возникает, когда в документе указан товар, которого нет в вашей базе. Решения:
- 🔍 Добавить номенклатуру вручную — если товар новый, создайте его в справочнике
Номенклатураи сопоставьте с позицией из документа. - 🔄 Заменить на аналогичную номенклатуру — если товар похож на уже существующий (например, отличается только упаковкой), используйте механизм
"Замена номенклатуры". - 📥 Импортировать номенклатуру из файла — если контрагент прислал справочник товаров в
ExcelилиXML, загрузите его черезАдминистрирование → Загрузка данных.
2. Ошибка: "Несколько вариантов сопоставления"
Система находит несколько возможных совпадений (например, два товара с одинаковым артикулом). Решения:
- 🏷️ Уточнить по дополнительным реквизитам — используйте
Код ТН ВЭД,ГТДилиСериюдля точного сопоставления. - 📝 Создать правило приоритета — в настройках обмена укажите, какие реквизиты имеют больший вес (например, сначала ищем по артикулу, затем по наименованию).
- 🔗 Связать вручную — если автоматически разрешить конфликт нельзя, выберите правильный вариант в окне сопоставления.
3. Ошибка: "Сопоставление устарело"
Эта ошибка появляется, если связь между номенклатурой была изменена, но старые документы всё ещё ссылаются на неё. Решения:
- 🔄 Обновить сопоставление в плане обмена — откройте
План обмена → Настройка сопоставленийи актуализируйте данные. - 📄 Перепровести документы — для критичных документов (например,
счетов-фактур) может потребоваться повторное проведение. - 🗑️ Очистить кэш сопоставлений — в некоторых случаях помогает сброс временных данных обмена (делается через
Администрирование → Обслуживание → Тестирование и исправление).
Номенклатура не найдена в справочнике
Несколько вариантов сопоставления
Сопоставление устарело
Другие ошибки
Не сталкивался с проблемами-->
Особенности работы с разными операторами ЭДО
Логика сопоставления номенклатуры может отличаться в зависимости от оператора ЭДО (СБИС, Диадок, Такском, Контур.Диадок и др.). Рассмотрим ключевые различия:
| Оператор ЭДО | Особенности сопоставления | Типичные проблемы |
|---|---|---|
| СБИС | Использует собственные идентификаторы номенклатуры. Поддерживает автоматическое сопоставление по ГТД и коду ТН ВЭД. |
Конфликты при изменении артикулов у поставщика. Требует ручной синхронизации справочников. |
| Диадок | Работает через Универсальный формат обмена (УФЭ). Сопоставление основано на внешних идентификаторах. |
Ошибки при импорте больших справочников. Не всегда корректно обрабатывает серийные номера. |
| Такском | Поддерживает сопоставление по ИНН поставщика + артикул. Интегрируется с 1С:ERP и 1С:УТ. |
Задержки при обмене большими объёмами данных. Требует настройки правил конвертации. |
| Контур.Диадок | Использует XML-схемы для сопоставления. Поддерживает маркированные товары. |
Проблемы с кодировками в наименованиях (например, кириллица vs латиница). |
Для каждого оператора ЭДО в 1С могут потребоваться индивидуальные настройки плана обмена. Например, для СБИС необходимо:
- Указать
Идентификатор организациив настройках узла обмена. - Настроить
правила конвертациидля номенклатуры (черезАдминистрирование → Обмен данными → Правила обмена). - Проверить
форматы сообщений— некоторые операторы требуют специфическихXSD-схем.
Если вы работаете с маркированными товарами, обратите внимание на дополнительные требования:
- 🏷️ В номенклатуре должны быть заполнены поля
Код маркировкииGTIN. - 🔗 Сопоставление должно учитывать
серийные номераипартии. - 📋 В документах ЭДО обязательно указание
кода продукции(например, для лекарств —регистрационный номер).
⚠️ Внимание: При работе с Контур.Диадок и СБИС проверьте, что в настройках 1С включена опция "Использовать внешние идентификаторы". Без неё сопоставление по артикулам может работать некорректно.
Автоматизация сопоставления с помощью правил обмена
Для минимизации ручной работы можно настроить автоматические правила сопоставления. Они позволяют системе самостоятельно подбирать связи между номенклатурой на основе заданных критериев. Рассмотрим, как это сделать:
- Откройте настройки плана обмена — перейдите в
Администрирование → Обмен данными → Планы обменаи выберите нужный план (например,"ЭДО с контрагентами"). - Настройте правила конвертации — в разделе
"Правила обмена"найдите объект"Номенклатура"и нажмите"Настроить правила". - Добавьте условия сопоставления — укажите, по каким полям будет происходить поиск совпадений. Пример:
Если НоменклатураПоставщика.Артикул = Номенклатура.Артикул ТогдаСопоставитьПоАртикулу();
ИначеЕсли НоменклатураПоставщика.КодТНВЭД = Номенклатура.КодТНВЭД Тогда
СопоставитьПоКодуТНВЭД();
КонецЕсли;
- Укажите приоритеты — определите, какие реквизиты важнее (например, сначала ищем по
артикулу, затем понаименованию, потом покоду ТН ВЭД). - Сохраните и протестируйте — после настройки правил выполните тестовый обмен с одним из контрагентов, чтобы убедиться в корректности сопоставлений.
В 1С:ERP и 1С:УТ 11 есть возможность использовать регулярные выражения для гибкого сопоставления. Например, если артикулы в документах контрагента могут содержать лишние символы (пробелы, дефисы), можно настроить правило:
АртикулДляПоиска = СтрЗаменить(НоменклатураПоставщика.Артикул, "-", "");
Номенклатура = Справочники.Номенклатура.НайтиПоАртикулу(АртикулДляПоиска);
Для сложных случаев (например, когда номенклатура сопоставляется по нескольким реквизитам одновременно) можно использовать внешние обработки с расширенной логикой. Популярные решения:
- 🔧 "Универсальный конвертер данных" — позволяет создавать сложные правила сопоставления с использованием
1С-скриптов. - 📊 "Мастер сопоставлений для ЭДО" — специализированный инструмент для работы с электронными документами.
Автоматические правила сопоставления экономят время, но требуют тщательной настройки. Всегда тестируйте новые правила на копии базы перед применением в рабочей системе.
Типичные ошибки и как их избежать
При изменении сопоставленной номенклатуры пользователи часто допускают одни и те же ошибки. Вот наиболее распространённые из них и способы их предотвращения:
- 🔄 Игнорирование резервного копирования — перед массовыми изменениями всегда создавайте бэкап. Восстановление данных после ошибки может занять часы.
- 📝 Неполное сопоставление — если вы исправили связь для одной номенклатурной позиции, проверьте, не используется ли она в других документах (например, в
заказах покупателейилиотгрузках). - 🔗 Несогласованность с контрагентами — перед изменением артикулов или кодов уточните у поставщиков, не используют ли они старые данные в своих системах.
- 🛠️ Правка без тестирования — новые правила сопоставления сначала проверяйте на тестовой базе, особенно если они затрагивают маркированные товары.
- 📡 Неучёт особенностей оператора ЭДО — например, Диадок и СБИС могут по-разному обрабатывать
XML-тегив документах.
Одна из самых опасных ошибок — массовое удаление старых сопоставлений без проверки. Это может привести к тому, что уже проведённые документы потеряют связи с номенклатурой, и их придётся перепровести. Чтобы избежать этого:
- Перед удалением сопоставлений формируйте отчёт
"Использование номенклатуры в документах". - Используйте
"Пометку на удаление"вместо полного удаления — это позволит восстановить данные при необходимости. - Настройте
"Архив сопоставлений"— некоторые конфигурации позволяют сохранять историю изменений.
Ещё одна типичная проблема — некорректная работа с кодировками. Если в наименованиях номенклатуры используются специальные символы (например, №, ®, кириллица), при обмене с ЭДО могут возникать ошибки. Решение:
- Проверьте кодировку файлов обмена (должна быть
UTF-8). - Замените специальные символы на их текстовые эквиваленты (например,
№→"номер"). - Используйте
функции преобразования строкв правилах обмена:Наименование = СтрЗаменить(Номенклатура.Наименование, "®", "(R)");
Что делать, если после изменения сопоставлений документы не проводятся?
Если после правки сопоставлений документы (например, счета-фактуры или УПД) перестали проводиться, проверьте:
1. Целостность связей — откройте документ и убедитесь, что все позиции номенклатуры сопоставлены корректно.
2. Права доступа — возможно, после изменений требуется перезагрузка сеанса 1С или обновление ролей пользователей.
3. Логи обмена — в журнале регистрации (Администрирование → Журнал регистрации) могут быть ошибки типа "Не найден объект сопоставления".
4. Перепроведение документов — иногда помогает отмена проведения и повторная запись документа.
Если проблема сохраняется, восстановите сопоставления из резервной копии и повторите изменения более аккуратно.
FAQ: Частые вопросы по изменению сопоставленной номенклатуры
Можно ли изменить сопоставление номенклатуры в уже проведённом документе?
Да, но с оговорками. Если документ ещё не отправлен в ЭДО, вы можете:
- Отменить проведение документа (
Действия → Отменить проведение). - Исправить сопоставление номенклатуры.
- Заново провести документ.
Если документ уже отправлен, лучше создать корректировочный документ или уточнить детали у контрагента. В некоторых случаях оператор ЭДО (например, Диадок) позволяет отправить "уточнение" без аннулирования оригинала.
Как сопоставить номенклатуру, если у неё нет артикула?
Если в вашей базе или в документах контрагента артикулы не указаны, используйте альтернативные реквизиты:
Наименование полное(но будьте осторожны — возможны совпадения).Код ТН ВЭД(актуально для импортных товаров).Единица измерения + наименование(например,"штука + Насос водяной").Дополнительные реквизиты(если они заполнены, например,БрендилиМодель).