1С 8.3 Проверка реквизита на заполнение (программно) - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Проверка реквизита на заполнение (программно)

Данные > Примеры кода 1С > 1С 8.3 Форма, элементы
Проверка на заполнение реквизитов формы реализовано на уровне платформы различными свойствами: АвтоОтметкаНезаполненного (подчеркивание не заполненного реквизита), в свойствах формы признак ПроверятьЗаполнениеАвтоматически, в свойствах реквизитов Проверка заполнения (выдавать ошибку). Однако часто, по разным причинам, необходимо выполнять программную проверку на заполнение элементов формы (реквизитов).

Проверка реквизита на заполнение на форме (&НаКлиенте) в 1С 8.3:
&НаКлиенте
Процедура ПримерыПроверкиЗаполнения(Команда)

   Если НЕ ЗначениеЗаполнено(ВыборБанка) Тогда
       Сообщить("Не выбран Банк для загрузки!");
       Возврат;
   КонецЕсли;
  // Это для объектов. Для элементов форм см.ниже

КонецПроцедуры
Проверка реквизитов табличной части на заполнение на форме (&НаКлиенте) в 1С 8.3:
&НаКлиенте
Процедура Сформировать2(Команда)

    Для Каждого
СтрокаТЧ из ТабЧасть цикл
        Если Не
ЗначениеЗаполнено(СтрокаТЧ.Банк) Тогда

           
//Отказ=Истина; - если например процедура ПриЗаписи
           
сообщить("Не заполнен Банк в строке "+ СтрокаТЧ. номерстроки);

        КонецЕсли;
    КонецЦикла;

КонецПроцедуры
Проверка заполнения в табличной части при вводе строки в 1С 8.3:
Процедура ТабличнаяЧасть1ПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)

   //ЗначениеЗаполнено(Элементыформы.ТабличнаяЧасть1.ТекущаяСтрока.Валюта) - не правильно
   //будет ошибка "Проверка мутабельных значений на заполненность не поддерживается"

   // Заполнение поля Валюта значением по умолчанию.
   Если НоваяСтрока И Не Копирование Тогда
       Если Элементыформы.ТабличнаяЧасть1.ТекущаяСтрока.Валюта = Справочники.Валюты.ПустаяСсылка() Тогда
          Элементыформы.ТабличнаяЧасть1.ТекущаяСтрока.Валюта = ЭтоОсновнаяВалюта;
       КонецЕсли;
   КонецЕсли;

КонецПроцедуры


Проверка заполнения на форме до выполнения основных процедур в 1С 8.3:
&НаКлиенте
Процедура Сформировать(Команда) // До создания документов и вызова процедур

   // Можно использовать для проверки элементов форм (реквизитов)
   // В свойствах реквизита должна быть установлена Проверка заполнения = Выдавать ошибку

  Если Не ПроверитьЗаполнение() Тогда // Вызов проверки
       Возврат;
   Иначе
       // Заполнен
       // Продолжение выполнения кода...
   КонецЕсли;

КонецПроцедуры
1
комментарий
Алексей
15 окт 2023
Не работает это на клиенте в текущем релизе!
Нужно реквизит формы с клиента на сервер передавать чтобы проверить заполненность!
____________________
Copyright©, «Программист 1С в г.Минске», 28.04.2020
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому