|
Как получить сообщения пользователю в тонком клиенте? | ☑ | ||
---|---|---|---|---|
0
mikecool
11.08.11
✎
16:56
|
которые были сообщены на стороне сервера?
|
|||
1
mikecool
11.08.11
✎
17:01
|
так понимаю - надо пользоваться Сообщить?
|
|||
2
Diversus
11.08.11
✎
17:01
|
Никак. Сообщить на стороне сервера не работает...
|
|||
3
aleks-id
11.08.11
✎
17:01
|
СообщениеПользователю
|
|||
4
mikecool
11.08.11
✎
17:02
|
(2) о как
а как быть с Сообщить (Message) Синтаксис: Сообщить(<ТекстСообщения>, <Статус>) Параметры: <ТекстСообщения> (обязательный) Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. |
|||
5
Stepa86
11.08.11
✎
17:02
|
Глобальный контекст (Global context)
ПолучитьСообщенияПользователю (GetUserMessages) Синтаксис: ПолучитьСообщенияПользователю(<УдалятьПолученные>) Параметры: <УдалятьПолученные> (необязательный) Тип: Булево. Признак необходимости удаления полученных сообщений из списка. Истина - удалять. Значение по умолчанию: Ложь Возвращаемое значение: Тип: ФиксированныйМассив. Описание: Получает массив объектов СообщениеПользователю, которые еще не были выведен пользователю. Такое может происходить при работе в регламентных заданиях, на стороне сервера или в Web-сервисах. Доступность: Сервер, толстый клиент, внешнее соединение. См. также: СообщениеПользователю Глобальный контекст, метод Сообщить |
|||
6
mikecool
11.08.11
✎
17:02
|
(3) пользуюсь, но в тонком клиенте не могу ПолучитьСообщенияПользователю()
|
|||
7
mikecool
11.08.11
✎
17:02
|
(5) ну почитай доступность, вротмненоги ((
|
|||
8
mikecool
11.08.11
✎
17:03
|
+7 я попробовал, получил в ответ - Нет такого метода
|
|||
9
Diversus
11.08.11
✎
17:04
|
Опапа... А я не знал :)
|
|||
10
aleks-id
11.08.11
✎
17:05
|
(6) для зачем тебе его получать? оно без получения выстрелит.
|
|||
11
mikecool
11.08.11
✎
17:06
|
(10) а я хз )) щас ошибку сгенерю и посмотрю
|
|||
12
aleks-id
11.08.11
✎
17:07
|
(11) тока стреляй туда куда надо :)
|
|||
13
mikecool
11.08.11
✎
17:07
|
(10) имеешь ввиду - что тонкий клиент отобразит сообщениепользователю , которое сообщено на стороне сервера автоматиськи?
|
|||
14
Aprobator
11.08.11
✎
17:09
|
нефига не понял, а что мешает сообщить сразу на клиенте, а не откда то сообщение еще доставать? Тупо #Если ТонкийКлиент ну и т.д..
|
|||
15
mikecool
11.08.11
✎
17:09
|
какой то странный эффект
Глобальная команда, добавлена в интерфейс в раздел Важное При выполнении команды исчезает рабочий стол(( |
|||
16
fisher
11.08.11
✎
17:09
|
По идее, ПолучитьСообщенияПользователю() только на стороне сервера и нужно. А на стороне клиента они должны отображаться при первой же возможности.
|
|||
17
mikecool
11.08.11
✎
17:09
|
(14) потому что данные об ошибках находятся на стороне сервера и гонять их на клиента пока не вижу смысла
|
|||
18
mikecool
11.08.11
✎
17:10
|
(16) как раз наеборот, имхо
|
|||
19
mikecool
11.08.11
✎
17:11
|
+15 вернее - исчезает окно открытой на раб. столе обработки
|
|||
20
aleks-id
11.08.11
✎
17:12
|
(13) отобразит. только надо правильно указать в каком месте отображать его!
|
|||
21
Stepa86
11.08.11
✎
17:12
|
(7) и что тебе мешает получить фикс. массив в серверном методе и отдать на клиент только нужно???
|
|||
22
mikecool
11.08.11
✎
17:13
|
(21) разве что так...
(20) а подробнее? |
|||
23
aleks-id
11.08.11
✎
17:15
|
(22) в сп пример глянь
|
|||
24
fisher
11.08.11
✎
17:17
|
(18) В смысле, наоборот?
Я надеюсь, мы об объекте СообщениеПользователю говорим? Потому что обычное Сообщить() просто игнорируется на сервере. А СообщениеПользователю.Сообщить() ставит сообщение в очередь и сообщение будет отображено сразу после передачи управления на клиент. ПолучитьСообщенияПользователю() позволяет посмотреть эту очередь на сервере. А как только управление получит клиент, сообщения будут отображены и очередь очиститься. |
|||
25
mikecool
11.08.11
✎
17:17
|
(23) этот?
Пример: Процедура ДействиеСОбъектом(ОбъектДанных) ... Сообщение = Новый СообщениеПользователю(); Текст = "ru = ""В строке 11 табличной части ""Номенклатура"" не хватает ";" + " en = ""In line 11 of tabular section ""Nomenclature"" is missing "; Сообщение.Текст = НСтр(Текст)+НедостающееКоличество+" "+ЕдиницаИзмеренияНоменклатуры; Сообщение.Поле = "Номенклатура[10].Количество"; Сообщение.УстановитьДанные(ОбъектДанных); Сообщение.Сообщить(); КонецПроцедуры; |
|||
26
mikecool
11.08.11
✎
17:18
|
(24) попробую проверить, спс за наводку
|
|||
27
aleks-id
11.08.11
✎
17:18
|
короче на серверную процедуру
Процедура СообщитьПользователю( Знач ТекстСообщенияПользователю, Знач КлючДанных = Неопределено, Знач Поле = "", Знач ПутьКДанным = "", Отказ = Ложь) Экспорт Сообщение = Новый СообщениеПользователю; Сообщение.Текст = ТекстСообщенияПользователю; Сообщение.Поле = Поле; ЭтоОбъект = Ложь; #Если НЕ (ТонкийКлиент ИЛИ ВебКлиент) Тогда Если КлючДанных <> Неопределено И XMLТипЗнч(КлючДанных) <> Неопределено Тогда ТипЗначенияСтрокой = XMLТипЗнч(КлючДанных).ИмяТипа; ЭтоОбъект = Найти(ТипЗначенияСтрокой, "Object.") > 0; КонецЕсли; #КонецЕсли Если ЭтоОбъект Тогда Сообщение.УстановитьДанные(КлючДанных); Иначе Сообщение.КлючДанных = КлючДанных; КонецЕсли; Если НЕ ПустаяСтрока(ПутьКДанным) Тогда Сообщение.ПутьКДанным = ПутьКДанным; КонецЕсли; Сообщение.Сообщить(); Отказ = Истина; КонецПроцедуры пример вызова: СообщитьПользователю(ТекстСообщения,,,,); |
|||
28
mikecool
11.08.11
✎
17:23
|
(27) спс, вспомнил, что в типовой где то есть подобное )))
буду искать |
|||
29
fisher
11.08.11
✎
17:24
|
(27) Тогда уж лучше обзови СообщитьПользователюОбОшибке()
|
|||
30
aleks-id
11.08.11
✎
17:24
|
(28) ОбщегоНазначенияКлиентСервер ;)
|
|||
31
fisher
11.08.11
✎
17:26
|
Хотя, да... Если просто сообщить, тогда просто Отказ не передается...
|
|||
32
mikecool
11.08.11
✎
17:27
|
(30) спс
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |