Плагин для заполнения кодов ОСУ
Заполнить коды ОСУ в УПД и УКД, а также доп.сведение «СвВыбытияМарк» можно с помощью плагина « Изменение контента УПД ». Подробнее о других возможностях плагина см. в статье Плагин «Изменение контента исходящих документов».
Для использования плагина:
Установите плагин «Изменение контента УПД»
Чтобы установить плагин:
- Запустите модуль Диадок для 1С.
- Нажмите на кнопку «Настройки» и выберите «Расширенные настройки» → «Системные».
- Выберите «Использовать плагины».
- Перезапустить модуль.
- В расширенных настройках выберите «Плагины».
- По умолчанию список плагинов пустой. Нажмите на кнопку «Добавить».
- В библиотеке выделите курсором плагин «Изменение контента УПД» и нажмите «Загрузить ».
- Плагин появится в списке.
Настройте плагин
Для настройки:
- В списке выберите плагин « Изменение контента УПД » и нажмите «Настройки ».
- Нажмите «Добавить», чтобы создать правило.
- Выберите сценарий «ЗаполнениеКодовОСУ»:
- Укажите описание правила и настройте заполнение кода ОСУ:
- Если установлен флажок «Визуальная настройка», для вычисления кода ОСУ заполните дополнительные колонки в этой таблице:
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>
- Если установлен флажок «Визуальная настройка», для вычисления кода ОСУ заполните дополнительные колонки в этой таблице:
- Сохраните настройки.
Чтобы выгрузить настройки в файл, нажмите . Файл сохранится с расширением *.json.