Проверяет поля объекта через ЗначениеЗаполнено(), возвращает структуру с полями: Результат - Булево - = Истина, когда заполнены все поля, = Ложь когда есть не заполненные поля. НеЗаполненныеПоля - Строка - не заполненные поля через запятую
#Область ПроверкаЗаполненностиПолей
Функция ПроверкаЗаполненностиРеквизитовОбъекта(ОбъектПроверки, ПоляПроверкиШапки = "Дата, Номер", ПоляПроверкиТЧ = "Номенклатура, Количество", ИмяТЧ = "Товары") Экспорт
НеЗаполненныеПоля = "";
Результат = Ложь;
РезультатПроверкиШапки = ПоляЗаполнены(ОбъектПроверки, ПоляПроверкиШапки);
РезультатПроверкиТЧ = ПоляЗаполнены(ОбъектПроверки[ИмяТЧ], ПоляПроверкиТЧ);
Результат = ?(РезультатПроверкиШапки = Ложь Или РезультатПроверкиТЧ = Ложь, Ложь, Истина);
Возврат Новый Структура("Результат, НеЗаполненныеПоля", Результат, НеЗаполненныеПоля);
КонецФункции
Функция ПоляЗаполнены(ОбъектПроверки, ПоляПроверки, НеЗаполненныеПоля = "") Экспорт
Результат = Истина;
ПоляПроверкиМассив = СтрРазделить(ПоляПроверки, ",", Ложь);
Для Каждого Поле Из ПоляПроверкиМассив Цикл
Поле = СокрЛП(Поле);
ЗначениеПоля = ОбъектПроверки[Поле];
Если ЗначениеЗаполнено(ЗначениеПоля) Тогда
Продолжить;
КонецЕсли;
Результат = Ложь;
НеЗаполненныеПоля = ?(НеЗаполненныеПоля = "", "", ", ") + Поле;
КонецЦикла;
Возврат Результат;
КонецФункции
#КонецОбласти
ПроверитьНезаполненныеОбязательныеРеквизиты (БСП)
КонтрольЗаполненияПолейЕстественногоКлючаДляНеразделенныхОбъектов (БСП)
Проверка поля на существование
ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения (БСП)