ПланОбменаОбъект.<Имя плана обмена>.ПроверитьЗаполнение

Методы · CheckFilling

Проверяет заполнение реквизитов. Для реквизитов, у которых при конфигурировании свойство "Проверка заполнения" установлено в значение "Показывать ошибку" и реквизит не заполнен, будет сформировано сообщение об ошибке.

Синтаксис

ПроверитьЗаполнение()
Полное описание, параметры и ограничения

ПланОбменаОбъект.<Имя плана обмена>.ПроверитьЗаполнение (ExchangePlanObject.<Exchange plan name>.CheckFilling)

ПланОбменаОбъект.<Имя плана обмена> (ExchangePlanObject.<Exchange plan name>)

ПроверитьЗаполнение (CheckFilling)

Доступен, начиная с версии 8.2.

Синтаксис:
ПроверитьЗаполнение()
Возвращаемое значение:
Тип: Булево.
Истина - ошибок не обнаружено, Ложь - в противном случае.
Описание:

Проверяет заполнение реквизитов. Для реквизитов, у которых при конфигурировании свойство "Проверка заполнения" установлено в значение "Показывать ошибку" и реквизит не заполнен, будет сформировано сообщение об ошибке.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

Примечание:
Выполнение метода приводит к возникновению события ОбработкаПроверкиЗаполнения.
См. также:
СправочникОбъект.<Имя справочника>, событие ОбработкаПроверкиЗаполнения

Использование в версии:

Доступен, начиная с версии 8.2.

Методическая информация

Практические примеры

Проверить обязательный реквизит учебного узла

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

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

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.

  2. Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.

  3. Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.

  4. Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.

  5. Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.

  6. В отдельной пустой конфигурации Учебная85 создайте Планы обмена → УчебныйОбмен: длина кода 9, тип Строка, наименование длиной 100. Распределённая информационная база выключена; состав плана пустой.

  7. Добавьте реквизит АдресУчебногоУзла: Строка длиной 100, Проверка заполнения = Показывать ошибку. Модуль объекта и подписки должны быть пустыми; не добавляйте отправку сообщений или внешние действия.

  8. Добавьте макет УчебнаяПамятка типа Текстовый документ, одна строка: Этот узел используется только для учебных примеров. История данных для плана не включена. Обновите конфигурацию базы данных.

  9. Каждый фрагмент запускайте отдельно на сервере в ВыполнитьПример() Экспорт общего модуля УчебныеЗадачи. УчебныйОбмен не является существующим рабочим обменом КА2 или УТ.

  10. Узел каждый раз новый и периферийный. Существующие узлы и текущий узел базы не меняются. Запись, блокировка и удаление далее выполняются только над своим новым UUID в собственной отменяемой транзакции.

Если Метаданные.ПланыОбмена.Найти("УчебныйОбмен") = Неопределено Тогда
    ВызватьИсключение "Сначала создайте собственный учебный план обмена";
КонецЕсли;
Узел = ПланыОбмена.УчебныйОбмен.СоздатьУзел();
Если Узел.ЭтотУзел Тогда
    ВызватьИсключение "Нельзя изменять текущий узел информационной базы";
КонецЕсли;
Узел.Код = "У00000001";
Узел.Наименование = "Узел проверки заполнения";
Узел.АдресУчебногоУзла = "";
Сообщить(Не Узел.ПроверитьЗаполнение());
Узел.АдресУчебногоУзла = "example.invalid";
Сообщить(Узел.ПроверитьЗаполнение());
Сообщить(Узел.ЭтоНовый());
Сообщить(Узел.Ссылка.Пустая());

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

  1. Код и имя заданы, но собственный обязательный реквизит намеренно пуст.

  2. Первый вызов ПроверитьЗаполнение возвращает Ложь и может показать сообщение об обязательном поле.

  3. Второй вызов выполняется после задания собственного адреса-строки. Это проверка заполненности, не DNS или сетевого соединения.

  4. Оба вызова не записывают объект. Проверяем новый объект и пустую ссылку.

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

  1. Четыре сравнения Истина; сообщение первого отказа ожидаемо.

  2. Адрес example.invalid заполнен, но он не является действующим сервером обмена.

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

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

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

  1. В рабочей конфигурации проверка может вызывать бизнес-обработчики; не переносите пример без изучения модуля.

  2. Истина не является подтверждением соединения с адресом.

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

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

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

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

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