|
Как трассировать регламентные задачи? | ☑ | ||
---|---|---|---|---|
0
vde69
07.02.13
✎
15:27
|
собственно 1с большую часть отчетов сделало через рег задания.
как их трассировать? |
|||
1
Maxus43
07.02.13
✎
15:28
|
это в какой конфе оно их так сделало?
|
|||
2
Нуф-Нуф
07.02.13
✎
15:28
|
не через регзадания, а через фоновые. ловить фоновые в отладчике
|
|||
3
Нуф-Нуф
07.02.13
✎
15:28
|
(1) в ут11 каждый второй отчет
|
|||
4
GANR
07.02.13
✎
15:31
|
(0) Вот так:
ФЗ = ФоновыеЗадания.найтиПоУникальномуИдентификатору(ИД_ФЗ); МассивСообщений = ФЗ.ПолучитьСообщенияПользователю() (2) а запуск отладки имеет некоторые тонкости v8: Не запускается отладка регламентного задания 8.2.16.362 |
|||
5
GANR
07.02.13
✎
15:33
|
||||
6
Нуф-Нуф
07.02.13
✎
15:33
|
(5) ого! спасибо за инфу
|
|||
7
Maxus43
07.02.13
✎
15:35
|
с УТ не работал, буду знать
|
|||
8
GANR
07.02.13
✎
15:39
|
(7) Да, по-моему, уже все отчеты так работаю. Появилась общая форма для всех отчетов, подставляемая в корень конфы - так она всё вертит через фон.
|
|||
9
Maxus43
07.02.13
✎
15:41
|
(8) я на УПП, там нет сего. в 2.0 видимо только
|
|||
10
GANR
07.02.13
✎
15:45
|
(9) Это из БСП универсальный механизм - всюду прикручивается.
|
|||
11
Maxus43
07.02.13
✎
15:46
|
(10) Буду знать, БСП целиком не ковырял. В УПП 2.0 прикрутят, в 1.3 типовых ещё нет
|
|||
12
Maxus43
07.02.13
✎
16:08
|
хм, Нуф-Нуф, ты не знал как к фоновым подключаться?
|
|||
13
Нуф-Нуф
07.02.13
✎
16:13
|
(12) не знал п.2 в (5)
|
|||
14
GANR
07.02.13
✎
16:22
|
(13) Главные грабли: строка соединения с информационной базой, используемая в Конфигураторе, должна быть точно такой-же С УЧЕТОМ РЕГИСТРА, как и строка соединения с информационной базой, которую можно получить в работающем фоновом задании с помощью функции СтрокаСоединенияИнформационнойБазы(). Иначе не ФЗ / РЗ не выловится.
P.S. Я не мог воспользоваться СтрокаСоединенияИнформационнойБазы(), поэтому просто подставил имя сервера и базы точно как в консоли кластера - прокатило. |
|||
15
Maxus43
07.02.13
✎
16:26
|
да, тонкость, согласен
|
|||
16
Maxus43
07.02.13
✎
16:50
|
Кстати, подскажите где в БСП это реализовано? не могу найти, ослеп совсем. Собсно интересует механизм получения результата работы фонового задания (несколько вариантов знаю, все кривые имхо)
|
|||
17
GANR
07.02.13
✎
17:22
|
(16) >где в БСП
Не так давно появилось. Прямо в корне конфы свойство "Основная форма отчета". В БСП (2.0.1.17) ещё нету, а в БСП (2.1.2.21) - уже есть. >механизм получения результата В 1С:Бух. 3.0 бухгалтерски отчеты работают по принципу: 1. Передают в ФЗ переменную АдресХранилища. 2. ФЗ, в свою очередь, при завершении ПоместитьВоВременноеХранилище(Результат, АдресХранилища); 3. Клиент раз в секунду проверяют завершилось ли ФЗ (обработчик ожидания). 4. Если п.3 = завершилось, то форма отчета хватает данные Данные = ПолучитьИзВременногоХранилища(АдресХранилища) и выводит пользователю. |
|||
18
Maxus43
07.02.13
✎
17:23
|
(17) принцип понятен, имхо криво. обработчики ожидания и т.д. Но видимо других вариантов нет даже у разрабов
|
|||
19
GANR
07.02.13
✎
17:28
|
(18) Нужно посылать уведомление с сервера на клиент и ловить его специальным обработчиком - этого в платформе пока что не предусмотрено.
|
|||
20
vde69
07.02.13
✎
17:38
|
(17) кстати из-за " Клиент раз в секунду проверяют завершилось ли ФЗ", время любого самого мелкого отчета не может быть меньше 1 сек,
реально скорость увеличилась в среднем на 1.5 сек только из-за ожидания... |
|||
21
GANR
07.02.13
✎
17:45
|
(20) Зато пока тяжелый отчет часами ворочается можно в этом-же сеансе что-то делать :).
|
|||
22
hhhh
07.02.13
✎
17:56
|
(21) можно другую 1с запустить и всё. Зачем в этом же сеансе?
|
|||
23
НачинающийЮзер
07.02.13
✎
18:09
|
(22) фи, это просто, скучно и банально. То ли дело помудохоться с фоновым запуском отчета.
|
|||
24
GANR
07.02.13
✎
18:29
|
(23) Что-ж в (22) удобного?
|
|||
25
Нуф-Нуф
07.02.13
✎
19:31
|
(22) ограничение количества сеансов не зря придумали. Сервер лицензий обычно не резиновый
|
|||
26
GANR
14.02.13
✎
20:47
|
(18) Похоже, нашел спасение ситуации для отчетов
&НаКлиенте Процедура Сформировать(Команда) ЭтаФорма.СкомпоноватьРезультат( РежимКомпоновкиРезультата.Фоновый); КонецПроцедуры Убивается минимум 2 зайца: 1. Нет зависимости от общих модулей "ДлительныеОперации", что дает возможность использовать, например, универсальный отчет, как внешний. 2. Не нужно прописывать в форме отчета алгоритмы (17). |
|||
27
MaxS
14.02.13
✎
21:01
|
(20) 1С стремиться к 1 сек.
Ещё бы научить отчет отправлять задание, например на соседнюю распределённую базу. Так можно распределить нагрузку. Правда результат отчета может оказаться неактуальный. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |