1С 8.2 управляемое приложение.Как выдать сообщение пользователю при выполнении на сервере?

Статус: Offline
Реєстрація: 08.06.2007
Повідом.: 6009
1С 8.2 управляемое приложение.Как выдать сообщение пользователю при выполнении на сервере?

Может кто сталкивался.

Дано: обработка больших объемов данных в 1С 8.2, приложение управляемое. Пользователю необходимо периодически выводить индикатор о состоянии выполнения.

Обработка данных выполняется целиком на сервере, на клиент передает только результат выполнения работы (Успешно/неуспешно, лог ошибок).

Метод Состояние доступен только на клиенте (ясен пень), Сообщение пользователю хоть и доступно на сервере, но выдает результат на экран только после отработки на сервере и передаче на клиент. (то бишь все сообщения появятся за долю секунды до завершения обработки, тоже понятно почему). Гонять сервер-клиент туда-сюда для выдачи состояния/сообщения для 50-100 тысяч записей - верх извращения и потеря скорости. а индикатор НУЖЕН!

Как быть? Хоть по электронной почте отсылай через встроенный почтовый клиент.
 
гм. я так понял тебе нужен индикатор который будет определять текущеее состояние процесса в процентном выражении ? Не проще ли просто вывести в Табло текущий выпоняемый процесс нежели мучаца с индикатором? Представляеш как часто прийдеца серверу гонять данные на индикатор при изменении состояния если ты говориш что там от 50-100 тыщах записей ?)
 
Представляеш как часто прийдеца серверу гонять данные на индикатор при изменении состояния если ты говориш что там от 50-100 тыщах записей ?)

Представляю. Поэтому делать таковое извращение даже не собираюсь.

вывести в Табло текущий выпоняемый процесс
?

Это как?
 
Тут вся соль заключается в том, чтобы оповещать пользователя непосредственно С СЕРВЕРА. И боже упаси гонять туда-сюда клиент-сервер.
 
ну так хотябы в табло будут лица строки. и он будет видить все ) ... я такую хню делал когда перегружал справочники из одной базы в другую )
 
в табло, это в таблицу значений что ли?
 
З,ы а как ты себе по другому представляеш себе измененение индикатора если на него не поступают все время данные ? можно поставить задержку опроса состояния по времени...чтобы не каждую запись выводил...

Зы. хотелось бы еще понять что вы гоняете - записи регистров ? элементы справочников ?
 
З,ы а как ты себе по другому представляеш себе измененение индикатора если на него не поступают все время данные ? можно поставить задержку опроса состояния по времени...чтобы не каждую запись выводил...

Зы. хотелось бы еще понять что вы гоняете - записи регистров ? элементы справочников ?

:) Вызовом клиента из выполнения на сервере. :D
Гоняются данные из файла в справочники, документы, регистры и проч.

Ответа на свой вопрос в гугле и документации не нашел. Думаю, может кто сталкивался и каким боком решали этот вопрос.
 
подозреваю что обычный сервер с толстым клиентом :)
 
:D нет

Он просто в цикл зафигачивал:
...
Сообщить(ВыполняемоеДействие);
...

А смысл? (Точнее .....СообщениеПользователю.Сообщить();) Юзер увидит результат только после окончания работы на сервере и при передаче на клиента. Толку?
 
Я пока вижу варианты решения:
1. Забить.
2. Объяснить заказчику, что он не прав.
3. Объяснить заказчику, что 1С не прав.
4. Превратить загрузку в полный ппц в виде индусского кода и увеличением времени выполнения в пару раз с загибом сервера и клиента, зато с индикатором, блин.
5. Отсылать юзеру сообщения 1 раз на 1000 записей на мыло. :D

6. Отсылать СМС!!! :іржач:
 
для рассылки смс ..у меня даже обработка гдето была ))))

предлагаю совместить пунк 2 + 1 елси не нравица сделать 4 по моему рецепту. вывалить в окно все загружаемые строки ) пусть смотрит как быстро меняюца бегущие строки )
 
почему после окончания, если сообщения в цикле выводятся?
сообщение будет на каждое действие. а табло вроде можно как-то очищать.

;) истину глаголиш.зачем очищять табло? пусть вниз ползунок бежит. увидит всю историю передачи )

почему после окончания, если сообщения в цикле выводятся?
сообщение будет на каждое действие. а табло вроде можно как-то очищать.


а толстый клиент от 8.1 как раз ничем не отличается.

я вобще про концепцию клиент сервер говорю для управляемых форм. а не конкретно для тонкого\толстого клиента. Меня напрягает например что нельзя теперь напрямую обращатся к элементу справочника или табличной части документа. Это теперь приходится делать через жопу
 
почему после окончания, если сообщения в цикле выводятся?
сообщение будет на каждое действие. а табло вроде можно как-то очищать.

Не веришь? Выполни под тощим клиентом конструкцию типа

&НаСервере
Процедура Адын()

Для ш = 1 по 100500 Цикл

Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Хлабысь +"Строка(1);
Сообщение.Сообщить();

КонецЦикла;

КонецПроцедуры


&НаКлиенте
Процедура Два()
Адын();
КонецПроцедуры

И увидишь, что будет.
 
а можно и без ОчиститьСообщения(); тогда он увидит всю историю перегрузки :)
 
а можно и без ОчиститьСообщения(); тогда он увидит всю историю перегрузки :)

И после каждого сообщения выдавать его данные. Шоб не расслаблялся.

Вобщем, выбираю п.1 + п.3.
Пункты 5 или 6 клиенту не озвучиваю.:D

Всем спасибо.
 
Нужен администратор 1С 8 (упп + бухучет для украины). Есть удаленный доступ.
 
Ага! Великий Ктулху услышал мои молитвы! Вышел новый, 14й релиз платформы 1С8.2, где есть возможность выдать сообщение пользователю при работе на сервере в явно указанную форму! :yahoo:
 
Назад
Зверху Знизу