Выдать Предупреждение после проведения документа
Проводиться документ, на сервере производится проверка правильности проводки, в случае неправильного проведения документ нужно провести, но выдать пользователю Предупреждение, окно по центру экрана. Метод Сообщить() малозаметный.
Попытался расширением добавить в событии формы ПередЗаписью - но этот код не отрабатывает. ВызватьИсключение() пишет в центре, что документ не проводиться, что неправда.
Как выдать Предупреждение после проведения документа?
Попытался расширением добавить в событии формы ПередЗаписью - но этот код не отрабатывает. ВызватьИсключение() пишет в центре, что документ не проводиться, что неправда.
Как выдать Предупреждение после проведения документа?
По теме из базы знаний
- Особенности работы формы документа
- Автоматизация производства на 1С: планирование производства в «Управление производственным предприятием»
- Многопоточное восстановление последовательностей
- Разработка и сценарное тестирование с Vanessa-ADD. Собственные шаги и библиотеки. Экспортные сценарии
- Задачи по доработке типовых решений. ЗУП 3.1. Доработка выплаты аванса фиксированной суммой, проверка на отработанное время. Вывод предупреждения как в ЗУП 2.5
Найденные решения
В модуле формы (СообщениеОбОшибке - строковый реквизит формы):
В модуле документа:
P.S.
Постарайтесь все проверки делать до проведения. Негоже это в транзакции делать.
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
Если ЗначениеЗаполнено(ЭтаФорма.СообщениеОбОшибке) Тогда
пОписаниеОповещения = Новый ОписаниеОповещения("обработатьОшибкуПроведения", ЭтаФорма);
ПоказатьПредупреждение(пОписаниеОповещения, ЭтаФорма.СообщениеОбОшибке, 0, нСтр("ru='При проведнии произошла фигня, не мешающая самому проведению'", "ru") )
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
Если ТекущийОбъект.ДополнительныеСвойства.Свойство("Сообщение") Тогда
ЭтаФорма.СообщениеОбОшибке = ТекущийОбъект.ДополнительныеСвойства.Сообщение;
ТекущийОбъект.ДополнительныеСвойства.Удалить("Сообщение");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура обработатьОшибкуПроведения(ДопПараметры) Экспорт
СообщениеОбОшибке = "";
КонецПроцедуры
ПоказатьВ модуле документа:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
ЭтотОбъект.ДополнительныеСвойства.Вставить("Сообщение", "Привет");
КонецПроцедуры
P.S.
Постарайтесь все проверки делать до проведения. Негоже это в транзакции делать.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
В модуле формы (СообщениеОбОшибке - строковый реквизит формы):
В модуле документа:
P.S.
Постарайтесь все проверки делать до проведения. Негоже это в транзакции делать.
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
Если ЗначениеЗаполнено(ЭтаФорма.СообщениеОбОшибке) Тогда
пОписаниеОповещения = Новый ОписаниеОповещения("обработатьОшибкуПроведения", ЭтаФорма);
ПоказатьПредупреждение(пОписаниеОповещения, ЭтаФорма.СообщениеОбОшибке, 0, нСтр("ru='При проведнии произошла фигня, не мешающая самому проведению'", "ru") )
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
Если ТекущийОбъект.ДополнительныеСвойства.Свойство("Сообщение") Тогда
ЭтаФорма.СообщениеОбОшибке = ТекущийОбъект.ДополнительныеСвойства.Сообщение;
ТекущийОбъект.ДополнительныеСвойства.Удалить("Сообщение");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура обработатьОшибкуПроведения(ДопПараметры) Экспорт
СообщениеОбОшибке = "";
КонецПроцедуры
ПоказатьВ модуле документа:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
ЭтотОбъект.ДополнительныеСвойства.Вставить("Сообщение", "Привет");
КонецПроцедуры
P.S.
Постарайтесь все проверки делать до проведения. Негоже это в транзакции делать.
Да. забыл написать, что если напрягает работа с доп. свойствами, то можете просто на сервере вместо Сообщить, создать
СообщениеПользователю и перехваить их на форме в событии "ПослеЗаписиНаСервере":
рез = ПолучитьСообщенияПользователю(Истина);
По мне, так строк кода столько же, но 1-ом варианте не надо плодить лишний объект СообщениеПользователю.
Судя по тому, что он умеет - это всяко больше (на какие-то миллидоли, ага) напрягает систему.
СообщениеПользователю и перехваить их на форме в событии "ПослеЗаписиНаСервере":
рез = ПолучитьСообщенияПользователю(Истина);
По мне, так строк кода столько же, но 1-ом варианте не надо плодить лишний объект СообщениеПользователю.
Судя по тому, что он умеет - это всяко больше (на какие-то миллидоли, ага) напрягает систему.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот