|
Запись другого документа в обработке проведения первого
| ☑ |
0
askharlov
03.08.12
✎
16:55
|
Есть документ установки цен и документ установки плановых лимитов.
Первый определяет цены, а во второй они подтягиваются (и пересчитывается реквизит СуммаДокумента).
Суть задачи: при создании / изменении документа установки цен необходимо пересчитать сумму в документе установки лимита.
Пробую сделать это в процедуре ОбработкаПроведения документа установки цен. Вызываю метод Записать торого документа. Второй обращается к регистру сведений созданному первым и не находит не одной записи по установленным отборам.
В чем дело? Что в конце обработки проведения документа движения еще не записаны? Когда они записываются и как к ним можно обратиться?
Заранее спасибо
|
|
1
DBegunkov
03.08.12
✎
16:59
|
Возможно, в разных транзакциях происходит запись? Тогда вторая транзакция "не видит" данные, записанные в первой, пока не зафиксируешь первую транзакцию.
|
|
2
0Mint
03.08.12
✎
17:27
|
Сделай через подписку на событие.
|
|
3
hhhh
03.08.12
✎
17:40
|
(0) в конце транзакции. То есть явно после вашей Обработки проведения.
|
|
4
milan
03.08.12
✎
17:45
|
(2)А можно подписаться на событие "после записи"?
|
|
5
askharlov
06.08.12
✎
11:07
|
(3) а какое событие возникает после обработки проведения? не нашел такого
|
|
6
Sammo
06.08.12
✎
11:34
|
Имхо, некамильфо увязывать запись/проведение 2 документов. Можно придумать обходное решение.
|
|
7
askharlov
06.08.12
✎
11:46
|
(4) событие "после записи" отсутствует
(6) есть пример обходного решения?
|
|
8
Sammo
06.08.12
✎
11:54
|
(7) Например, план обмена для регистрации измений + регламентное - для создания/изменения документов
|
|
9
0Mint
06.08.12
✎
12:06
|
А чем не устраивает событие ОбработкаПроведения? Там можно КоллекциюДвижений источника смотреть, если я правильно понял именно это требуется.
|
|
10
askharlov
06.08.12
✎
12:18
|
(9) Не устраивает. Необходимо делать срез последних по РС, а в этом срез могут быть не только данные из коллекции движений проводимго документа
|
|
11
askharlov
06.08.12
✎
12:19
|
Попытался создать подписку на обработку проведения, но там еще не закончена транзакция :-(
|
|
12
х86
06.08.12
✎
12:23
|
(0)Запиши движения до завершения транзакции
|
|
13
askharlov
06.08.12
✎
12:38
|
(12) Спасибо, идея! Сейчас попробую
|
|
14
askharlov
06.08.12
✎
12:56
|
(12) - да, все гениальное просто! работает.спасибо
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший