Контроль ошибок через ДобавитьОшибкуПользователю и СообщитьОшибкиПользователю в 1С:Предприятие 8.2

Материал из Циклопедии
Перейти к навигации Перейти к поиску

Контроль ошибок в 1С:Предприятие может осуществляться через функции ДобавитьОшибкуПользователю и СообщитьОшибкиПользователю, которые содержатся в общем модуле ОбщегоНазначенияКлиентСервер.

Ниже показан простой пример проверки заполнения (который, в действительности, правильнее производить, установив у реквизита признак «Проверка заполнения») — в реальности проверки могут быть более сложными.

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
	Ошибки = Неопределено;
	Если НЕ ЗначениеЗаполнено(Склад) Тогда
		ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю(Ошибки, "Объект.Склад", "Не заполнен Склад.");
		Отказ = Истина;
	КонецЕсли;
	
	Для Каждого стр из Товары Цикл
		Если НЕ ЗначениеЗаполнено(стр.Товар) Тогда
			ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю(Ошибки, "Объект.Товары[%1].Товар", "Не заполнен товар.",, стр.НомерСтроки-1);
			Отказ = Истина;
		КонецЕсли;
		Если НЕ ЗначениеЗаполнено(стр.Количество) Тогда
			ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю(Ошибки, "Объект.Товары[%1].Количество", "Не заполнено количество.",, стр.НомерСтроки-1);
			Отказ = Истина;
		КонецЕсли;
	КонецЦикла;
	
	ОбщегоНазначенияКлиентСервер.СообщитьОшибкиПользователю(Ошибки);
КонецПроцедуры

Программа выдаст сообщение с указанием на ошибку такого вида:

ОшибкаЗаполнения1С.png

Чтобы флажок был спозиционирован на нужной строке табличной части документа, надо передать параметры вида:

ОшибкаЗаполнения1С 2.png