Передача дел на время отсутствия сотрудника — одна из ключевых задач в системе электронного документооборота. В 1С:Документооборот существует несколько механизмов, позволяющих не только передать текущие задачи, но и обеспечить корректную работу с новыми документами. Рассмотрим подробно, как организовать этот процесс, и разберем технические нюансы написания скриптов для автозаполнения реквизитов организации в шаблонах файлов.
Для начала разберем стандартный алгоритм действий, который подходит как для версии 2.1, так и для концепций версии 3.0. Основная задача — сделать так, чтобы замещающее лицо получило доступ к задачам и документам отсутствующего коллеги. Проанализируем последовательность действий:
Отсутствие. Здесь указываются сроки отпуска, причина и, что самое важное, сотрудник, который будет замещать коллегу.Делегирование прав. Это критически важный шаг. Делегирование позволяет другому пользователю видеть документы и задачи от лица отпускника. Вы можете делегировать как все права, так и только определенные области (например, только работу с входящими документами или конкретными процессами).Часто возникает вопрос: что делать с задачами, которые уже находятся в работе («начаты»), и в которых нельзя просто так поменять контролера или исполнителя? Рассмотрим ситуацию, когда нужно «подтолкнуть» процесс.
Для этого мы используем механизм Эскалация задач. Эскалация позволяет настроить автоматические правила обработки задач при наступлении определенных условий (например, если исполнитель не выполнил задачу в срок или находится в отпуске). Разберем шаги настройки:
Эскалация задач в консоли администратора. Без него правила не будут срабатывать автоматически.Отсутствие, задача должна быть перенаправлена замещающему.Перейдем к технической части. Часто при создании документов из шаблонов требуется автоматически подставлять юридический адрес организации или контрагента. Разберем ситуацию, когда стандартный скрипт для контрагента не работает для собственной организации. Проанализируем типичный пример кода и исправим его ошибки.
Если нам нужно вытянуть адрес именно для Организации (нашей компании), код должен учитывать, что ссылка будет относиться к справочнику Организации, а не Контрагенты. Посмотрим на исправленный вариант скрипта:
// Получаем стороны документа
Стороны = Файл.ВладелецФайла.Стороны;
Компания = Неопределено;
// Ищем в списке сторон нашу организацию
Для каждого Стр Из Стороны Цикл
Если ТипЗнч(Стр.Сторона) = Тип("СправочникСсылка.Организации") Тогда
Компания = Стр.Сторона;
Прервать;
КонецЕсли;
КонецЦикла;
Если Компания <> Неопределено Тогда
// Запрос к контактной информации организации
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОрганизацииКонтактнаяИнформация.Представление КАК ЮрАдрес
| ИЗ
| Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация
| ГДЕ
| ОрганизацииКонтактнаяИнформация.Ссылка = &Компания
| И ОрганизацииКонтактнаяИнформация.Вид = &Вид";
Запрос.УстановитьПараметр("Компания", Компания);
// Важно: используем вид именно для организаций!
Запрос.УстановитьПараметр("Вид", Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации);
Результат = Запрос.Выполнить().Выбрать();
Если Результат.Следующий() Тогда
РезультатОбработки = Результат.ЮрАдрес;
Иначе
РезультатОбработки = "";
КонецЕсли;
Иначе
РезультатОбработки = "Организация не найдена в списке сторон";
КонецЕсли;
Важный момент: Обратите внимание на параметр Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации. Одна из самых распространенных ошибок — использование предопределенного элемента ЮрАдресКонтрагента при попытке получить данные организации. В базе 1С это разные элементы справочника ВидыКонтактнойИнформации, и запрос вернет пустой результат, если их перепутать.
Еще один частый вопрос — автоматическая подстановка фразы «на основании Устава» или данных доверенности. Рассмотрим логику, которую можно заложить в скрипт автозаполнения:
Как правило, если в документе фигурирует руководитель (Генеральный директор), он действует на основании Устава. Если же документ подписывает сотрудник по доверенности, необходимо вытянуть реквизиты этой доверенности. Рассмотрим пример логики:
"Устава".В современных версиях 1С:Документооборот (особенно 3.0) мы рекомендуем вместо написания сложных запросов использовать встроенные функции общего модуля УправлениеКонтактнойИнформацией. Это делает код более стабильным при обновлениях системы. Например, получение адреса одной строкой:
РезультатОбработки = УправлениеКонтактнойИнформацией.ПредставлениеОбъекта(Компания, Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации);
Подведем итог: для успешной передачи дел на время отпуска используйте связку Отсутствие + Делегирование (или Замещение) + Эскалация. А при настройке шаблонов внимательно следите за типами объектов (Организация vs Контрагент) и используйте правильные ссылки на виды контактной информации. Это обеспечит бесперебойную работу бизнес-процессов в компании даже в период массовых отпусков.