Обработать ОбработкаПроверкиЗаполнения собственной константы

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

Менеджер значения читает и записывает реальную собственную числовую константу. Правило отрицательного лимита относится только к этому учебному объекту.

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

Модуль значения собственной константы УчебныйЛимит. Проверочный блок отдельно в серверной процедуре своей обработки.

Подготовка

  1. В отдельной пустой учебной конфигурации создайте константу УчебныйЛимит типа Число 12.2 с разрешённым отрицательным знаком. Это не константа типовой конфигурации: не создавайте её в рабочей базе.

  2. В модуле значения константы разместите основной обработчик целиком, без клиентских директив. Не путайте модуль значения с модулем менеджера константы или модулем формы.

  3. Обновите только учебную базу. Проверочный блок вставьте в тело серверной процедуры собственной учебной обработки. Он действительно изменяет только собственную константу УчебныйЛимит после явной проверки заполнения.

Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
    Если ЭтотОбъект.Значение < 0 Тогда
        Отказ = Истина;
        Сообщить("Учебный лимит не может быть отрицательным");
    КонецЕсли;
КонецПроцедуры
Серверная процедура: чтение, изменение и запись собственной константы
Лимит = Константы.УчебныйЛимит.СоздатьМенеджерЗначения();
Лимит.Прочитать();
Лимит.Значение = 750;
Если Лимит.ПроверитьЗаполнение() Тогда
    Лимит.Записать();
    Сообщить("Собственная константа: " + Строка(Константы.УчебныйЛимит.Получить()));
КонецЕсли;

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

  1. СоздатьМенеджерЗначения и Прочитать получают собственную константу; значение 750 задаётся до проверки и записи.

  2. ПроверитьЗаполнение и Записать вызывают платформенные обработчики модуля значения, не модуля менеджера.

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

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

  1. С положительным значением сохранена собственная константа 750.

  2. Для проверяющих обработчиков повторите с -1: Отказ отменяет проверку / запись. ПриЗаписи этого правила не содержит и не является сообщением о завершении внешней транзакции.

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

Платформенное событие сработало при явной проверке или записи собственной константы.

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

  1. ЭтотОбъект.Значение — значение менеджера; оно не читается автоматически из базы без Прочитать.

  2. Внутри ПриЗаписи / ПередЗаписью не вызывайте Записать снова: это повторный цикл записи.

  3. Никакие константы типовой конфигурации код не использует. Браузер BSL не исполняет.

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

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

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

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

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