1. Glav 14.05.19 13:36 Сейчас в теме

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

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

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

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

что-то вроде

Если НЕ Документ.Проведён тогда
Документ.Дата = Текущая Дата()
Документ.Записать()
Найденные решения
4. spacecraft 14.05.19 16:11 Сейчас в теме
(3) в обработчике ПередЗаписью проверяйте еще и РежимЗаписи. Если режим проведение и Не Проведен Тогда ...
Остальные ответы
Избранное Подписка Сортировка: Древо
2. catena 99 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 г
К сожалению
И как и нет больше эпического "Тульского сувенира" .. :)
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Руководитель отдела внедрения 1С
Новосибирск
зарплата от 60 000 руб. до 160 000 руб.
Полный день

Ведущий программист 1С
Москва
зарплата от 120 000 руб. до 150 000 руб.
Полный день

Программист 1С
Самара
зарплата от 50 000 руб. до 100 000 руб.
По совместительству


Ведущий программист 1С
Сочи
зарплата от 82 500 руб. до 99 000 руб.
Полный день