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