Проверка заполненности полей объекта и возврат статуса + незаполненных полей

Проверяет поля объекта через ЗначениеЗаполнено(), возвращает структуру с полями: Результат - Булево - = Истина, когда заполнены все поля, = Ложь когда есть не заполненные поля. НеЗаполненныеПоля - Строка - не заполненные поля через запятую

#Область ПроверкаЗаполненностиПолей
Функция ПроверкаЗаполненностиРеквизитовОбъекта(ОбъектПроверки, ПоляПроверкиШапки = "Дата, Номер", ПоляПроверкиТЧ = "Номенклатура, Количество", ИмяТЧ = "Товары") Экспорт
    НеЗаполненныеПоля = "";
    Результат         = Ложь;
    
    РезультатПроверкиШапки = ПоляЗаполнены(ОбъектПроверки, ПоляПроверкиШапки);
    РезультатПроверкиТЧ    = ПоляЗаполнены(ОбъектПроверки[ИмяТЧ], ПоляПроверкиТЧ);
    
    Результат = ?(РезультатПроверкиШапки = Ложь Или РезультатПроверкиТЧ = Ложь, Ложь, Истина);
    
    Возврат Новый Структура("Результат, НеЗаполненныеПоля", Результат, НеЗаполненныеПоля);
КонецФункции

Функция ПоляЗаполнены(ОбъектПроверки, ПоляПроверки, НеЗаполненныеПоля = "") Экспорт
    
    Результат = Истина;
    
    ПоляПроверкиМассив = СтрРазделить(ПоляПроверки, ",", Ложь);
    Для Каждого Поле Из ПоляПроверкиМассив Цикл
        Поле         = СокрЛП(Поле);
        ЗначениеПоля = ОбъектПроверки[Поле];
        
        Если ЗначениеЗаполнено(ЗначениеПоля) Тогда
            Продолжить;
        КонецЕсли;
        
        Результат = Ложь;
        НеЗаполненныеПоля = ?(НеЗаполненныеПоля = "", "", ", ") + Поле;
    КонецЦикла;

    Возврат Результат;
КонецФункции
#КонецОбласти
0

См. также

ПроверитьНезаполненныеОбязательныеРеквизиты (БСП)

ПолеКодВозврата (БСП)

КонтрольЗаполненияПолейЕстественногоКлючаДляНеразделенныхОбъектов (БСП)

Проверка поля на существование

ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения (БСП)

Проверка заполнения на клиенте

ПоляВыборкиОчередиЗаданий (БСП)

Модератору