|
Состояние процесса &НаСервере | ☑ | ||
---|---|---|---|---|
0
Mikhail Volkov
04.05.16
✎
19:31
|
Переписываю свои старые 8.2 обработки на УФ. В процедурах &НаКлиенте нет проблем в циклах с:
Состояние("Заполнение списка GUID: " + СписокGUID.Количество()); ОбработкаПрерыванияПользователя(); А вот если подобный процесс выполняется &НаСервере, например, выборка запросом, то проблематично... Что посоветуете? |
|||
1
PR пять
04.05.16
✎
19:43
|
Все сложно.
1. Ничего 2. Отдавать на сервер порциями 3. Выполнять в фоновом задании |
|||
2
zak555
04.05.16
✎
19:54
|
||||
3
Aleksey
04.05.16
✎
19:58
|
(2) это п.2 Отдавать на сервер порциями
|
|||
4
zak555
04.05.16
✎
20:01
|
||||
5
Aleksey
04.05.16
✎
20:04
|
(4) а это п.3 Выполнять в фоновом задании
|
|||
6
zak555
04.05.16
✎
20:04
|
(5) на п.1 не могу найти ссылки
|
|||
7
ifso
04.05.16
✎
23:21
|
(6) попробуй съЕСТЬNULL )
|
|||
8
Mikhail Volkov
05.05.16
✎
06:04
|
(1) Спс, в моем случае 1-й пункт более всего подходит. Остальные для действительно "Длительные операции".
|
|||
9
zak555
05.05.16
✎
08:03
|
(8) очень зря
|
|||
10
DrZombi
гуру
05.05.16
✎
08:37
|
(0) Советую успокоиться и отстать от сообщить, для наглядности пользователя.
Как вариант начать писать выполнения своих обработок через фоновое задание :) |
|||
11
Mikhail Volkov
06.05.16
✎
06:01
|
(10) Считаю "правилом хорошего тона" показывать пользователю, что процесс идет (желательно дать возможность его прервать). Иногда у самого возникает недоумение, например, с "Дополнительные процедуры обработки данных" при обновлении (ситуация подробно описана в Куда дели "Описание изменений программы" в КА2.0/ERP?) - "колесико" крутится, вроде процесс идет, а на самом деле ничего не происходит!?
Фоновое задание - не для моих процедур, слишком просты для них. Отдавать на сервер порциями - тоже. Одна только Функция ИнициализацияОбработкиСервер() сравнима по сложности с моей, выполняемой &НаСервере. Она выполняет выборку нужного справочника, все его ссылки помещает в хранилище. Мне нужно тоже почти самое: все его GUID-ы поместить в список значений. Стоит ли ради этого огород городить!? Обошелся выводом Состояние() перед вызовом моей процедуры &НаСервере. |
|||
12
Провинциальный 1сник
06.05.16
✎
06:32
|
(10) Фоновое само по себе не решает проблему оповещения. Нужно еще изобрести костыль, чтобы фоновое периодически информировало клиента о реальном статусе выполнения. Крутящаяся анимация "выполняется обработка" - не замена реальному прогресс-бару.
|
|||
13
zak555
06.05.16
✎
08:03
|
(12) в БСП посмотри
|
|||
14
Провинциальный 1сник
06.05.16
✎
08:26
|
(13) Ну, а что такое БСП, как не коллекция костылей на любой вкус? То, что должно быть реализовано на уровне платформы, пытаются реализовать в виде некого "подслоя" конфигурации, получается плохо - ибо в 1с нет инкапсуляции, наследования и полиморфизма - спагетти-код из десятков общих модулей. Да еще в нагрузочку каждые полгода перетасовывают функции и процедуры из одного модуля в другой. Безблагодатность.
|
|||
15
ifso
06.05.16
✎
13:55
|
(14) "страховка" на случай кризиса жанра у нормотворцев, не?
|
|||
16
PR пять
06.05.16
✎
13:56
|
(12) В БСП уже изобрели
|
|||
17
PR пять
06.05.16
✎
13:57
|
(14) Вот с чем соглашусь, так это с тем, что да, хотелось бы в платформе
|
|||
18
Мыш
06.05.16
✎
13:59
|
(16) Как называется?
|
|||
19
rozer76
06.05.16
✎
14:05
|
||||
20
Карупян
06.05.16
✎
14:06
|
в фоновом нельзя выводить прогресс бар.
Нужно что-то в базу писать. Но только куда? |
|||
21
Карупян
06.05.16
✎
14:06
|
(14) не костыли, а фреймворк )))
|
|||
22
ДенисЧ
06.05.16
✎
14:08
|
(21) Не фреймворк, а система костылей и подпорок
|
|||
23
Карупян
06.05.16
✎
14:09
|
БСП = Библиотека свистелок и перделок
|
|||
24
rozer76
06.05.16
✎
14:09
|
(20) можно оповещать сообщениями пользователя и обработкой ожидания считывать... ну конечно только текстовым представлением ограничивается инфо
|
|||
25
Карупян
06.05.16
✎
14:10
|
(24) И что это работает? Можно код?
|
|||
26
ДенисЧ
06.05.16
✎
14:12
|
(25) Открой консользаданий из портативных инструментов разработчика
|
|||
27
rozer76
06.05.16
✎
14:13
|
(25) поищи на инфостарте по "индикация фонового задания"
|
|||
28
rozer76
06.05.16
✎
14:15
|
(27) + без БСП делается за 5сек, хотя БСП мне нравиться больше ибо "крутящееся колесико" вычисляет процент за тебя
|
|||
29
rozer76
06.05.16
✎
14:17
|
||||
30
Рэйв
06.05.16
✎
14:21
|
(0)да выводи ты сообщение раз в 200-300 итераций и не мучайся:-)
|
|||
31
Drac0
06.05.16
✎
14:26
|
(14) Честно, заиб... устанешь все функции БСП пихать в платформу. А если функциональность реализована уже в БСП, то зачем шевелиться платформе? В целом, логично, ИМХО.
|
|||
32
Провинциальный 1сник
06.05.16
✎
14:35
|
(31) Да не все конечно же. Всякие там ФИО и адресная фигня пусть будет в БСП. А вот оповещение сервера клиентом следовало бы в платформе реализовать.
|
|||
33
Mikhail Volkov
06.05.16
✎
17:28
|
(32) Печально, думал это временные недоделки 1С. Оказалось для УФ это в принципе пока невозможно. Тему можно закрывать.
Попутно вопросик: Сделал небольшую доработку "Поиск и удаление дублей", сохранил как внешнюю, в ее модуль добавил ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ РЕГИСТРАЦИИ ОБРАБОТКИ - вроде стандартные, не 1-й раз их использую, в предыдущих внешних обработках нормально работают. Эту обработку добавил в "Дополнительные отчеты и обработки", указал размещение: Раздел "НСИ и администрирование", Публикация: Используется - вроде все как надо. Но не запускается: откроется на миг (Даже скрин успеваю снять: http://s019.radikal.ru/i628/1605/f6/b555fcef2a65.jpg), и исчезает!? Хотя через Файл/Открыть нормально работает. Может чего упустил при ее регистрации? Как искать? |
|||
34
bolobol
06.05.16
✎
19:08
|
Что-то там с Блокировать окно владельца...
|
|||
35
bolobol
06.05.16
✎
19:08
|
Если окон ни одного не открыто - не открывается.
|
|||
36
Mikhail Volkov
07.05.16
✎
04:26
|
(34) Нашел:
&НаКлиенте Процедура ПоказатьМестаИспользования(ДеревоИсточник) МассивСсылок = Новый Массив; Для Каждого ГруппаДублей Из ДеревоИсточник.ПолучитьЭлементы() Цикл Для Каждого СтрокаДерева Из ГруппаДублей.ПолучитьЭлементы() Цикл МассивСсылок.Добавить(СтрокаДерева.Ссылка); КонецЦикла; КонецЦикла; ПараметрыОтчета = Новый Структура; ПараметрыОтчета.Вставить("Отбор", Новый Структура("НаборСсылок", МассивСсылок)); РежимОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца; ОткрытьФорму("Отчет.МестаИспользованияСсылок.Форма", ПараметрыОтчета, ЭтотОбъект, , , , , РежимОкна); КонецПроцедуры БлокироватьОкноВладельца заменил на Независимый - не помогло!? Может где-то еще есть блокировка окна всей обработки? |
|||
37
Mikhail Volkov
07.05.16
✎
10:36
|
Спс за подсказку (34), нашел в свойствах формы Использование/РежимОткрытияОкна стояло "Блокировать окно владельца". Сейчас вроде заработало!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |