|
Платформа 8.3 Сообщение пользователю тонкий клиент | ☑ | ||
---|---|---|---|---|
0
yliya_1C
22.05.17
✎
13:40
|
Добрый день!
Прошу помощи. Сделала подписку на событие "Обработка проведения" нескольких документов разных типов. Документы с замочком. Обработчик - общий модуль. Нужно сообщить пользователю в тонком клиенте какие у него проблемы с документом. Как отправить сообщение на клиент из общего модуля? |
|||
1
Курцвейл
22.05.17
✎
13:42
|
Возьми из БСП
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ОписаниеОшибки()) |
|||
2
Курцвейл
22.05.17
✎
13:43
|
// Формирует и выводит сообщение, которое может быть связано с элементом
// управления формы. // // Параметры // ТекстСообщенияПользователю - Строка - текст сообщения. // КлючДанных - ЛюбаяСсылка - на объект информационной базы. // Ссылка на объект информационной базы, к которому это сообщение относится, // или ключ записи. // Поле - Строка - наименование реквизита формы. // ПутьКДанным - Строка - путь к данным (путь к реквизиту формы). // Отказ - Булево - Выходной параметр. // Всегда устанавливается в значение Истина. // // Пример: // // 1. Для вывода сообщения у поля управляемой формы, связанного с реквизитом объекта: // ОбщегоНазначенияКлиентСервер.СообщитьПользователю( // НСтр("ru = 'Сообщение об ошибке.'"), , // "ПолеВРеквизитеФормыОбъект", // "Объект"); // // Альтернативный вариант использования в форме объекта: // ОбщегоНазначенияКлиентСервер.СообщитьПользователю( // НСтр("ru = 'Сообщение об ошибке.'"), , // "Объект.ПолеВРеквизитеФормыОбъект"); // // 2. Для вывода сообщения рядом с полем управляемой формы, связанным с реквизитом формы: // ОбщегоНазначенияКлиентСервер.СообщитьПользователю( // НСтр("ru = 'Сообщение об ошибке.'"), , // "ИмяРеквизитаФормы"); // // 3. Для вывода сообщения связанного с объектом информационной базы. // ОбщегоНазначенияКлиентСервер.СообщитьПользователю( // НСтр("ru = 'Сообщение об ошибке.'"), ОбъектИнформационнойБазы, "Ответственный",,Отказ); // // 4. Для вывода сообщения по ссылке на объект информационной базы. // ОбщегоНазначенияКлиентСервер.СообщитьПользователю( // НСтр("ru = 'Сообщение об ошибке.'"), Ссылка, , , Отказ); // // Случаи некорректного использования: // 1. Передача одновременно параметров КлючДанных и ПутьКДанным. // 2. Передача в параметре КлючДанных значения типа отличного от допустимых. // 3. Установка ссылки без установки поля (и/или пути к данным). // Процедура СообщитьПользователю( Знач ТекстСообщенияПользователю, Знач КлючДанных = Неопределено, Знач Поле = "", Знач ПутьКДанным = "", Отказ = Ложь) Экспорт Сообщение = Новый СообщениеПользователю; Сообщение.Текст = ТекстСообщенияПользователю; Сообщение.Поле = Поле; ЭтоОбъект = Ложь; #Если НЕ ТонкийКлиент И НЕ ВебКлиент Тогда Если КлючДанных <> Неопределено И XMLТипЗнч(КлючДанных) <> Неопределено Тогда ТипЗначенияСтрокой = XMLТипЗнч(КлючДанных).ИмяТипа; ЭтоОбъект = СтрНайти(ТипЗначенияСтрокой, "Object.") > 0; КонецЕсли; #КонецЕсли Если ЭтоОбъект Тогда Сообщение.УстановитьДанные(КлючДанных); Иначе Сообщение.КлючДанных = КлючДанных; КонецЕсли; Если НЕ ПустаяСтрока(ПутьКДанным) Тогда Сообщение.ПутьКДанным = ПутьКДанным; КонецЕсли; Сообщение.Сообщить(); Отказ = Истина; КонецПроцедуры |
|||
3
yliya_1C
22.05.17
✎
13:57
|
Да, работает!
Спасибо огромное за быстрый и полный ответ! |
|||
4
yliya_1C
22.05.17
✎
14:20
|
только почему-то один раз выдает сообщение.
Если документ закрыть и провести заново, то больше не выдается сообщение. Хотя процедура "СообщитьПользователю" отрабатывает. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |