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