From af7790fb635e33aa5884a1f91b7eb56c06b40cac Mon Sep 17 00:00:00 2001 From: pallid <1005220@mail.ru> Date: Sat, 12 Aug 2017 19:44:21 +0300 Subject: [PATCH] =?UTF-8?q?#38=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=83?= =?UTF-8?q?=20"=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D1=82=D1=8C=20=D0=B8=D0=B5?= =?UTF-8?q?=D1=80=D0=B0=D1=80=D1=85=D0=B8=D1=8E=20=D0=B7=D0=B0=D0=B4=D0=B0?= =?UTF-8?q?=D1=87=20=D0=BD=D0=B0=20=D0=B4=D0=B8=D1=81=D0=BA=D0=B5"=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=84=D0=BE=D1=80=D0=BC=D1=83=20=D1=81=D0=BF?= =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=B0=20=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Catalogs/узЗадачи/Ext/ManagerModule.bsl | 40 ++++++++++++++- .../узЗадачи/Forms/ФормаСписка/Ext/Form.xml | 21 ++++++++ .../Forms/ФормаСписка/Ext/Form/Module.bsl | 50 +++++++++++++++++++ 3 files changed, 110 insertions(+), 1 deletion(-) diff --git a/src/cf/Catalogs/узЗадачи/Ext/ManagerModule.bsl b/src/cf/Catalogs/узЗадачи/Ext/ManagerModule.bsl index 17fb2deeb..6f1c143a2 100644 --- a/src/cf/Catalogs/узЗадачи/Ext/ManagerModule.bsl +++ b/src/cf/Catalogs/узЗадачи/Ext/ManagerModule.bsl @@ -49,4 +49,42 @@ + " " + Формат(ТекущаяДата(),"ДФ=yyyy-MM-dd"); Возврат пКомментарииВКоде; -КонецФункции \ No newline at end of file +КонецФункции + +Функция ПолучитьПолныйПутьЗадачи(Задача) Экспорт + + Массив = Новый Массив; + + ЗаполнитьМассивИерархии(Задача, Массив); + + Разделитель = ПолучитьРазделительПутиКлиента(); + Путь = ""; + + Для Каждого СтрокаМассива ИЗ Массив Цикл + Путь = СтрокаМассива + Разделитель + Путь; + КонецЦикла; + + Возврат Путь; + +КонецФункции + +Процедура ЗаполнитьМассивИерархии(Задача, Массив) + + НазваниеДляПапки = СобратьНазваниеДляПапки(Задача.Наименование, Задача.Код); + Массив.Добавить(НазваниеДляПапки); + + Если ЗначениеЗаполнено(Задача.Родитель) Тогда + ЗаполнитьМассивИерархии(Задача.Родитель, Массив); + КонецЕсли; + +КонецПроцедуры + +Функция СобратьНазваниеДляПапки(Наименование, Код) + + Шаблон = "#%1 %2"; + СокращенноеНаименование = Лев(Наименование, 30); + Результат = СтрШаблон(Шаблон, Код, СокращенноеНаименование); + + Возврат Результат; + +КонецФункции \ No newline at end of file diff --git a/src/cf/Catalogs/узЗадачи/Forms/ФормаСписка/Ext/Form.xml b/src/cf/Catalogs/узЗадачи/Forms/ФормаСписка/Ext/Form.xml index 2149506cc..279202317 100644 --- a/src/cf/Catalogs/узЗадачи/Forms/ФормаСписка/Ext/Form.xml +++ b/src/cf/Catalogs/узЗадачи/Forms/ФормаСписка/Ext/Form.xml @@ -41,6 +41,12 @@ Form.Command.КомандаПоказатьСкрытьЗадачи + @@ -487,5 +493,20 @@ КомандаПоказатьСкрытьЗадачи + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Создать иерархию задач на диске</v8:content> + </v8:item> + + + + ru + Создать иерархию задач на диске + + + СоздатьИерархиюЗадачНаДиске + \ No newline at end of file diff --git a/src/cf/Catalogs/узЗадачи/Forms/ФормаСписка/Ext/Form/Module.bsl b/src/cf/Catalogs/узЗадачи/Forms/ФормаСписка/Ext/Form/Module.bsl index 920d559cd..5b5aa1a9b 100644 --- a/src/cf/Catalogs/узЗадачи/Forms/ФормаСписка/Ext/Form/Module.bsl +++ b/src/cf/Catalogs/узЗадачи/Forms/ФормаСписка/Ext/Form/Module.bsl @@ -67,3 +67,53 @@ ПараметрКомпоновки = Список_Параметры.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("СкрыватьЗадачиСОпределеннымСтатусом")); Список_Параметры.УстановитьЗначениеПараметра("СкрыватьЗадачиСОпределеннымСтатусом",НЕ ПараметрКомпоновки.Значение); КонецПроцедуры + +&НаСервере +Функция ПолучитьПолныйПутьЗадачи(ЗадачаСсылка) + + ПолныйПутьЗадачи = Справочники.узЗадачи.ПолучитьПолныйПутьЗадачи(ЗадачаСсылка); + Возврат ПолныйПутьЗадачи; + +КонецФункции + +&НаКлиенте +Процедура СоздатьИерархиюЗадачНаДиске(Команда) + + Каталог = ВыбратьКаталог(РежимДиалогаВыбораФайла.ВыборКаталога, "Выберите каталог"); + + Если Каталог = Неопределено тогда + Возврат; + КонецЕсли; + + ПолныйПутьЗадачи = ПолучитьПолныйПутьЗадачи(Элементы.Список.ТекущиеДанные.Ссылка); + + Если НЕ ЗначениеЗаполнено(ПолныйПутьЗадачи) Тогда + Сообщить("Не удалось получить путь для задачи"); + Возврат; + КонецЕсли; + + ОбъедененныйПуть = Каталог + ПолучитьРазделительПутиКлиента() + ПолныйПутьЗадачи; + + ОписаниеОповещения = Новый ОписаниеОповещения("СоздатьИерархиюЗадачНаДиске_Продолжение", ЭтотОбъект); + НачатьСозданиеКаталога(ОписаниеОповещения, ОбъедененныйПуть); + +КонецПроцедуры + +Процедура СоздатьИерархиюЗадачНаДиске_Продолжение(ИмяКаталога, ДополнительныеПараметры) Экспорт + + Сообщить("Создан каталог "+ИмяКаталога); + +КонецПроцедуры + +&НаКлиенте +Функция ВыбратьКаталог(Режим, Заголовок) + + Диалог = Новый ДиалогВыбораФайла(Режим); + Диалог.Заголовок = Заголовок; + Диалог.ПредварительныйПросмотр = Ложь; + + Если Диалог.Выбрать() Тогда + Возврат Диалог.Каталог; + КонецЕсли; + +КонецФункции