|
|
Можно ли в Процедуры ОбработкаПроведения() сделать изменение документа? |
☑ |
|
0
DES
15.07.19
✎
19:55
|
В Модуле объекта В Процедуре ОбработкаПроведения() нужно сделать формирование XML в файл.
Но нужно делать только после Проведения (как узнать что текущий документ Проведен) и только один раз.
Есть в Документе реквизит XMLсформирован.
Корректно ли записывать в него признак того что XML был сформирован. ?
|
|
|
1
SleepyHead
гуру
15.07.19
✎
19:55
|
Можно, но изменения сохранены не будут ))
|
|
|
2
DES
15.07.19
✎
20:14
|
Модуле есть такие предопределнные
ОбработкаПроведения()
ОбработкаУдаленияПроведения()
АрхивироватьДокумент()
Последний не могу найти в хелпе.
|
|
|
3
RomanYS
15.07.19
✎
20:43
|
(1) +1
(0) пиши признак в регистр. Или передЗаписью
(2) он не предопределнный
|
|
|
4
Провинциальный 1сник
15.07.19
✎
20:56
|
В конце проводения создавай фоновое задание, передавай в него ссылку документа и в нём уже делай своё грязное дело с объектом)
|
|
|
5
pavig
16.07.19
✎
00:42
|
(4)
Слишком жестоко.
|
|
|
6
pavig
16.07.19
✎
00:50
|
(0)
Платформа для механизма "История данных" использует следующее:
При записи регистрирует документ на создание версии.
Регламентное задание в определенное время (раз в минуту или другое расписание) собирает зарегистрированные документы и начинает создавать для них версии и записывает их.
По-хорошему, тебе надо сделать так же:
1. При записи добавляешь ссылку на свой документ (только если его там еще нет) в РС
2. Регламентным заданием собираешь ссылки ил п.1 и формируешь для каждого документа XML. Записываешь в ресурс флаг о том что XML сформирован. Документ для этого перезаписывать некорректно.
Минус решения только в том, что XML будут созданы не сразу, а по расписанию.
Но ни в коем случае не создавай XML в обработке проведения.
В (4) посыл правильный: делать надо асинхронно, но есть конкретная опасность положить сервер при массовом проведении таких документов.
|
|
|
7
Консультант Баранов
16.07.19
✎
01:25
|
(0) Создать подписку. В подписке записывать в регистр сведений.
|
|
|
8
FIXXXL
16.07.19
✎
09:21
|
(7) подписка работает в той же транзакции
блокировки, ожидания и вот это вот всё...
|
|
|
9
novichok79
16.07.19
✎
10:14
|
можно регл. задание формирования XML запускать каждые n минут, данные о выгруженных XML хранить в отдельном регистре.
на форме подтягивать значение оттуда.
|
|
|
10
Trier
16.07.19
✎
10:15
|
(0)
В Модуле объекта В Процедуре ОбработкаПроведения() нужно сделать формирование XML в файл.
Вот тут у тебя ошибка - на самом деле в ОбработкеПроведения тебе делать это не нужно.
Я у себя сделал примерно как в 6
|
|
|
11
Консультант Баранов
16.07.19
✎
10:35
|
(8) > подписка работает в той же транзакции
И? В какой момент будет отмена транзакции если в самой подписке такого не будет?
|
|
|
12
Конструктор1С
16.07.19
✎
10:59
|
(0) ты пытаешься в проведение запихнуть логику, которая не относится к проведению. Это как-минимум не есть гуд. Может быть потенциальным источником лишних проблем и тормозов
|
|
|
13
FIXXXL
16.07.19
✎
11:04
|
(11) тут дело не в Отказе, а в увеличении времени транзакции
не надо в проведение совать не относящееся к проведению непосредственно
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший