Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
09 фев 2026, 17:45

Скрипт для бесшовной интеграции ERP - ДО

Автор Анастасия22, Сегодня в 15:29

0 Пользователей и 1 гость просматривают эту тему.

Анастасия22

Добрый день!
Опишу кейс. Мне необходимо на стороне Документооборота в правиле загрузки данных (бесшовная интеграция) из 1С ERP вытащить наименование номенклатуры. Правило загрузки настроено на стороне ERP для справочника Номенклатура, нв стороне ДО: для документа. Скрипт необходимо настроить для Доп. реквизита на стороне ДО - доп. реквизит это ссылка на справочник "Товары и услуги".
Необходимо, чтобы бралось наименование номенклатуры из ERP, по наименованию шел поиск на стороне ДО в справочнике "Товары и услуги", и если есть соответствие, то в доп. реквизит должен подставляться нужный товар.
При моей попытке создать такой скрипт, получилось следующее:

Если ЗначениеЗаполнено (Параметры.Источник.Наименование) Тогда
Товар = Параметры.Источник.Наименование.НайтиПоНаименованию(Параметры.Приемник.Номенклатура);
 Если ЗначениеЗаполнено(Товар) Тогда
  Параметры.Результат = Товар;
 Иначе
  Параметры.Результат = Неопределено;
  КонецЕсли;
 Иначе
  Параметры.Результат = Неопределено;
КонецЕсли;

Но проблема в том, что при создании из ERP документа из Номенклатуры выходит следующая ошибка:
Найдена ошибка в выражении на встроенном языке:
Поле объекта не обнаружено (Номенклатура)

Анастасия22

Нашла сама решение:
Проблема была в том, что имя Справочника Товары и услуги - "Номенклатура". Корректный скрипт вот

Если ЗначениеЗаполнено(Параметры.Источник.Наименование) Тогда

    НайденТовар =
        Справочники.Номенклатура.НайтиПоНаименованию(
            Параметры.Источник.Наименование
        );

    Если ЗначениеЗаполнено(НайденТовар) Тогда
        Параметры.Результат = НайденТовар;
    Иначе
        Параметры.Результат = Неопределено;
    КонецЕсли;

Иначе
    Параметры.Результат = Неопределено;
КонецЕсли;

Максим75

Анастасия22, а Вы уверены, что здесь
Товар = Параметры.Источник.Наименование.НайтиПоНаименованию(Параметры.Приемник.Номенклатура);
есть что-то в Параметры.Приемник

Похожие темы (5)

Рейтинг@Mail.ru

Поиск