|   |   | 
| 
 | Можно-ли в УФ, вывести сообщение пользователю, во время проведения? | ☑ | ||
|---|---|---|---|---|
| 0
    
        atis30 02.05.14✎ 19:27 | 
        Документ успешно проводится.
 Можно-ли вывести пользователю какое-то сообщение, чтобы оно не пропало, одновременно с закрывшимся документом? если да, то как? | |||
| 1
    
        Wobland 02.05.14✎ 19:29 | 
        неужели взять и сообщить?     | |||
| 2
    
        ДенисЧ 02.05.14✎ 19:32 | 
        (1) Мимо. Следующий.     | |||
| 3
    
        atis30 02.05.14✎ 19:32 | 
        (1) попробуй.     | |||
| 4
    
        Wobland 02.05.14✎ 19:35 | ||||
| 5
    
        atis30 02.05.14✎ 19:41 | 
        (4) Ты проводишь из формы списка?
 Попробуй открыть документ, нажать провести и закрыть. | |||
| 6
    
        nobody 02.05.14✎ 19:53 | 
        (0) СообщениеПользователю     | |||
| 7
    
        ДенисЧ 02.05.14✎ 19:56 | 
        СообщениеПользователю (UserMessage)
 ИдентификаторНазначения (TargetID) Использование: Чтение и запись. Описание: Тип: УникальныйИдентификатор. Позволяет точно указать, к какой форме должно быть "привязано" сообщение. Если сообщение не имеет идентификатора назначения, тогда оно выводится и привязывается к активному окну. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер). | |||
| 8
    
        Chai Nic 02.05.14✎ 19:58 | 
        (6) Оно покажется в форме, из которой был произведен вызов сервера, если "Провести и закрыть" - то окно сообщений закроется вместе с формой. Вообще мегапроблема - отсутствие глобального окна сообщений.. если с клиентскими процедурами еще есть костыль с привязкой сообщений к общей форме, то с серверными - непонятно что делать..     | |||
| 9
    
        su_mai 02.05.14✎ 20:31 | 
        (0) Можно, только имеет смысл в случае не успешного проведения, когда сам факт проведения не выполнен. В этом случае форма документа не закроется и пользователь увидит сообщение. Для вывода сообщения надо использовать метод СообщениеПользователю. При этом сообщения будут выведены только после завершения серверного вызова.     | |||
| 10
    
        GROOVY 02.05.14✎ 20:33 | 
        (9) Можно и при успешном, нужно только сделать родительское окно активным при выводе сообщения.     | |||
| 11
    
        Фокусник 02.05.14✎ 20:35 | 
        (0) при групповом проведении тоже нужно вывести все 1000+ сообщений?     | |||
| 12
    
        su_mai 02.05.14✎ 20:40 | 
        (10) Технически можно, но зачем? Если документ провелся, то лучше выводить не сообщение, а оповещение пользователю.     | |||
| 13
    
        GROOVY 02.05.14✎ 20:51 | 
        (12) В обработке проведения?     | |||
| 14
    
        atis30 02.05.14✎ 20:54 | 
        (10) а как?     | |||
| 15
    
        GROOVY 02.05.14✎ 21:00 | 
        (14) От куда утащил не помню:
 На платформе 1С 8.2, для информирования пользователей, предлагается использовать новый общий объект – СообщениеПользователю. Объект довольно простой, но есть несколько не очевидных особенностей его использования в управляемых формах, которые будут рассмотрены в данной статье. Сразу отметим, что СообщениеПользователю можно использовать как на клиенте, так и на сервере(!). В случае если метод Сообщить() объекта СообщениеПользователю вызывается на сервере, то сообщение будет показано пользователю не сразу, а после того как отработает серверный вызов и управление будет передано обратно на клиент. 1). Использование СообщениеПользователю на клиенте, в форме элемента справочника, документа и других объектов. Для корректного отображения сообщения и его привязки к нужному полю формы, используется нижеследующий код, обратите внимание на инициализацию свойств ПутьКДанным и КлючДанных. &НаКлиенте Процедура СообщитьПользователю(Команда) Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Текст сообщения привязан к полю ИмяПоляФормы"; Сообщение.Поле = "ИмяПоляФормы"; Сообщение.ПутьКДанным = "Объект"; Сообщение.КлючДанных = Объект.Ссылка; Сообщение.Сообщить(); КонецПроцедуры 2). Довольно часто необходимо вывести сообщение в обработке проведения документа, причем не только когда возникла ошибка при проведении, но и в том случае, когда документ успешно проведен. Проблема возникает когда пользователь использует команду “Провести и закрыть”. Сообщение привязывается к окну содержащему форму текущего документа, которое в случае успешного проведения тут же закрывается и пользователь его не видит. Все дело в том что метод Сообщить() объекта СообщениеПользователю выводит сообщение в АКТИВНОЕ окно, документ как правило открывается в дополнительном окне, которое в данном случае и является активным. Таким образом, что бы пользователь смог прочитать сообщение после закрытия формы документа, необходимо перед использованием метода Сообщить() активизировать основное окно управляемого приложения. Один из вариантов – сделать это в событии формы ПередЗаписью(), например так: &НаКлиенте Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) ОкнаКлиентскогоПриложения = ПолучитьОкна(); Для каждого ОкноКлиентскогоПриложения Из ОкнаКлиентскогоПриложения Цикл Если ОкноКлиентскогоПриложения.Основное Тогда ОкноКлиентскогоПриложения.Активизировать(); Прервать; КонецЕсли; КонецЦикла; КонецПроцедуры После этого в обработке проведения можно смело выводить сообщение, теперь оно будет привязано к основному окну, и пользователь сможет прочитать его даже после закрытия формы документа. Процедура ОбработкаПроведения(Отказ, РежимПроведения) // ..... Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Проведен документ " + Ссылка; Сообщение.КлючДанных = Ссылка; Сообщение.Сообщить(); // ..... КонецПроцедуры Предусмотрим случай, когда пользователь воспользовался командой “Провести”, а не “Провести и закрыть”, в этом случае форма документа остается открытой, но не активной, активизируем её: &НаКлиенте Процедура ПослеЗаписи(ПараметрыЗаписи) Если НЕ Окно = АктивноеОкно() Тогда Окно.Активизировать(); КонецЕсли; КонецПроцедуры | |||
| 16
    
        Sneer 23.05.14✎ 17:43 | 
        (15) Я так понимаю, что Активизировать() работает только когда  включен режим вывода форм отдельных окнах, т.к. когда включен вывод форм в закладках, то сообщение все равно прилепляется к окну текущей закладки и, например, при проведении и закрытии документа выведенные сообщения закрываются тоже.
 Интересно, есть какое-нибудь решение кроме открытия специального окна в отдельной закладке для сообщений пользователя и отправки туда сообщений оповещением? | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |