Плагин для заполнения кодов ОСУ

Заполнить коды ОСУ в УПД и УКД, а также доп.сведение «СвВыбытияМарк» можно с помощью плагина « Изменение контента УПД ». Подробнее о других возможностях плагина см. в статье Плагин «Изменение контента исходящих документов».

Для использования плагина:

Установите плагин «Изменение контента УПД»

Чтобы установить плагин:

  1. Запустите модуль Диадок для 1С.
  2. Нажмите на кнопку  «Настройки» и выберите «Расширенные настройки» → «Системные».
  3. Выберите «Использовать плагины».
  4. Перезапустить модуль.
  5. В расширенных настройках выберите «Плагины».
  6. По умолчанию список плагинов пустой. Нажмите на кнопку «Добавить».
  7. В библиотеке выделите курсором плагин «Изменение контента УПД» и нажмите  «Загрузить ».

     
  8. Плагин появится в списке.

Настройте плагин

Для настройки:

  1. В списке выберите плагин « Изменение контента УПД » и нажмите «Настройки ».
  2. Нажмите «Добавить», чтобы создать правило.
  3. Выберите сценарий «ЗаполнениеКодовОСУ»:
  4. Укажите описание правила и настройте заполнение кода ОСУ:
    • Если установлен флажок «Визуальная настройка», для вычисления кода ОСУ заполните дополнительные колонки в этой таблице:
      GTIN (Строка).
      Числитель (Число или Неопределено).
      Знаменатель (Число или Неопределено).
      ПризнакОСУ (Булево или Неопределено). В сценарии используется таблица значений «ТаблицаТоваров». Предзаполненные поля в таблице берутся из контента документа:
      Номенклатура.
      Характеристика.
      Серия.
      Упаковка.
      ЕдиницаИзмерения.
      Количество.
    • Если снят флажок «Визуальная настройка», заполните код.
      Примеры вариантов заполнения колонки GTIN
      // Если GTIN хранятся в регистре "Штрихкоды"
      // ОСУ_ЗаполнитьКолонку_ИзРегистраШтрихкодов(Результат.ТаблицаТоваров, "GTIN");
      // Если GTIN лежит в реквизите "Штрихкод" справочника "Номенклатура"
      // ИмяРеквизитаНоменклатуры = "Штрихкод";
      // ОСУ_ЗаполнитьКолонку_ИзРеквизитаНоменклатуры(Результат.ТаблицаТоваров, "GTIN", ИмяРеквизитаНоменклатуры);
      // Если GTIN указан в доп.свойстве "КодТовараДляОСУ" справочника "Номенклатура"
      // ИмяДопСвойства = "КодТовараДляОСУ";
      // ОСУ_ЗаполнитьКолонку_ИзДопСвойстваНоменклатуры(Результат.ТаблицаТоваров, "GTIN", ИмяДопСвойства);
      
      

      Примеры вариантов заполнения колонки «ПризнакОСУ»

      <span>// Если признак указан в реквизите "МолочнаяПродукцияБезВЕТИС" справочника "Номенклатура"
      <span>// ИмяРеквизита = "МолочнаяПродукцияБезВЕТИС";
      <span>// ОСУ_ЗаполнитьКолонку_ИзРеквизитаНоменклатуры(Результат.ТаблицаТоваров, "ПризнакОСУ", ИмяРеквизита);
      <span>// Если признак указан в доп.свойстве "ЭтоТоварОСУ" справочника "Номенклатура"
      <span>// ИмяДопСвойства = "ЭтоТоварОСУ";
      <span>// ОСУ_ЗаполнитьКолонку_ИзДопСвойстваНоменклатуры(Результат.ТаблицаТоваров, "ПризнакОСУ", ИмяДопСвойства);</span></span></span></span></span></span>
      

      Если нужны пересчеты, то заполняем колонки «Числитель» и/или «Знаменатель». Необходимо для расчета «хвоста» кода ОСУ (часть после символов «37»). Расчет такой: КодОСУ = GTIN + «37» +Строка(Количество * Числитель / Знаменатель).

      Примеры вариантов заполнения колонок «Числитель» и «Знаменатель»
      <span>// Если коэффициент указан в доп.свойстве "Коэффициент_ОСУ" справочника "Номенклатура". Может пригодиться в Бухгалтерии Предприятия 2.0/3.0
      <span>// ИмяДопСвойства = "Коэффициент_ОСУ";
      <span>// ОСУ_ЗаполнитьКолонку_ИзДопСвойстваНоменклатуры(Результат.ТаблицаТоваров, "Знаменатель", ИмяДопСвойства);
      <span>// Если коэффициент указан в реквизите "Коэффициент" справочника "ЕдиницыИзмерения" / "УпаковкиЕдиницИзмерения". УТ, УПП, ERP, КА, УНФ.</span></span>
      </span><span>// ИмяРеквизита = "Коэффициент";
      <span>// ОСУ_ЗаполнитьКолонку_ИзРеквизитаУпаковки(Результат.ТаблицаТоваров, "Числитель", "Коэффициент");</span></span>
      </span>
      

      Алгоритм заполнения СвВыбытияМарк схож с алгоритмом заполнения инфополей в сценарии «ДополнительныеСведения».

      Пример заполнения СвВыбытияМарк
      <span>// Если у справочника "Контрагенты" добавлено доп.свойство "КодВыводаИзОборота" (число/строка)
      <span>// Результат.КодВыводаИзОборота = ЗначениеДопСвойстваПоИмени(ДокументРеализации.Контрагент, "КодВыводаИзОборота");</span></span>
      

      Возможна также более тонкая настройка:

      Обход таблицы

      <span>// Для Каждого Стр Из Результат.ТаблицаТоваров Цикл
      <span>//  Стр.ПризнакОСУ = (Стр.Номенклатура.Родитель.Наименование = "Молочная продукция ОСУ");
      <span>//  Стр.GTIN = "123";
      <span>//  Стр.Количество = Стр.Упаковка.Коэффициент;
      <span>//  Стр.Знаменатель = 2;
      <span>// КонецЦикла;</span></span></span></span></span></span>
      
  5. Сохраните настройки.

Чтобы выгрузить настройки в файл, нажмите . Файл сохранится с расширением *.json.


diadoc

Подарки при покупке модуля 1С

Для действующих и новых клиентов Диадока

Реклама 16+. АО «ПФ «СКБ Контур».
База знаний