События ПослеПроведения и ПослеУдаленияПроведения
Привет всем.
Ситуация:
Стоит Конфа ЮТД(Упровляемые формы на основе УТ)
Конфу нельзя вскрывать, делаю через расширения.
В расширении Общим модулем написал процедуру..
Нужно что бы процедура вызывалась после проведения и после удаления проведения.
Фишка в том, что я пытался вызывать ее спец функциями самой 1С:
Получается что эти процедуры срабатывают до записи в регистры и остатки еще не актуальные.
Есть ли какие нибудь фишки?
Ситуация:
Стоит Конфа ЮТД(Упровляемые формы на основе УТ)
Конфу нельзя вскрывать, делаю через расширения.
В расширении Общим модулем написал процедуру..
Нужно что бы процедура вызывалась после проведения и после удаления проведения.
Фишка в том, что я пытался вызывать ее спец функциями самой 1С:
&После("ОбработкаПроведения")
Процедура еГ_ОбработкаПроведения(Отказ, РежимПроведения)
еГ_РаботаСXML.СоздатьФайлСОстатками(ЭтотОбъект);
КонецПроцедуры
&После("ОбработкаУдаленияПроведения")
Процедура еГ_ОбработкаУдаленияПроведения(Отказ)
еГ_РаботаСXML.СоздатьФайлСОстатками(ЭтотОбъект);
КонецПроцедуры
ПоказатьПолучается что эти процедуры срабатывают до записи в регистры и остатки еще не актуальные.
Есть ли какие нибудь фишки?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
1. Перед проведением/распроведением прочитать и сохранить текущие движения документа, например, в таблице значений.
2. После проведения/распроведения прочитать новые движения и вычесть из них сохраненные старые - именно на эту разницу будут скорректированы регистры.
3. В процедуру СоздатьФайлСОстатками() кроме ЭтотОбъект передавать еще и ТЗ и учитывать ее содержимое при выполнении формирования файла
Получается что эти процедуры срабатывают до записи в регистры и остатки еще не актуальные.
Если проблему нельзя решить, то ее надо обойти. Как вариант обхода:
1. Перед проведением/распроведением прочитать и сохранить текущие движения документа, например, в таблице значений.
2. После проведения/распроведения прочитать новые движения и вычесть из них сохраненные старые - именно на эту разницу будут скорректированы регистры.
3. В процедуру СоздатьФайлСОстатками() кроме ЭтотОбъект передавать еще и ТЗ и учитывать ее содержимое при выполнении формирования файла
+ (8) я бы добавил регистр сведений, в котором будет ссылка на документ. При проведении/распроведении добавить или удалять движения в этом регистре. В регламентом задании проверять этот регистр и формировать файл.
Тут быстрое решение. Это попробовать добавить строчку Движения.Записать() для регистров влияющих на остатки.
Т.к. только после этого движения добавляются в базу(но транзакция еще не завершена)
Но лучше сделать рег. задание или на худой конец фоновое задание запускать в момент записи. Т.к. вам выше уже написали, что вы увеличиваете время транзакции, а соответственно время блокировки БД.
Т.к. только после этого движения добавляются в базу(но транзакция еще не завершена)
Но лучше сделать рег. задание или на худой конец фоновое задание запускать в момент записи. Т.к. вам выше уже написали, что вы увеличиваете время транзакции, а соответственно время блокировки БД.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот