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