Здравствуйте.
Кажется, простой вопрос, но что-то сходу не получается. Например, поставить в начало дня.
Если делаю подписку ПередЗаписью документа и там устанавливаю нужную дату - срабатывает, кроме случая, когда это новый документ и первый раз записывается в базу.
Во всех остальных случаях - для существующего документа при записи или проведении дата в начало дня ставиться.

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

Подписка отрабатывает, но потом, все равно, ставить дату не правило.

Пробовал событие ПриЗаписи - но там тоже очевидно не срабатывает,
---
при оперативном проведении текущим днем всегда будет подставлена текущая дата и время, или время +1сек от последнего документа, если такие же документы уже заняли нужный диапазон. Если весь диапазон в текущей даты занят, тогда время будет 23:59:59.
Только запрет оперативного проведения.
---
если только периодически запускать обработку по переносу времени в документах. В подписке на сам документ при оперативном проведении не поможет.
---
Вопрос: как в подписке поставить в начало дня еще не записанный в базу документ?

дык определитесь все-таки записанный или нет
---
Так мне все случаи надо обработать. И существующие перегнать (если надо).
И не записанный.
---
запретить документу оперативное проведение. Но это уже не подпиской.
---
Код покажите из подписки.
---
Вот код изменения даты (без проверок)

```1c
    Если Источник.Дата <> НачалоДня(Источник.Дата) Тогда
    Источник.Дата = НачалоДня(Источник.Дата);
    КонецЕсли;
```
---
Что говорит отладчик на Источник.Дата в этом месте?
---
Все ОК, говорит, заходит сюда и меняет
Например было 08.02.2018 12.15
Стало Источник.Дата = 08.02.2018 00.00
---
при оперативном проведении текущим днем всегда будет подставлена текущая дата и время, или время +1сек от последнего документа, если такие же документы уже заняли нужный диапазон. Если весь диапазон в текущей даты занят, тогда время будет 23:59:59.
Только запрет оперативного проведения.
---
Да, именно стоит у дока оперативное проведение.
---
Тады ой.
---
можете проверить. Новый документ не проводить, а просто записать. Время нужное подставилось?
При оперативном проведении все равно будет подставлено время самой платформой.
---
И что, кроме отключения оперативного проведения ничего не поможет?

Посмотрел - в подписке ОбработкаПроведения - тоже еще стоит начало дня.
---
если только периодически запускать обработку по переносу времени в документах. В подписке на сам документ при оперативном проведении не поможет.
---
Ясно, спасибо. А программная смена режима проведения не влияет? Я попробовал сменить на неоперативный в обработке проведения - не помогло.

Пока оставлю так, как есть - т.е. при повторной записи срабатывает подписка ПередЗаписью и проводит (записывает) документ началом дня.

Т.е. надо перепровести документ и все.
---
ТОгда где-то еще меняется, ЗАПИСЬ должна проходить правильно. Вот с проведением проблемы, да.
---
Попутал немного. При проведении еще не записанного дока в базу и так ставит начало дня.
в этой подписке.
Но потом все равно устанавливает свое время.
Очевидно в обработкеПроведения самого документа
---
а дата это элемент формы документа доступный для записи?

Если НачалоДня(Объект.Дата) = НачалоДня(ТекущаяДатаДокумента) Тогда
  // Изменение времени не влияет на поведение документа.
  ТекущаяДатаДокумента = Объект.Дата;
  Возврат;
 КонецЕсли;
---
какой еще элемент формы в подписке?
---
Ваша подписка находится в самом конце всех подписок в конфигурации? Если нет - сдвиньте в самый конец.
---
подписки не имеют нумерованной очереди. Могут выполняться в случайном порядке.
---
вы это в книжке прочитали или на свой опыт опираетесь? То, что они не ОБЯЗАНЫ выполняться подряд - я в курсе. То, что они ПО ФАКТУ выполняются сейчас подряд - тоже факт.
---
можете верить во что угодно.
Правила формирования guid объяснять не буду.
---
Да, в конце.