v8: Как разрешить проведение будующей датой в форме документаВ 8-ке документ будующей датой по умолчанию не проводится. Небольшая независимая от остального кода заплатка в форму документа решит эту проблему | | Автор статьи: Последняя редакция №1 от 11.04.06 URL: http://kb.mista.ru/article.php?id=137 | |
Ключевые слова: будующая,дата,проведение,документ,оперативный,неоперативный
Суть метода - в том, чтобы при установке в форме будующей даты режим проведения документа менялся автоматически на неоперативный и возвращался обратно в автоматический при установке нормальной даты.
Вызов обработчика в режиме Данные="" происходит при открытии формы, при этом нужно также контролировать дату. Т.е. например пользователь сохранил документ будущей датой, потом его открыл и не меняя даты проводит.
В модуль формы документа добавляется процедура:
Процедура п_ОбработчикИзмененияДаты(Данные)
Если Данные="ДокументОбъект.Дата" ИЛИ Данные="" Тогда
Если Дата>ТекущаяДата() Тогда
ЭтаФорма.ИспользоватьРежимПроведения=ИспользованиеРежимаПроведения.НеОперативный;
Иначе
ЭтаФорма.ИспользоватьРежимПроведения=ИспользованиеРежимаПроведения.Оперативный;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
В самый конец модуля формы добавляется строчка:
ПодключитьОбработчикИзмененияДанных("Дата","ОбработчикИзмененияДаты");
Вот и все.
Я было подумал, что если просто добавить в конец формы строку включения автоматического режима, то проведение будующей датой будет работать нормально, но ничего подобного, нужна именно моя схема, такая строка не дает ничего для проведения будущей датой:
ЭтаФорма.ИспользоватьРежимПроведения=ИспользованиеРежимаПроведения.Авто;
|