#0
by Майбах
Добрый день! Есть внешняя обработка. Как из модуля объекта внешней обработки вывести сообщение пользователю?
#1
by quest
переписать обработку, так что бы функции возвращали текст, этот текст - вывести пользователю.
#5
by Майбах
не работает. Просто не показывается ничего, но в "Если.." заходит проверял, но сообщения нет.
#8
by Мигрень
Модуль объекта выполняется на сервере. На сервере, Карл. Кому ты хочешь показывать сообщение не сервере?
#11
by Undefined
СообщениеПользователю работает на сервере попробуй обновить платформу. помню в каком то релизе был такой баг, сообщения сервера не доходили до клиента.
#15
by Майбах
У Вас открывается форма, у меня же использование стоит - "ВызовСерверногоМетода", т.е. обработка работает по расписанию (функция БП 3.0) форма не открывается. Вот как тут быть? Т.е. если все ок - сообщаем пользователю, если не ОК - тогда ничего не делаем.
#16
by Майбах
Наверное сложно объясняю, в общем обработка выполняется по расписанию, на кнопку - соообщитьТекст (как у вас) пользователь не должен нажимать.
#17
by Undefined
если обработка работает по расписанию значит она работает под дефолтным пользователем DefUser под которым выполняются регламентные задания, поэтому твой пользователь и не получит никогда сообщение, потому что обработка выполняется не в его сеансе
#18
by 1sanekmaloi1
Как на счет : Глобальный контекст (Global context) ПолучитьСообщенияПользователю (GetUserMessages) Синтаксис: ПолучитьСообщенияПользователю(<УдалятьПолученные>) Параметры: Тип: Булево. Признак необходимости удаления полученных сообщений из списка. Истина - удалять. Значение по умолчанию: Ложь. Возвращаемое значение: Тип: ФиксированныйМассив. Описание: Получает массив объектов СообщениеПользователю, которые еще не были выведены пользователю. Такое может происходить при работе в регламентных заданиях, на стороне сервера или в Web-сервисах.
#19
by Undefined
в таких случаях надо использовать метод ПолучитьСообщенияПользователя или как то так, которое надо выполнить на клиенте
#21
by Майбах
По журналу регистрации фоновое задание выполняется от Пользователя под которым работаю - Администратор. А как использовать ПолучитьСообщенияПользователя ?
#22
by Майбах
К примеру получу я массив объектов, но я же опять не смогу его вывести с помощью - сообщить
#23
by Chameleon1980
"...По журналу регистрации фоновое задание выполняется от Пользователя под которым работаю - Администратор. ..." это как это? я предлагал писать в жр а когда нужно анализировать его под любым юзером. потому и спросил - нужно оперативно чтоли видеть? может тупой костыль, но писать куданить в нужном юзере через обработку ожидания проверять есть запись или нет и показывать юзеру, что там написалось.
#24
by Майбах
Да, ошибочка - пользователь не определен при запуске, т.е. ты был прав про работу фоновых заданий.
#26
by Chameleon1980
Можно завести константу типа какому пользователю выдавать сообщения от регламентов. В обработке ожидания сравнивать с этой константой если <> Возврат иначе выводить накопленные сообщения пользователю может быстро не понятно ответил. спрашивайте я бы так, наверное, сделал
#28
by Chameleon1980
ну по строке что-ли тогда сравнивайте имя пользователя (хотя за такое ругают обычно) а что страшного от добавления константы. Боитесь за обновления? Это жеж новый объект
#29
by Chameleon1980
ну сделать обработку держать ее открытой только для нужного пользователя т.к. ПоключитьОбработчикОжидания все равно бы пришлось где-то прописать
#31
by Garykom
Не надо ничего никуда снимать, штатный механизму "отложенных сообщений" изучи и заюзай. Ну или по топорному пиши в текстовый файлик - лог.
#34
by Garykom
+ Только сначала реши какому именно пользователю хочешь показывать сообщения... Потому что обработке по расписанию типа пофиг
#36
by Chameleon1980
в пустой обработке и она будет ловить сообщения, отправленнные, из регламенты через СообщениеПользователю
#37
by Майбах
Все это конечно хорошо, но мне нужно показывать сообщения текущему пользователю, обработка запустилась, сообщения отложились, и что дальше? Я ведь получается вообще не могу из обработок внешних сообщения показывать
#38
by Chameleon1980
да как это вот попробуй так: и не закрывай обработку: она тебе будет показывать каждые 5 секунд текущее дату и время + если есть накопленные на сервере (в твоем регламенте) сообщения - они тут тоже вылезут
#39
by Chameleon1980
даже (вроде), если у тебя другое приложение открыто (активно) при получении сообщения активизируется 1с в и окне сообщений будет твоя информация. пора уже начинать пробовать.
#40
by Garykom
Какому именно текущему? Объясни вот как телефон поймет какому знакомому ты звонишь если ты ему не скажеешь это набирая номер. Так и тут твой код в "обработке по расписанию" откуда знает кому написать и как?
#41
by Chameleon1980
просто держи обработку свернутой если у тебя в отдельных окнах а так не знаю, как себя поведет думаю, ничего страшного тоже не дут
#42
by Chameleon1980
"...Я ведь получается вообще не могу из обработок внешних сообщения показывать..." С чего это? +обработка у тебя будет запущена только у нужного пользователя
#43
by Chameleon1980
Только ПолучитьСоообщенияПользователю поймает все не показанные сообщения Глобальный контекст (Global context) ПолучитьСообщенияПользователю (GetUserMessages) Синтаксис: ПолучитьСообщенияПользователю(<УдалятьПолученные>) Параметры: Тип: Булево. Признак необходимости удаления полученных сообщений из списка. Истина - удалять. Значение по умолчанию: Ложь. Возвращаемое значение: Тип: ФиксированныйМассив. Описание: Получает массив объектов СообщениеПользователю, которые еще не были выведены пользователю. Такое может происходить при работе в регламентных заданиях, на стороне сервера или в Web-сервисах. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное
#44
by Майбах
Получается одна обработка будет по расписанию проверять данные и создавать сообщения, а вторая должна тоже при открытии проверять, но как программно запустить обработку т.е. открыть при запуске 1С?
#45
by Майбах
/Execute "Адрес внешней обработки" — параметр предназначен для автоматического запуска внешней обработки после запуска системы.
#46
by mistеr
А про самого пользователя никто не подумал? Ему оно надо получать всякий спам от регламентных заданий?
#47
by Chameleon1980
это да "в пустой обработке и она будет ловить сообщения, отправленнные, из регламенты через СообщениеПользователю" можно придумать какой-нить РС в котором помимо сообщений и юзера писать, которому предназначается. можно было бы в регламенте перед сообщениями писать кому предназначено. только ПолучитьСообщенияПользователю для всех ловит и флаг в этой процедуре все сообщения удаляет я бы, наверное, рс сделал и ничего страшного, что это новый объект метаданных. На обновление то не скажется.
#51
by Майбах
А можно ли как то обработку с формой в которой выполняется обработчик - ОбработчикОжидания, не показывать пользователю, то есть обработка открыта а форма ему не видна, чтобы не раздражало?
#52
by Garykom
Думаю 1С если еще нету то скоро добавит в платформу "очереди сообщений" с отправителем и получателем. Главное чтобы не забыли что отправителем/получателем может быть не только пользователь.
#53
by Chameleon1980
возможно многие типа такого, зачастую, просто сами допиливают. тут можно тупа через лог писать. в обработке ожидания смотреть наличие, сообщать и очищать лог.
#54
by Майбах
В принципе с обработчиком ожидания хороший вариант, но только вот постоянно открытая форма обработки не очень хорошо для пользователя, можно ли как то ее скрыть?
#57
by Chameleon1980
только вот конфликта не получится при записи в файл и при очистке файла после прочтения в одно время.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как заполнить и вывести диаграмму в табличном документе ?
- Можно ли в 7.7 вывести зачеркнутый шрифт?
- Как вывести сообщение пользователю в форме, не привязанной к объекту?
- Можно-ли в УФ, вывести сообщение пользователю, во время проведения?
- Как вывести сообщение пользователю при выполнении регламентного задания в 8.3
- Вызов из модуля команды объекта процедуры из модуля объекта
- есть ли "прямой" способ вывести сообщение пользователю?
- Не могу вывести сообщение пользователю
В этой группе 1С
- Вывод инициалов в УТ 11.3
- Анализ поступлений только по 41.01 счету
- РИБ ошибки при обмене dbeng
- Переместить элемент формы
- Кассовая книга Бух 3.0. Экономичный вариант.
- ПодключитьВнешнююКомпоненту возвращает ложь
- розница 2.2 настройка кассы ККМ, чека и отмена пробытых чеков
- Выгрузка из УТ 10.3 в весы Штрих-Принт
- Отладка веб клиента
- Настройка расписания регл задания из Внешней обработки
- УТ 11 Добавить файл *.pdf к элементу номенклатуры
- Выгрузка даты из 1С в таблицу SQL (Формат DateTime)
- Составной тип колон ТЗ после выгрузки из запроса
- Цветовая настройка отчета УТ 11.3
- Мелкий размер шрифта интерфейса 1С 8.3 на Linix
- Удаление большого количества документов
- как в отчете, сделанном на СКД, сделать так, чтоб выводился знак процента?
- Задвоение физических лиц при выгрузке из ЗУП в 1С Предприятие.
- как авторизоваться post запросом через http сервис 1С
- КД 2.1 Всегда актуальный регистр сведений в приемнике из источника.