Проверить заполнение артикулов в наборе цен

Учебные задачи

Дополнительная проверка заполнения не очищает список системных проверок.

Где и как запускать

Модуль объекта или набора записей, указанный в подготовке. Обработчик вызывается платформой; не вызывайте его как обычную команду формы.

Подготовка

  1. В отдельной учебной конфигурации создайте независимый непериодический регистр сведений УчебныеЦены с измерением Артикул (Строка 20) и ресурсом Цена (Число 15.2).

  2. Откройте Регистры сведений → УчебныеЦены → Модуль набора записей. Вставьте обработчик и обновите только учебную базу.

  3. Проверяйте записи только в этом учебном регистре. Запись набора с замещением заменяет записи по его отбору, а не просто дописывает одну строку.

  4. Для отдельного контроля вызовите ПроверитьЗаполнение() у своего набора до его записи.

Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
    Для Каждого Запись Из ЭтотОбъект Цикл
        Если Не ЗначениеЗаполнено(Запись.Артикул) Тогда
            Отказ = Истина;
            Сообщить("В наборе цен есть строка без артикула");
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

Разбор по шагам

  1. Проверяйте заполнение всех строк набора.

  2. Пустой артикул даёт отказ проверки.

  3. Список ПроверяемыеРеквизиты остаётся для обычной системной обработки.

Как проверить результат

  1. Строка с пустым артикулом даёт отказ проверки.

  2. Две строки с артикулами УЧ-1 и УЧ-2 проходят эту проверку.

Ожидаемый результат

Проверка заполнения обнаруживает строку без ключа.

На что обратить внимание

  1. Это не замена обязательной проверки перед любой записью.

  2. Для одинаковых измерений учитывайте ограничения уникальности регистра.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.