1С 8.3 БСП СообщитьОшибкиПользователю
Данные > 1С 8.3 БСП > Пользователи (Оповещения)
Перейти в раздел примеры кода 1С 8.3:
1С 8.3 БСП СообщитьОшибкиПользователю. Выводит накопленные методом ДобавитьОшибкуПользователю ошибки, при этом использует нужные шаблоны текстов ошибок в зависимости от количества однотипных ошибок.
Примера кода от rayastar
ОбщегоНазначенияКлиентСервер.СообщитьОшибкиПользователю(Ошибки, Отказ)
&НаКлиенте
Функция ПроверитьРеквизитыШапки(ПроверяемыеРеквизиты)
ТекстыОшибок = Новый Соответствие;
ТекстыОшибок.Вставить("Организация", Нстр("ru='Укажите организацию'"));
ТекстыОшибок.Вставить("Дата", Нстр("ru='Укажите дату авансового отчета'"));
ТекстыОшибок.Вставить("ФизЛицо", Нстр("ru='Укажите сотрудника'"));
ТекстыОшибок.Вставить("ДатаНачалаКомандировки", Нстр("ru='Укажите дату начала командировки'"));
ТекстыОшибок.Вставить("ДатаОкончанияКомандировки", Нстр("ru='Укажите дату окончания командировки'"));
Ошибки = Неопределено;
Для Каждого Реквизит Из ПроверяемыеРеквизиты Цикл
ИмяРеквизита = Реквизит;
Если Найти(Реквизит, "Объект.") Тогда
ИмяРеквизита = СтрЗаменить(Реквизит, "Объект.", "");
Если НЕ ЗначениеЗаполнено(Объект[ИмяРеквизита]) Тогда
ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю(
Ошибки,
Реквизит,
ТекстыОшибок[ИмяРеквизита],"");
КонецЕсли;
Иначе
Если НЕ ЗначениеЗаполнено(ЭтотОбъект[ИмяРеквизита]) Тогда
ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю(
Ошибки,
ИмяРеквизита,
ТекстыОшибок[ИмяРеквизита],"");
КонецЕсли;
КонецЕсли;
КонецЦикла;
ОбщегоНазначенияКлиентСервер.СообщитьОшибкиПользователю(Ошибки);
Возврат (Ошибки = Неопределено);
&НаКлиенте
Функция ПроверитьРеквизитыШапки(ПроверяемыеРеквизиты)
ТекстыОшибок = Новый Соответствие;
ТекстыОшибок.Вставить("Организация", Нстр("ru='Укажите организацию'"));
ТекстыОшибок.Вставить("Дата", Нстр("ru='Укажите дату авансового отчета'"));
ТекстыОшибок.Вставить("ФизЛицо", Нстр("ru='Укажите сотрудника'"));
ТекстыОшибок.Вставить("ДатаНачалаКомандировки", Нстр("ru='Укажите дату начала командировки'"));
ТекстыОшибок.Вставить("ДатаОкончанияКомандировки", Нстр("ru='Укажите дату окончания командировки'"));
Ошибки = Неопределено;
Для Каждого Реквизит Из ПроверяемыеРеквизиты Цикл
ИмяРеквизита = Реквизит;
Если Найти(Реквизит, "Объект.") Тогда
ИмяРеквизита = СтрЗаменить(Реквизит, "Объект.", "");
Если НЕ ЗначениеЗаполнено(Объект[ИмяРеквизита]) Тогда
ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю(
Ошибки,
Реквизит,
ТекстыОшибок[ИмяРеквизита],"");
КонецЕсли;
Иначе
Если НЕ ЗначениеЗаполнено(ЭтотОбъект[ИмяРеквизита]) Тогда
ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю(
Ошибки,
ИмяРеквизита,
ТекстыОшибок[ИмяРеквизита],"");
КонецЕсли;
КонецЕсли;
КонецЦикла;
ОбщегоНазначенияКлиентСервер.СообщитьОшибкиПользователю(Ошибки);
Возврат (Ошибки = Неопределено);
КонецФункции;
// Автор библиотеки: ООО "1С-Софт". Все права защищены © 2021
// Типовая конфигурация Библиотека стандартных подсистем (далее - БСП)
// Код БСП распространяется по лицензии Attribution 4.0 International (CC BY 4.0):
// ссылка на лицензию: https://creativecommons.org/licenses/by/4.0/legalcode
// Код БСП распространяется по лицензии Attribution 4.0 International (CC BY 4.0):
// ссылка на лицензию: https://creativecommons.org/licenses/by/4.0/legalcode
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник