Измепнить дату при проведении

1. Glav 14.05.19 13:36 Сейчас в теме
Добрый день, коллеги
БП3
Ситуация следующая
менеджер выписывает счёт и на основании его сразу создаёт РТиУ.
При этом дату у реализации ставит будущем числом (например 31.12.2019)
Эту реализацию просто записывают без проведения.
Потом, когда наступает веря фактической отгрузки проводят документ

Просят, чтобы дата в документе изменилась на текущую дату проведения

Корректно ли будет в расширении добавить перед обработкой проведения условие

что-то вроде

Если НЕ Документ.Проведён тогда
Документ.Дата = Текущая Дата()
Документ.Записать()
Найденные решения
4. spacecraft 14.05.19 16:11 Сейчас в теме
(3) в обработчике ПередЗаписью проверяйте еще и РежимЗаписи. Если режим проведение и Не Проведен Тогда ...
Остальные ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. catena 110 14.05.19 13:40 Сейчас в теме
(1)Записывать в обработке проведения не стоит. Вообще лучше строить логику так, чтобы не записывать документ в собственном модуле. Все изменения реквизитов нужно делать ПередЗаписью.
3. Glav 14.05.19 16:05 Сейчас в теме
&Перед("ПередЗаписью")
Процедура Расш1_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Если НЕ ЭтотОбъект.Проведен тогда
ЭтотОбъект.Дата = ТекущаяДата();
//ЭтотОбъект.Записать();
Конецесли
КонецПроцедуры

В этом случае документ всегда будет перезаписывать текущее время

И менеджеры не смогут сначала записать документ на 31.10.2019, а затем сдвинуть на 30.11.2019


А вот так почему то не срабатывает

&Перед("ОбработкаПроведения")
Процедура Расш1_ОбработкаПроведения(Отказ, РежимПроведения)

Если НЕ ЭтотОбъект.Проведен тогда
ЭтотОбъект.Дата = ТекущаяДата();
ЭтотОбъект.Записать();
КонецЕсли;
КонецПроцедуры


В отладчике ЭтотОбъект.Проведен = Истина
соответственно НЕ ЭтотОбъект.Проведен = Ложь
Причём провожу непроведённый (а только записанный) документ
4. spacecraft 14.05.19 16:11 Сейчас в теме
(3) в обработчике ПередЗаписью проверяйте еще и РежимЗаписи. Если режим проведение и Не Проведен Тогда ...
5. Glav 14.05.19 16:32 Сейчас в теме
Показывает "Неоперативный"
6. Glav 14.05.19 17:20 Сейчас в теме
Вышел из ситуации через РежимЗаписи

&Перед("ПередЗаписью")
Процедура Расш1_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

Если РежимЗаписи = РежимЗаписиДокумента.Проведение И (НЕ ЭтотОбъект.Проведен) Тогда
ЭтотОбъект.Дата = ТекущаяДата();
КонецЕсли;

КонецПроцедуры
7. spacecraft 14.05.19 17:24 Сейчас в теме
8. Glav 14.05.19 17:38 Сейчас в теме
(7) Семён Семёныч...........
чего то меня на "РежимПроведения" переклинило........

PS: Привет Туле. Незабываемо провёл 5 лет в ТВАИУ
9. spacecraft 14.05.19 17:44 Сейчас в теме
(8) чудя по всему давно это было. Его уже давно нет :)
10. Glav 14.05.19 17:59 Сейчас в теме
Давно это было - 2000 г
К сожалению
И как и нет больше эпического "Тульского сувенира" .. :)
Оставьте свое сообщение

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