Как провести документ в определенный момент времени
Я пытаюсь сделать так, что бы при записи документа указывалось определенное время. В процедуре "Перед записью""
указал код
Записывается правильно, но при проведении все равно указывается текущее время. Укажите, пожалуйста, в чем может быть ошибка?
указал код
Дата = НачалоДня(Дата) + 3600*8;
Записывается правильно, но при проведении все равно указывается текущее время. Укажите, пожалуйста, в чем может быть ошибка?
Прикрепленные файлы:
По теме из базы знаний
- Операционное планирование движения денежных средств или как построить систему контроля расходования денежных средств
- Версионирование объектов в программе «Управление торговлей для Украины 3.0»
- Как проводятся документы в типовых конфигурациях от 1С: дополнение
- Адекватность работодателя. Как её определить? Часть 1. Собеседование, заключение трудового договора
- Как внедрить управление закупками с пользой для бизнеса. Практические инструменты и опыт бизнес-консультанта
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(9)
Если у объекта конфигурации Документ установлено свойство оперативного проведения, последовательность действий системы будет следующей:
-при создании нового документа система будет устанавливать ему текущую дату сеанса и «нулевое» время;
-при проведении такого документа (с датой, день которой соответствует дню текущей даты сеанса) система установит в качестве даты документа оперативную отметку времени;
-если отменить проведение документа и затем провести его снова (не изменяя даты), система установит документу новую оперативную отметку времени;
-если попытаться перепровести документ, то система также автоматически установит документу новую оперативную отметку времени и проведет его;
-при попытке проведения (или перепроведения) оперативно проводимого документа с датой, день которой меньше дня текущей даты сеанса, документ будет проведен неоперативно;
-если попытаться провести (или перепровести) оперативно проводимый документ с датой, день которой больше дня текущей даты сеанса, то система не даст выполнить такое действие.
Программно не вариант провести документ в неоперативно ?
но мне нужно именно при оперативном проведении
Если у объекта конфигурации Документ установлено свойство оперативного проведения, последовательность действий системы будет следующей:
-при создании нового документа система будет устанавливать ему текущую дату сеанса и «нулевое» время;
-при проведении такого документа (с датой, день которой соответствует дню текущей даты сеанса) система установит в качестве даты документа оперативную отметку времени;
-если отменить проведение документа и затем провести его снова (не изменяя даты), система установит документу новую оперативную отметку времени;
-если попытаться перепровести документ, то система также автоматически установит документу новую оперативную отметку времени и проведет его;
-при попытке проведения (или перепроведения) оперативно проводимого документа с датой, день которой меньше дня текущей даты сеанса, документ будет проведен неоперативно;
-если попытаться провести (или перепровести) оперативно проводимый документ с датой, день которой больше дня текущей даты сеанса, то система не даст выполнить такое действие.
Программно не вариант провести документ в неоперативно ?
Если Не Проведен Тогда
РежимПроведения = РежимПроведенияДокумента.Неоперативный;
Дата = Дата(Год(ТекущаяДата()),Месяц(ТекущаяДата()),День(ТекущаяДата()),08,00,00);
КонецЕсли;
В модуле объекта
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
// Вставить содержимое обработчика.
Если РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда
Дата = НачалоДня(текущаяДата());
КонецЕсли;
КонецПроцедуры
Продолжу соревнование по самому худшему коду) Мой вариант:
ПередЗаписью (в самом конце процедуры)
РежимПроведения =РежимПроведенияДокумента.Неоперативный;
Дата = ВашаДата;
Далее в процедуре ОбработкаПроведения в самом начале
РежимПроведения =РежимПроведенияДокумента.Оперативный;
Чем это всё потом может всплыть, надеюсь объяснять не нужно)
ПередЗаписью (в самом конце процедуры)
РежимПроведения =РежимПроведенияДокумента.Неоперативный;
Дата = ВашаДата;
Далее в процедуре ОбработкаПроведения в самом начале
РежимПроведения =РежимПроведенияДокумента.Оперативный;
Чем это всё потом может всплыть, надеюсь объяснять не нужно)
(13)
Оперативный режим предполагает что вы проводите в реальном времени(об этом много писали выше).
Пытаясь провести его оперативно задним числом, вы нарвётесь на то что у вас может поехать учёт!
я же написал что в обработке проведения вернуть оперативный режим(именно для проведения)
Оперативный режим предполагает что вы проводите в реальном времени(об этом много писали выше).
Пытаясь провести его оперативно задним числом, вы нарвётесь на то что у вас может поехать учёт!
я же написал что в обработке проведения вернуть оперативный режим(именно для проведения)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот