Проведение документа при проведении другого

1. NicolasCage 12.08.24 15:37 Сейчас в теме
Всем привет. Нужен ваш совет. В процедуре ОбработкаПроведения создаю и провожу другой документ. Оказалось, что в этой процедуре провести другой документ невозможно. Я вынужден зайти в этот созданный документ и провести его еще раз (хотя он помечен как проведен). Хочу узнать: если ли какие-нибудь способы обойти это? В голову пока только пришел такой вариант: добавить реквизит, при проведении менять его. Потом в процедуре ПослеЗаписи формы проверять его и в зависимости от значения проводить другой документ.

ЗЫ Или просто сразу все делать это в ПослеЗаписи?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. пользователь 12.08.24 16:14
Сообщение было скрыто модератором.
...
3. пользователь 12.08.24 16:27
Сообщение было скрыто модератором.
...
4. NicolasCage 12.08.24 16:29 Сейчас в теме
Только такой момент всплыл. Не понимаю в чем может быть дело: Перед тем как в модуле формы, в процедуре ПослеЗаписи создаю другой документ, заполняю табличную часть: в реквизиты прописываю 0. Провожу его. Потом смотрю в предприятии документ созданный программно проведен, но движения он не сделал. Я захожу в этот документ заново прописываю в ревизиты таб. части 0, провожу его и движения идут. В чем может быть проблема? Почему после программного проведения документа движения не происходят?
5. Nadushka74 5 12.08.24 16:32 Сейчас в теме
(4) Интересно а как вы проводите документ?
6. NicolasCage 12.08.24 16:37 Сейчас в теме
(5) Документ.Записать(РежимЗаписиДокумента.Проведение).
7. Nadushka74 5 12.08.24 16:43 Сейчас в теме
(6) тогда с другой стороны, можно чуть ближе к задаче, какой документ у вас изначально, какой вы проводите программно? (кстати это довольно распространенная задача, так что выше вам хоть и написали что так нельзя, но так делают) главное у вас должно отрабатывать и другие ситуации, если не провелось, если препроводим, распроводим и тд.
8. user2033930 12.08.24 16:45 Сейчас в теме
(7)
но так делают
Это делают несколько другими инструментами, а не в ОбработкаПроведения.
user1619761; igor63; orakool; lefthander; Nadushka74; +5 Ответить
10. NicolasCage 12.08.24 17:04 Сейчас в теме
(8) Не понимаю ваше поведение. Вы или скажите как делать или ничего не говорите. К чему эти выходки?
12. lefthander 12.08.24 17:32 Сейчас в теме
(10) Милый человек - запомните одно правило - в обработке проведения НИЧЕГО кроме проведения не делайте. Все проверки до или после обработки проведения. И все у Вас будет хорошо.
user1619761; igor63; DesertPunk; orakool; NicolasCage; +5 Ответить
9. NicolasCage 12.08.24 17:03 Сейчас в теме
(7) В документе НачислениеОтпуска есть булевый реквизит. Если он выбран (Истина) тогда нужно указать период с какой по какую дату начисление отпуска будет прекращено. Я выяснил, что если сделать КадровоеПеремещение и работнику организации в табличной части Отпуска указать, что основной отпуск равняется 0, тогда идут движения в регистр сведений ЗаработанныеПраваНаОтпуск и с указанной даты начисления отпуска равны 0. Все четко. Потом в планах сделать: проверку (где-то),что если текущая дата равна дате окончания начисления отпуска, создать документ КадровоеПеремещение где указать положенный отпуска работника организации.

Проверил вручную работает все корректно. Но вот после программного заполнение ТЧ Отпуска движения в РС ЗаработанныеПраваНаОтпуск не идут (во все другие идут). Вынужден опять вручную прописать ДниОтпуска в ТЧ 0 и тогда движения идут.
13. polax 12.08.24 18:15 Сейчас в теме
(9)
Вынужден опять вручную прописать ДниОтпуска в ТЧ 0 и тогда движения идут

По всей видимости, что-то пересчитывается и заполняется в событии ДниОтпускаПриИзменении. Либо (если это возможно) задействуйте это событие перед проведением, либо перенесите его нужные процедуры в свою доработку
NicolasCage; +1 Ответить
15. NicolasCage 13.08.24 09:29 Сейчас в теме
(13) Спасибо! У документа был реквизит ИзменитьЕжегодныеОтпуска и в событии ДниОтпускаПриИзменении он возводился в Истину. Потом при проведении документа этот ревизит проверялся и делал движения когда был Истина. А я на этот реквизит не обратил внимание. И поэтому движения не происходили.

Спасибо большое! Много нового от вас узнал!
11. Lenten 25 12.08.24 17:25 Сейчас в теме
делайте через подписку на событие
NicolasCage; +1 Ответить
14. NicolasCage 12.08.24 18:19 Сейчас в теме
(11)
подписку на событие


Спасибо за направление. Попробую.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот