Имя: Пароль:
1C
1С v8
Проведение документа при изменении реквизита справочника
0 Егор Сергеевич
 
10.03.14
15:45
Суть задачи вкратце такова:
У документа в табличной части присутствует элемент справочника. При изменении элемента этого справочника необходимо провести документы, где этот элемент встречается. Элемент справочника может быть изменен программно. И желательно, чтобы был какой-нибудь контроль проведения документа.
Идеально подошло бы событие ПриЗаписи модуля объекта справочника, но при проведении документа элемент справочника, изменение которого я пытаюсь отследить, непосредственно влияет на движения. Т.е. при проведении документа, мне необходимо видеть уже измененный элемент справочника, но ПриЗаписи я его не вижу.
Есть какой-нибудь вариант, как решить задачу при записи справочника или тут только пост-обработкой?
1 Добрый хачик
 
10.03.14
15:49
при записи - изменения уже в базе. документы увидят
2 Егор Сергеевич
 
10.03.14
15:51
Пойду еще раз в отладку смотреть, почему у меня не увидели...
3 EugeniaK
 
10.03.14
15:51
(1) Не увидят. Транзакция не завершена.
Можно в "После записи"
4 EugeniaK
 
10.03.14
15:52
(3) Сама запуталась. Увидят, если в той же транзакции.
5 Егор Сергеевич
 
10.03.14
15:54
У меня ПриЗаписи модуля объекта:

Реквизит <> Ссылка.Реквизит

Так понимаю, что документы увидят именно Ссылка.Реквизит
6 Добрый хачик
 
10.03.14
15:56
зайди в модуль проведения и посмотри что будет там
7 Егор Сергеевич
 
10.03.14
16:01
(6) в модуле документа видит Ссылка.Реквизит


В модуле Объекта:

ПриЗаписи
Если Реквизит <> Ссылка.Реквизит Тогда
Документ.Записать(РежимЗаписиДокумента.Проведение);
КонецЕсли;

В модуле документа:
ПриЗаписи
Отладка показывает что у элемента все еще Ссылка.Реквизит...
8 Добрый хачик
 
10.03.14
16:12
чет мистику говоришь, должен быть новый реквизит, транзакция то одна..
9 Fedor-1971
 
10.03.14
17:17
"Если Реквизит <> Ссылка.Реквизит Тогда" Интересно что с чем здесь сравнивается?
По сути сравнивается ЭтотОбъект.Реквизит с ЭтотОбъект.Ссылка.Реквизит, т.е. сам с собой.
10 Fedor-1971
 
10.03.14
17:43
(8) в чём тут мистика? из документа существует ссылка на элемент справочника, ТС пытается проверить реквизит элемента справочника (уже записанный в базу данных) с тайной надеждой узреть его предыдущее значение.
По ходу, не получается.
11 mrDSide
 
10.03.14
18:01
(0) просто интересно - а зачем так сложно?
12 mrDSide
 
10.03.14
18:02
заведите тогда уже регистр расчета (зачем документы перепроводить) и пересчитывайте (уведомляйте, если так надо, пользователя, чтоб ввел документ пересчета).
13 kosts
 
10.03.14
19:28
(11) +1 Явно где-то перемудрено...