Не выводится сообщение в управляемом приложении #693071


#0 by mashunka
Управляемое приложение. Имеется код, если упрощенно, то такой: В модуле формы &НаКлиенте ОбщиеДействия.СообщениеПользователю - там создается объект "СообщениеПользователю" и, собственно, сообщается. Процедура скопирована из типовых конфигураций, т.е. интереса не представляет. БроньПеренесена - функция в серверном общем модуле, там что-то вроде: Ситуация такая: если Функция БроньПеренесена возвращает истину, то ни одно сообщение из двух не выводится (я специально их в двух местах воткнула для проверки, хотя раньше был только Вызов 2)! Если же Функция БроньПеренесена прерывается до того, как обходит выборку из запроса, и возвращает ЛОЖЬ, то сообщение из модуля формы (вызов 1) выводится! То есть получается, когда выполняются действия по получению и записи какого-то другого документа данного вида, то программ теряет связь с открытой формой... Или что-то в этом роде. Если сообщение заменить на предупреждение, то Предупреждение появляется. Но ситуация требует, чтобы было именно фоновое не напрягающее сообщение. Кто-нибудь сталкивался с тем, что сообщения выводятся в никуда? И как этого избежать?
#1 by Wobland
показать оповещение? всё не читал
#2 by lavryshev
Сообщение выводится на активную форму. Если после вывода сообщения форма закрывается, то пользователь его и не увидит.
#3 by mashunka
в том-то и дело, что форма остается открытой, но сообщение не появляется. А если не делать действий, которые делает вызываемая функция, то появляется нормально. Вот я не могу понять, что такого она там делает, что программа перестает видеть открытую форму?
#4 by mashunka
В принципе, очень прилично выглядит. Спасибо, это выход!
#5 by Sabbath
БроньПеренесена - функция в серверном общем модуле, там что-то вроде: что-то тут не то) &НаСервере в общем модуле?
#6 by lavryshev
Показать оповещение на сервере не работает
#7 by mashunka
нет, конечно, я сейчас написала, чтоб в глаза бросалось, что это серверная процедура
#8 by Sabbath
> если Функция БроньПеренесена возвращает истину судя по коду там всегда истина возвращается
#9 by lavryshev
если модуль и клиентский и серверный, то вполне
#10 by mashunka
я вижу. Я его в форме вызову, ничего страшного!
#11 by Sabbath
клиентский и серверный модуль отрабатывает там, откуда вызвано
#12 by Sabbath
+ а, я не про то)
#13 by Sabbath
+ хотя нет, все по теме
#14 by mashunka
смотрите комментарий в начале функции - там сказано, когда возвращается ЛОЖЬ. Да это неважно сейчас, там на самом деле вообще по-другому, только писать было долго. Смысл в том, что если из функции выйти, не сделав куска про ПолучитьОбъект и Записать, то сообщения выводятся нормально! Если объект получался и записывался - то перестают.
#15 by Sabbath
а модуль точно не клиет и сервер?
#16 by mashunka
, , модуль серверный, в оригинале нету текста &НаСервере. Простите, что ввела вас в заблуждение, хотела наоборот для наглядности показать, что это - на сервере! :)
#17 by Sabbath
перечитал текст, тогда не понял, как предупреждение отрабатывает, если оно не доступно на сервере
#18 by Sabbath
Вообще этот модуль в типовых КлиентСервер обычно
#19 by Sabbath
СообщениеПользователю Описание: Предназначен для хранения параметров сообщения, которые необходимо вывести пользователю. Если сообщение еще не было показано пользователю (такое может быть при работе на стороне сервера, в фоновом задании, внешнем соединении или Web-сервисах), Короче ставь галку клиент и сервер, а записывай доумент отдельно на сервере)
#20 by mashunka
ОбщиеДействия и модуль, в котором расположена функция БроньПересена - это вообще-то два разных модуля... Вы вчитываетесь в ненужные детали. Хотелось подробнее изложить, в результате одни вопросы, а не ответы. Если нет ничего по существу "пропадающих сообщений", то давайте считать тему закрытой - мне первым же ответом уже подсказали удовлетворительный выход из ситуации.
#21 by mashunka
- см
#22 by Sabbath
по существу пропадающих сообщений же есть: "Если сообщение еще не было показано пользователю (такое может быть при работе на стороне сервера"
#23 by Kvestin
Сегодня уже два вопроса про сообщения на стороне сервера.  ;) Как 1С-ка связывает сообщения с формой при выводе их на сервере только ей и известно. Я вызывал сообщения на стороне сервера только в фоновом задании для передачи текущего состояния через ПолучитьСообщенияПользователю. Что мешает в вашем случае обработать все что нужно на сервере и вернуть структуру с результатом. На клиенте обработать эту структуру и сообщить результат обработки?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С