Имя: Пароль:
1C
 
помогите разобраться с фоновым заданием
0 DeeK
 
16.09.20
16:47
есть подписка при записи элемента справочника, в ней стартует фоновое задание в которое в качестве параметра я передаю ссылку на объект, в какие то произвольные моменты я ловлю в отладчике фонового задания "Объект не найден" на месте своей ссылки, при этом по журналу вижу, что основная транзакция записи не завершена, как только я даю возможность транзакции завершиться (отпустив отладку основного приложения), тут же ссылка в фоновом процессе оживает

я примерно понимаю как можно это пофиксить

первый вариант запускать фоновое после завершения транзакции - тут придется модуль использовать
проверять в фоновом ссылку на тухлость - почем то не нравится такое (сам не знаю почему)

но хотел бы услышать совета бывалых, может я ваще не тот огород горожу
1 Timon1405
 
16.09.20
16:54
2 Eiffil123
 
16.09.20
16:55
(0) похоже, что фоновое задание работает в другой сессии, а значит при записи нового! элемента справочника эта другая сессия эту запись не видит.
Как вариант, записывать очередь в регистр сведений, а обрабатывать ее регзаданием.
3 Очевидно
 
16.09.20
16:58
"первый вариант запускать фоновое после завершения транзакции" - очень хорошая идея.
подписка "ПослеЗаписи" элемента справочника.
http://catalog.mista.ru/1c/articles/1098803/
4 DeeK
 
16.09.20
17:01
(3) да это прочитал уже, спасибо, просто решение позиционировалось как по максимуму модульное, ну тут уж ладно встреваю на изменение модуля
5 DeeK
 
16.09.20
17:02
(2) да именно так, идея с регистром неплохая кстати, спс
6 Очевидно
 
16.09.20
17:12
(4) можно ещё в "МодификацияКонфигурацииПереопределяемый.ПослеЗаписиНаСервере" - запуск фонового запихнуть, чтоб при обновлении проблем небыло.
7 Конструктор1С
 
16.09.20
17:48
(0) а зачем запускаешь фоновое при записи?
8 Eiffil123
 
16.09.20
18:04
(3) (6) что еще за подписка "ПослеЗаписи"?
И из какой конфигурации такой странный модуль "МодификацияКонфигурацииПереопределяемый"? сдается мне, что он вызывается только для записи из формы (т.е. интерактивно).
9 DeeK
 
16.09.20
21:04
(7) обмен со сторонней системой
10 Конструктор1С
 
17.09.20
08:59
(9) так делать не есть хорошо. Прикручивай план обмена для диспетчеризации изменений. Регламентным заданием отправлять зарегистрированные на обмен, успешно ушедшие удаляй из регистрации
11 Конструктор1С
 
17.09.20
09:01
Представь себе, по справочнику пройдётся групповая обработка. И чё получится, запустится стотыщ фоновых заданий?
12 Очевидно
 
17.09.20
09:25
(8) На тек моменту нас, это ERP (2.2.4.81)

http://catalog.mista.ru/1c/articles/303645/
13 Eiffil123
 
17.09.20
09:54
(11) ну а как же всякие rabbitMQ работают. Они тоже по одному объекту отправляют сообщения.
14 Конструктор1С
 
17.09.20
10:57
(13) они для этого не гоняют лишние сеансы основной системы. В формате 1с такое решение Must Die
15 Конструктор1С
 
17.09.20
10:59
А решение с планом обмена, ну или хотя бы с регистром сведений Must Have
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой