Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Вывод сообщений при 100% загруженности

Вывод сообщений при 100% загруженности
Я
   Cyrix
 
25.02.21 - 10:44
Всем привет! Подскажите такую штуку: Управляемое приложение. Работает цикл получения номенклатуры (объект), меняю реквизит и записываю. В цикле предусмотрено сообщение о текущей номенклатуре Сообщить(ОбъектСпр); Пока цикл работает 1С подвисает, мышка - вращающийся кружочек и на этом всё. После завершения цикла 1С-ку отпускает и в сообщениях появляется список всей обработанной номенклатуры. А как сделать чтобы я в мог видеть текущую обрабатываемою номенклатуру в цикле, а не потом, когда уже не надо? Может в цикле что-то нужно прописать, чтобы 1С приостановилась, вывела сообщение и потом продолжила цикл? В обычных формах всё работало.
   ДенисЧ
 
1 - 25.02.21 - 10:48
А потому, что у тебя обработка идёт на сервере. И пока оттедова не вернётся управление - ты ничего не увидишь.
Изучай бспшные ДлительныеОперации и у тебя будет шансик.
   dka80
 
2 - 25.02.21 - 10:49
Потому что ты "Сообщить" делаешь на сервере, а по факту сообщения выводятся на клиенте. Как вариант: формируй список обрабатываемых объектов на сервере, возвращай его на клиент, далее с клиента запускаешь обработку по одному объекту и сообщаешь с клиента
   ДенисЧ
 
3 - 25.02.21 - 10:54
(2) Плохой вариант...
   Kassern
 
4 - 25.02.21 - 10:57
   Shur1cIT
 
5 - 25.02.21 - 11:07
(0) выше уже сказали причину,
сервер не общается с клиентом постоянно, а только когда закончит выполнять процедуру функцию на сервере в конце вызова, тогда он и скидывает на клиент все сразу что он в сообщить накидал.
можно через временное хранилище.
когда грузил из одной базы в другую писал состояние в HTML  документ (перезаписывал текст) для каждого потока даже строку состояния добавлял. очень удобно :-)
   Cyrix
 
6 - 25.02.21 - 11:19
Спасибо за ответы! Пошёл курить ДлительныеОперации.
   butterbean
 
7 - 25.02.21 - 11:38
Выполнение перенести в фоновое задание и оттуда периодически читать сообщения
   Бычье сердце
 
8 - 25.02.21 - 12:02
(0)
Цикл на клиенте. В цикле в состояние выводишь текущую позицию. Отправляешь номенклатуру на сервер через параметр с использованием &НаСервереБезКонтекста, обрабатываешь номенклатуру.
Данный способ также будет тебе кружочек отображать, заблокирует всю работу.

А то что советовали коллеги через длительные операции - лучше.
   ДенисЧ
 
9 - 25.02.21 - 12:07
(8) Рррррррастрелять.
   Вафель
 
10 - 25.02.21 - 12:10
   Бычье сердце
 
11 - 25.02.21 - 12:15
(9)
Лишь бы расстрелять))))))
в (10) также советуют. Удалять?))
   ДенисЧ
 
12 - 25.02.21 - 12:45
(11) Я в (1) уже написал. А вы всё свои циклы на клиенте пихаете...
И велосипеды с квадратными (спасибо, что не треугольными) колёсами изобретаете...
   программистище
 
13 - 25.02.21 - 13:24
эту проблему призвана решить система взаимодействия
   Cyrix
 
14 - 25.02.21 - 13:36
(13) а поподробнее?
   Бычье сердце
 
15 - 25.02.21 - 13:47
(12)
Поспорил бы
   timurhv
 
16 - 25.02.21 - 13:59
(8) как замедлить работу в 10 раз.
   ДенисЧ
 
17 - 25.02.21 - 14:00
(15) Спорь. Я что, против?

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.