|
Вывод сообщений при 100% загруженности | ☑ | ||
---|---|---|---|---|
0
Cyrix
25.02.21
✎
10:44
|
Всем привет! Подскажите такую штуку: Управляемое приложение. Работает цикл получения номенклатуры (объект), меняю реквизит и записываю. В цикле предусмотрено сообщение о текущей номенклатуре Сообщить(ОбъектСпр); Пока цикл работает 1С подвисает, мышка - вращающийся кружочек и на этом всё. После завершения цикла 1С-ку отпускает и в сообщениях появляется список всей обработанной номенклатуры. А как сделать чтобы я в мог видеть текущую обрабатываемою номенклатуру в цикле, а не потом, когда уже не надо? Может в цикле что-то нужно прописать, чтобы 1С приостановилась, вывела сообщение и потом продолжила цикл? В обычных формах всё работало.
|
|||
1
ДенисЧ
25.02.21
✎
10:48
|
А потому, что у тебя обработка идёт на сервере. И пока оттедова не вернётся управление - ты ничего не увидишь.
Изучай бспшные ДлительныеОперации и у тебя будет шансик. |
|||
2
dka80
25.02.21
✎
10:49
|
Потому что ты "Сообщить" делаешь на сервере, а по факту сообщения выводятся на клиенте. Как вариант: формируй список обрабатываемых объектов на сервере, возвращай его на клиент, далее с клиента запускаешь обработку по одному объекту и сообщаешь с клиента
|
|||
3
ДенисЧ
25.02.21
✎
10:54
|
(2) Плохой вариант...
|
|||
4
Kassern
25.02.21
✎
10:57
|
(0) почитай на досуге https://курсы-по-1с.рф/articles/2017-09-08-display-progress-of-long-operations/
|
|||
5
Shur1cIT
25.02.21
✎
11:07
|
(0) выше уже сказали причину,
сервер не общается с клиентом постоянно, а только когда закончит выполнять процедуру функцию на сервере в конце вызова, тогда он и скидывает на клиент все сразу что он в сообщить накидал. можно через временное хранилище. когда грузил из одной базы в другую писал состояние в HTML документ (перезаписывал текст) для каждого потока даже строку состояния добавлял. очень удобно :-) |
|||
6
Cyrix
25.02.21
✎
11:19
|
Спасибо за ответы! Пошёл курить ДлительныеОперации.
|
|||
7
butterbean
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
|
либо в фоне
http://catalog.mista.ru/public/943888/ либо на клиенте http://catalog.mista.ru/public/76309/ |
|||
11
Бычье сердце
25.02.21
✎
12:15
|
(9)
Лишь бы расстрелять)))))) в (10) также советуют. Удалять?)) |
|||
12
ДенисЧ
25.02.21
✎
12:45
|
(11) Я в (1) уже написал. А вы всё свои циклы на клиенте пихаете...
И велосипеды с квадратными (спасибо, что не треугольными) колёсами изобретаете... |
|||
13
программистище
25.02.21
✎
13:24
|
эту проблему призвана решить система взаимодействия
|
|||
14
Cyrix
25.02.21
✎
13:36
|
(13) а поподробнее?
|
|||
15
Бычье сердце
25.02.21
✎
13:47
|
(12)
Поспорил бы |
|||
16
timurhv
25.02.21
✎
13:59
|
(8) как замедлить работу в 10 раз.
|
|||
17
ДенисЧ
25.02.21
✎
14:00
|
(15) Спорь. Я что, против?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |