8-ке документ будущей датой по умолчанию не проводится. Небольшая независимая от остального кода заплатка в форму документа решит эту проблему Автор статьи: Гений 1С | Редакторы: evGenius
Последняя редакция №5 от 28.05.07

Ключевые слова: будущая,дата,проведение,документ,оперативный,неоперативный


Суть метода - в том, чтобы при установке в форме будущей даты режим проведения документа менялся автоматически на неоперативный и возвращался обратно в автоматический при установке нормальной даты.

Вызов обработчика в режиме Данные="" происходит при открытии формы, при этом нужно также контролировать дату. Т.е. например пользователь сохранил документ будущей датой, потом его открыл и не меняя даты проводит.

В модуль формы документа добавляется процедура:

Код 1c:
Процедура п_ОбработчикИзмененияДаты(Данные)
    Если Данные="ДокументОбъект.Дата" ИЛИ Данные="" Тогда
        Если Дата>ТекущаяДата() Тогда
            ЭтаФорма.ИспользоватьРежимПроведения=ИспользованиеРежимаПроведения.НеОперативный;
        Иначе
            ЭтаФорма.ИспользоватьРежимПроведения=ИспользованиеРежимаПроведения.Оперативный;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры


В самый конец модуля формы добавляется строчка:

Код 1c:
ПодключитьОбработчикИзмененияДанных("Дата","ОбработчикИзмененияДаты");


Вот и все.

Я было подумал, что если просто добавить в конец формы строку включения автоматического режима, то проведение будущей датой будет работать нормально, но ничего подобного, нужна именно моя схема, такая строка не дает ничего для проведения будущей датой:

Код 1c:
    ЭтаФорма.ИспользоватьРежимПроведения=ИспользованиеРежимаПроведения.Авто;





Некоторым ленивым программистам можно порекомендовать вставлять проверку в метод ПередЗаписью формы, чтобы не подключать лишние обработчики, видимо так оно проще:


Код 1c:
Процедура ПередЗаписью()
    ....
    Если Дата>ТекущаяДата() Тогда
            ЭтаФорма.ИспользоватьРежимПроведения=ИспользованиеРежимаПроведения.НеОперативный;
        Иначе
            ЭтаФорма.ИспользоватьРежимПроведения=ИспользованиеРежимаПроведения.Оперативный;
    КонецЕсли;
    ....
КонецПроцедуры