Чт. Апр 25th, 2024

Уникальность артикула

Как сделать проверку уникальности артикула при создании номенклатуры?

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

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


Как в 1С 8.2 при создании номенклатуры сделать проверку артикула | Программирование в 1С |


Но тогда есть вероятность, что менеджер галочку в настройках проигнорирует и введет повторяющийся артикул. Так сказать, сработает человеческий фактор. Чтобы его исключить, читайте следующий вариант.

В конфигураторе: Справочники — Номенклатура — Формы — ФормаЭлемента — Модуль.
Далее найти Процедура ПередЗаписью(Отказ), сделать изменения:

Процедура ПередЗаписью ( Отказ )
       СтруктураОбязательныхПолей = Новый Структура;

       СтруктураПоискаДублей = Новый Структура;
       СтруктураПоискаДублей. Вставить( «Код», «=»);

       Для Каждого Реквизит Из ТаблицаРеквизитов Цикл

Изменить на:

Процедура ПередЗаписью ( Отказ )
       СтруктураОбязательныхПолей = Новый Структура;

       СтруктураПоискаДублей = Новый Структура;
       СтруктураПоискаДублей. Вставить( «Код», «=»);

              СтруктураПоискаДублей. Вставить( «Артикул», «=»);

       Для Каждого Реквизит Из ТаблицаРеквизитов Цикл

Таким образом, мы делаем уникальным не только «Код», но и реквизита «Артикул».

Менеджер уже не сможет повторить имеющийся артикул.

Добавить комментарий