![]() |
![]() |
![]() |
|
Последовательность отработки ОбработкаУдаленияПроведения | ☑ | ||
---|---|---|---|---|
0
Алекс587444
04.06.25
✎
08:48
|
Доброе утро, такой вопрос у меня есть ОбработкаУдаленияПроведения в которой я вызываю фоновое задания для актуализации данных, но данные не актуализируются т.к.как я понимаю в этот момент данные по регистрам ещё не очистились, или не в этом проблема? моя задумка была такая при отмене проведения по событию (&после в расш)ОбработкаУдаленияПроведения после очистки данных по регистрам, актуализировать данные состояния фоновым заданием
|
|||
1
СвинТуз
04.06.25
✎
08:58
|
Прям в транзакции вызываете?
|
|||
2
Алекс587444
04.06.25
✎
08:59
|
(1) вызываю фоновое в расширении (&после)ОбработкаУдаленияПроведения документа
|
|||
3
СвинТуз
04.06.25
✎
08:59
|
Юстас должен знать. Не спрашивали? )))
|
|||
4
СвинТуз
04.06.25
✎
09:00
|
(2)
Как то не очень звучит. Я бы так не стал делать. |
|||
5
Алекс587444
04.06.25
✎
09:03
|
(4) а как посоветуете? с учётом того что нужно при отмене проведения использовать данных функционал?
|
|||
6
youalex
04.06.25
✎
09:03
|
В ОбработкаУдаленияПроведения() - движения стандартно еще есть.
В ПриЗаписи(), следующее событие - нет |
|||
7
Мультук
гуру
04.06.25
✎
09:03
|
(0)
1) А ваш код точно работает ? Вы его отдельно тестировали ? 2) Вопрос решается (имхо) отладкой и точками останова 3) Можно посмотреть "как сделано в типовых" 1С переделали обновления "состояние заказ клиента" на фоновые 4) Добавление паузы чтобы транзакция ОбработкаУдаленияПроведения успела завершиться (не надо так делать) в фоновом решает проблему ? |
|||
8
Мультук
гуру
04.06.25
✎
09:04
|
(6) Данных то нет. Но транзакция еще не commit
А фоновое небось в своей транзакции |
|||
9
Алекс587444
04.06.25
✎
09:04
|
(6) тогда при записи чекну если не новый и отмена проведения то юзаю, попробую вернусь с результатом
|
|||
10
youalex
04.06.25
✎
09:06
|
(8) Неверно, движения еще не очищены. ФЗ вне транзакции - следующий вопрос)
|
|||
11
СвинТуз
04.06.25
✎
09:09
|
(9)
"чекну если не новый и отмена проведения" приходи еще. |
|||
12
Fedor-1971
04.06.25
✎
09:39
|
(6) Походу, перепутал последовательность обработчиков: сначала ПриЗаписи(), потом либо проведение (может автоматически чистить движения), либо отмена оного - в зависимости от режима записи
|
|||
13
Алекс587444
04.06.25
✎
09:10
|
(10) норм при записи уже нет данных в регистрах, сенк буду думать дальше
|
|||
14
Fedor-1971
04.06.25
✎
09:22
|
(13) При записи еще работает транзакция обработки документа, физически в БД ещё ничего не дописано, т.е. старые записи ещё есть в БД Фоновое задание получит их, а не новые данные
|
|||
15
СвинТуз
04.06.25
✎
09:26
|
Если фоновое запускается в той же транзакции, то типа что ты выиграешь? Все равно будешь висеть в ней пока не кончится.
Если в своей, то что делать если основная транзакция будет отменена? Какая то логическая попка. Я ХЗ что ты делаешь. |
|||
16
Fedor-1971
04.06.25
✎
09:42
|
14+ по факту, если очень хочешь фоновое задание, то отправляй в него данные для актуализации, а не ссылку. Например, есть заказ и надо поставить статус новый (просто сохранили), утверждён (например, по галочке) и т.д. порядок будет следующим:
1. Планируем запуск регламентного задания (Актуализация статусов) 2. в обработчике делаем выборку (например, незакрытых заказов) 3. Реализуем функцию расчёта статуса с параметром Ссылка или Структура вот тут и проверяем, если нам прислали структуру (примерно такую: Ссылка, Статус, ИзПроведения), то сравниваем текущий статус с присланным и, если надо, тупо записываем новый статус (защита от перепроведения документа, т.е. перепроведение отправляет статус - Утверждён, а заказ уже в статусе Отгружен), если просто ссылку - реализуем алгоритм вычисления нового статуса |
|||
17
Fedor-1971
04.06.25
✎
09:38
|
(15) Наверно, хочет единый алгоритм для регламента и проведения
Минимум статусов из проведения, максимум на регламенте (только смысл заморачиваться с фоновым из проведения отсутствует - тупо вызываем одинаковую функцию установки статусов и всех делов) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |