Я вот задумался - а как бы это сделать. Получилось примерно так - делается константа СписокНаЗакрытие, тип - строка, длина неограничена.
для закрытия вешаем на список документов кнопочку с процедуркой
процедура ВнестиВСписокНаЗакрытие()
Если СокрЛП(Константа.СписокНаЗакрытие) = "" тогда
Спс = СоздатьОбъект("списокЗначений");
иначе
Спс = ЗначениеИзСтроки(Константа.СписокНаЗакрытие);
КонецЕсли;
Спс.ДобавитьЗначение(ТекущийДокумент);
Константа.СписокНаЗакрытие = ЗначениеВСтроку(Спс);
КонецПроцелдуры
В форме документа пишем процедурку
Процедура ЗакрытьПоЗапросу()
Если СокрЛП(Константа.СписокНаЗакрытие) = "" тогда
Спс = СоздатьОбъект("списокЗначений");
иначе
Спс = ЗначениеИзСтроки(Константа.СписокНаЗакрытие);
КонецЕсли;
Нашли = Спс.НайтиЗначение(ТекущийДокумент());
Если Нашли >0 Тогда
Спс.УдалитьЗначение(Нашли);
Форма.Закрыть(0);
КонецЕсли;
КонецПроцедуры
и чтобы это работало раз в скажем 5 секунд в приОТкрытии() добавляем строчку
Форма.ОбработкаОжидания("ЗакрытьПоЗапросу",5);
раз в пять сек буду всех пользователей с открытыми документами этого типа будет вызываться процедура ЗакрытьПоЗапросу() получать список документов на закрытие, если нашел себя - то закрываться без запросов.