Проведение одного документа при проведении другого
По теме из базы знаний
- Загрузка чеков ФНС в документы 1С:БП, 1С:УНФ, 1С:ERP, 1С:КА и 1С:УТ
- Заполнение табличных частей документов одного вида из табличных частей списка документов другого вида (альтернатива ввода на основании)
- Гарантированное проведение документов (подключаемое расширение)
- Ускорим проведение в 1С:Управление холдингом
- Проверка документов
Найденные решения
(1) В обработке проведения активна транзакция, и проводя другой документ, мы начинаем вложенную транзакцию, соот-но
- мы растягиваем транзакцию, и это плохо, так как блокировки
- если транзакция второго документа откатится, то и откатится проведение первого документа, а такого быть не должно, первый документ провели, это одни данные, факт это должен быть зафиксирован, а второй документ это другие данные
идеальной реализации нет, если б было событие объекта ПослеЗаписи (то бишь после завершения транзакции), то через него, но оно есть только на форме, и при интерактивной работе надо через него, а вот при неинтерактивной надо строить костыли с фоновыми заданиями и тп
- мы растягиваем транзакцию, и это плохо, так как блокировки
- если транзакция второго документа откатится, то и откатится проведение первого документа, а такого быть не должно, первый документ провели, это одни данные, факт это должен быть зафиксирован, а второй документ это другие данные
идеальной реализации нет, если б было событие объекта ПослеЗаписи (то бишь после завершения транзакции), то через него, но оно есть только на форме, и при интерактивной работе надо через него, а вот при неинтерактивной надо строить костыли с фоновыми заданиями и тп
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) В обработке проведения активна транзакция, и проводя другой документ, мы начинаем вложенную транзакцию, соот-но
- мы растягиваем транзакцию, и это плохо, так как блокировки
- если транзакция второго документа откатится, то и откатится проведение первого документа, а такого быть не должно, первый документ провели, это одни данные, факт это должен быть зафиксирован, а второй документ это другие данные
идеальной реализации нет, если б было событие объекта ПослеЗаписи (то бишь после завершения транзакции), то через него, но оно есть только на форме, и при интерактивной работе надо через него, а вот при неинтерактивной надо строить костыли с фоновыми заданиями и тп
- мы растягиваем транзакцию, и это плохо, так как блокировки
- если транзакция второго документа откатится, то и откатится проведение первого документа, а такого быть не должно, первый документ провели, это одни данные, факт это должен быть зафиксирован, а второй документ это другие данные
идеальной реализации нет, если б было событие объекта ПослеЗаписи (то бишь после завершения транзакции), то через него, но оно есть только на форме, и при интерактивной работе надо через него, а вот при неинтерактивной надо строить костыли с фоновыми заданиями и тп
(2) При проведении документа реализации должно осуществляться начисление бонусных баллов в проценте от суммы проданных товаров. Начисление производится в документе НачислениеИСписание бонусных баллов, отсюда и необходимость программного проведения одного при проведении другого.
(4) По 2-му пункту - зависит от логики работы. Не факт что не должно быть. Возможно как раз и надо убедиться в том что документ начисления бонусов проведен вместе с реализацией.
(6) Не вижу проблем. Сделать в событии ОбработкаУдаленияПроведения - распроведение подчиненного документа.
(1) Это работоспособно. Если связь документов Реализация и НачислениеБонусных балов строго 1 к 1 (на один документ реализация 1 документ начисления бонусов), то просто заведите в документе реализация реквизит - ссылку на автоматически создаваемый документ бонусных балов. Если нет - нужен будет другой механизм хранения связи.
Хинт: если будете делать реквизитом - озаботьтесь в событии ПередЗаписью проверкой, что документ начисления бонусов из этого реквизита действительно существует в базе, иначе очищайте реквизит.
(6) Не вижу проблем. Сделать в событии ОбработкаУдаленияПроведения - распроведение подчиненного документа.
(1) Это работоспособно. Если связь документов Реализация и НачислениеБонусных балов строго 1 к 1 (на один документ реализация 1 документ начисления бонусов), то просто заведите в документе реализация реквизит - ссылку на автоматически создаваемый документ бонусных балов. Если нет - нужен будет другой механизм хранения связи.
Хинт: если будете делать реквизитом - озаботьтесь в событии ПередЗаписью проверкой, что документ начисления бонусов из этого реквизита действительно существует в базе, иначе очищайте реквизит.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот