173
&НаСервере
Процедура СохранитьСтрокуДерева(СтрокаДерева)
Задача = СтрокаДерева.ПодЗадача;
ЗадачаОбъект = Задача.ПолучитьОбъект();
ЗадачаОбъект.Подзадачи.Очистить(); // очистить таб. часть
подзадачи
Для Каждого Строка Из СтрокаДерева.ПолучитьЭлементы() Цикл
Новая = ЗадачаОбъект.Подзадачи.Добавить(); // добавить из
дерева каждую строку в таб часть
Новая.Подзадача = Строка.Подзадача;
Новая.Комментарий = Строка.Комментарий;
СохранитьСтрокуДерева(Строка); // рекрсивно для каждой
строки
КонецЦикла;
ЗадачаОбъект.Записать();
КонецПроцедуры
// создать новую задачу (для варианта создания новой подзадачи
программно, а не в пустой форме)
&НаСервере
Функция СоздатьПодзадачуНаСервере(Шаблон = Неопределено,
Основание = Неопределено)
// создать новый документ
НоваяПодЗадача = Документы.Задача.СоздатьДокумент();
НоваяПодЗадача.Дата = ТекущаяДата();
НоваяПодЗадача.УстановитьНовыйНомер();
// заполнить реквизиты по-умолчанию и из основания
ОбщийСрв.ПриВводеНовойЗадачи(НоваяПодЗадача, Основание,
Ложь);
Если Не Шаблон = Неопределено Тогда // если шаблон задан, то
часть реквизитов - из шаблона
НоваяПодЗадача.Наименование = Шаблон.Наименование;
Ответсвенный = Справочники.Сотрудники.ПустаяСсылка();
Если Не Шаблон.ОтветсвенныйСотрудник.Пустая() Тогда
Ответсвенный = Шаблон.ОтветсвенныйСотрудник;
Иначе
Ответсвенный =
ОбщийСрв.ОтветсвенныйПоПодразделению(Шаблон.ОтветсвенноеПодразделе
ние);
КонецЕсли;