Обработка в составе конфигурации. Не обращается к процедурам и функциям конфигурации.
Для внедрения необходимо вставить представленную внешнюю обработку с именем , например, "ИзменениеДатыВремениДокумента",
и создать команду обработки, например, "ИзменитьДатуВремяДокумента". В свойствах команды установить подсказку, а так же:
- Группа "Командная панель формы.Важное";
- ТипПараметра команды - выбрать нужные документы (обычно все).
- Отображение (картинка, текст) - по желанию, обычно картинка.
- Модуль команды:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
Документ = ПараметрКоманды;
Если Документ.Пустая() Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Документ не записан.");
Возврат;
ИначеЕсли ТипЗнч(ПараметрыВыполненияКоманды.Источник) <> Тип("УправляемаяФорма") Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Команда вызывается из форм журналов и документов.");
Возврат;
КонецЕсли;
ОткрытьФорму("Обработка.ИзменениеДатыВремениДокумента.Форма",
Новый Структура("Документ", Документ),
ПараметрыВыполненияКоманды.Источник,
ПараметрКоманды,
,
,
,
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры // ОбработкаКоманды
В обработке есть закладки "Установить время" и "Установить дату" с вариантами установки времени. Легко реализовать варианты "после документов оплат", "перед документами расхода" и т.д., так как выбираются все документы на дату. При изменении даты нужны времена только начального и конечного документов, так что для этого случая запрос можно ускорить функциями минимум и максимум.
Команда должна появится в командных панелях документов и списков документов.
Для обновления времени в форме (Имя события "Изменен объект" может быть изменено в обработке и формах документов):
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия = "Изменен объект" И Объект.Ссылка = Параметр Тогда
Прочитать();
КонецЕсли;
КонецПроцедуры // ОбработкаОповещения
(!) Зафиксирована ошибка при выборе "в конец дня". Внесены изменения в процедуру модуля формы "ИзменитьДатуВремяНаСервере":
ИначеЕсли ВариантВремени > 0 заменено на ИНАЧЕ