113
Приложение 1. Текст программных модулей
Модуль документа «Задача»
// префикс номера документа
Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)
Префикс = Обмен.ПолучитьПрефиксНомера();
КонецПроцедуры
// при вводе нового документа
Процедура ОбработкаЗаполнения(Основание, Значение)
ОбщийСрв.ПриВводеНовойЗадачи(ЭтотОбъект); // заполнить все реквизиты
по-умолчанию для новой задачи
// если вводится на основании Контрагента
Если ТипЗнч(Основание) = Тип("СправочникСсылка.Контрагенты") Тогда
Контрагент = Основание; // основание - это
контрагент
Отвественный = Основание.Отвественный; // отвественный по задаче -
ответсвенный по контрагенту
Исполнитель = Исполнители.Добавить(); // первый исполнитель -
Исполнитель.Исполнитель = Основание.Отвественный;
Исполнитель.Процент = 100;
КонецЕсли;
// если вводится на основании другой задачи
Если ТипЗнч(Основание) = Тип("ДокументСсылка.Задача") Тогда
ОбщийСрв.ПриВводеНовойЗадачи(ЭтотОбъект, Основание);
ДокОснование = Документы.Задача.ПустаяСсылка();
КонецЕсли;
Если ТипЗнч(Основание) = Тип("Структура") Тогда //если вводлится новый
из списка с установленным отбором
// то данные заполняются автоматически из отбора "Заполнять из
данных заполнения"
КонецЕсли
КонецПроцедуры
// если копирование - то переопределить логику копирования
Процедура ПриКопировании(ОбъектКопирования)
Автор = ПараметрыСеанса.глПользователь; // автор - текущий
пользователь
Отвественный = ПараметрыСеанса.глПользователь; // автор - текущий
пользователь
Статус = Справочники.Статусы.Новая; // новая
задача - статус Новая