Проверка заполнения обязательных реквизитов шапки (8.1)

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

Процедура проверяет все реквизиты шапки и табличных частей формы, для которых стоит пометка «АвтоОтметкаНезаполненного» на факт заполнения. Результат выводит в дерево значений.
Процедуру добавить в любой модуль (если поддерживается передача параметра типа «Форма»), в параметрах передать контекст формы и, при необходимости, отключить вывод дерева предупреждений.

Возвращает Истина, если проверка прошла успешно и Ложь, если есть ошибки.

 

Функция ПроверкаНезаполненного(ФормаОбъекта,Показать=Истина)Экспорт

    ЕстьОшибки = Ложь;
    ЭлементыДерево = Новый ДеревоЗначений;
    ЭлементыДерево.Колонки.Добавить(«Параметр»);
    Для каждого
Элемент из ФормаОбъекта.ЭлементыФормы Цикл
        Если
ТипЗнч(Элемент)= Тип(«ТабличноеПоле») Тогда
            Для
к=0 по Элемент.Значение.Количество()-1 Цикл
                ОформлениеСтроки = Элемент.ОформлениеСтроки(Элемент.Значение[к]);
                Для каждого
Рекв из ОформлениеСтроки.Ячейки Цикл
                    Если
Рекв.ОтметкаНезаполненного Тогда
                        ЕстьОшибки = Истина;
                        Если
Показать Тогда
                            стр = ЭлементыДерево.Строки.Найти(Элемент.Имя);
                            Если
стр = Неопределено Тогда
                                стр = ЭлементыДерево.Строки.Добавить();
                                стр.Параметр = Элемент.Имя;
                            КонецЕсли;
                            стр1 = стр.Строки.Найти(Рекв.Имя);
                            Если
стр1 = Неопределено Тогда
                                стр1 = стр.Строки.Добавить();
                                стр1.Параметр = Рекв.Имя;
                            КонецЕсли;
                            стр2 = стр1.Строки.Добавить();
                            стр2.Параметр = «Строка «+(к+1);
                        Иначе
                            Возврат
ЕстьОшибки;
                        КонецЕсли;
                    КонецЕсли;
                КонецЦикла;
            КонецЦикла;
        ИначеЕсли
ТипЗнч(Элемент)=Тип(«ПолеВвода») и Элемент.ОтметкаНезаполненного Тогда
            ЕстьОшибки = Истина;
            Если
Показать Тогда
                стр = ЭлементыДерево.Строки.Найти(«Шапка»);
                Если
стр = Неопределено Тогда
                        стр = ЭлементыДерево.Строки.Добавить();
                        стр.Параметр = «Шапка»;
                КонецЕсли;
                стр1 = стр.Строки.Добавить();
                стр1.Параметр = Элемент.Имя;
        Иначе
            Возврат
ЕстьОшибки;
        КонецЕсли;
    КонецЦикла;

    Если ЕстьОшибки и Показать тогда
        ЭлементыДерево.ВыбратьСтроку(«Параметры не указаны»);
    КонецЕсли;

    Возврат ЕстьОшибки;

КонецФункции

1 Comment

  1. Gendalf_beliy

    Под платформу 8.2 данная разработка работать будет?

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *