Доброго времени суток,
Имеется тяжелый производственный документ с движением по куче регистров, и необходимостью многократного добавления/проведения данного документа в течении дня. Для целей оптимизации и ускорения работы, рассматриваю вариант переноса движений в модуль менеджера и вызов их через длительные операции. Проблема в том, что параметры фонового задания не поддерживают стерилизацию, но как в таком случае передать объект. Может проще использовать регламентное задание?
Буду благодарен за советы по реализации фонового проведения документов.
Имеется тяжелый производственный документ с движением по куче регистров, и необходимостью многократного добавления/проведения данного документа в течении дня. Для целей оптимизации и ускорения работы, рассматриваю вариант переноса движений в модуль менеджера и вызов их через длительные операции. Проблема в том, что параметры фонового задания не поддерживают стерилизацию, но как в таком случае передать объект. Может проще использовать регламентное задание?
Буду благодарен за советы по реализации фонового проведения документов.
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(12) Ну, в ЗУПе вполне себе передают ДокументОбъект для фонового проведения, я потому и интересуюсь.
В форме &НаСервере В фоновом задании
В форме &НаСервере
ДанныеДокумента = ЗарплатаКадры.СериализоватьОбъектВДвоичныеДанные(ДокументОбъект);
ДокументОбъект = ЗарплатаКадры.ДесериализоватьОбъектИзДвоичныхДанных(ДанныеДокумента);
...
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
(15) нет, передать нельзя. Можно создать новый, в котором аналогичные данные.
Пример:
Так вот, ДокументОбъект2 получился не передачей ДокументОбъект1, а созданием нового объекта и заполнением данных.
Так что передачи объекта не происходит.
PS. Самое главное тут в том, что изменение Одного объекта никак не отобразится на другом. Только при записи будет вызвано исключение, если один из объектов ранее записал изменение в базу.
Пример:
//ДокументОбъект1 это объект документа Документ1.
ДокументОбъект2 = ДокументОбъект.Ссылка.ПолучитьОбъект();
//Далее идет заполнение данных объекта по данным ДокументОбъект1
Так вот, ДокументОбъект2 получился не передачей ДокументОбъект1, а созданием нового объекта и заполнением данных.
Так что передачи объекта не происходит.
PS. Самое главное тут в том, что изменение Одного объекта никак не отобразится на другом. Только при записи будет вызвано исключение, если один из объектов ранее записал изменение в базу.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот