kb-personal/src/content/docs/knowledge-base/Примеры/1. Общие/Документы/Проверка заполнения документа.md
2025-06-16 21:38:11 +05:00

2.3 KiB
Raw Blame History

title, slug
title slug
Проверка заполнения документа 1с-1-общие-документы/проверка-заполнения-документа
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
	
	НепроверяемыеРеквизиты = Новый Массив; // сюда имена реквизитов, которые нужно исключить из проверки
	
	Если Статус = Перечисления.УДК_СтатусыВыполненияЗаданий.ВРаботе Тогда
		НепроверяемыеРеквизиты.Добавить("Аналитик");
	КонецЕсли;
	
	Если Статус = Перечисления.УДК_СтатусыВыполненияЗаданий.Закрыта Тогда
        // в этот массив можно добавить реквизиты, которые нужно проверить
		ПроверяемыеРеквизиты.Добавить("СписокОбъектов.ДатаПомещения"); 
	КонецЕсли;
	
	ОбщегоНазначения.УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты, НепроверяемыеРеквизиты);
	
    // Тут проверяем каждую строку ТЧ и привязваем сообщение об ошибке к конкретной ячейки конкретной строки
	Для Каждого Строка Из СписокОбъектов Цикл
		
		Если Не ЗначениеЗаполнено(Строка.ДатаПомещения) И Строка.СостояниеОбъекта = Перечисления.УДК_СостоянияОбъектов.ПомещенВХранилище Тогда
			
			ОбщегоНазначения.СообщитьПользователю("Заполните дату помещения в ХК",
				,
				ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти("Объект.СписокОбъектов", Строка.НомерСтроки, "ДатаПомещения"),
				,
				Отказ)

		КонецЕсли;
		
	КонецЦикла;
	
КонецПроцедуры