mirror of
https://github.com/BlizD/Tasks.git
synced 2025-03-19 21:07:53 +02:00
Merge pull request #48 from pallid/develope
#38 Добавлена команду "Создать иерархию задач на диске" на форму списка Задачи
This commit is contained in:
commit
3161dbd29a
@ -49,4 +49,42 @@
|
||||
+ " " + Формат(ТекущаяДата(),"ДФ=yyyy-MM-dd");
|
||||
|
||||
Возврат пКомментарииВКоде;
|
||||
КонецФункции
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьПолныйПутьЗадачи(Задача) Экспорт
|
||||
|
||||
Массив = Новый Массив;
|
||||
|
||||
ЗаполнитьМассивИерархии(Задача, Массив);
|
||||
|
||||
Разделитель = ПолучитьРазделительПутиКлиента();
|
||||
Путь = "";
|
||||
|
||||
Для Каждого СтрокаМассива ИЗ Массив Цикл
|
||||
Путь = СтрокаМассива + Разделитель + Путь;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Путь;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗаполнитьМассивИерархии(Задача, Массив)
|
||||
|
||||
НазваниеДляПапки = СобратьНазваниеДляПапки(Задача.Наименование, Задача.Код);
|
||||
Массив.Добавить(НазваниеДляПапки);
|
||||
|
||||
Если ЗначениеЗаполнено(Задача.Родитель) Тогда
|
||||
ЗаполнитьМассивИерархии(Задача.Родитель, Массив);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция СобратьНазваниеДляПапки(Наименование, Код)
|
||||
|
||||
Шаблон = "#%1 %2";
|
||||
СокращенноеНаименование = Лев(Наименование, 30);
|
||||
Результат = СтрШаблон(Шаблон, Код, СокращенноеНаименование);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
@ -41,6 +41,12 @@
|
||||
<CommandName>Form.Command.КомандаПоказатьСкрытьЗадачи</CommandName>
|
||||
<ExtendedTooltip name="ФормаКомандаПоказатьСкрытьЗадачиРасширеннаяПодсказка" id="91"/>
|
||||
</Button>
|
||||
<Button name="ФормаСоздатьИерархиюЗадачНаДиске" id="95">
|
||||
<Type>CommandBarButton</Type>
|
||||
<OnlyInAllActions>false</OnlyInAllActions>
|
||||
<CommandName>Form.Command.СоздатьИерархиюЗадачНаДиске</CommandName>
|
||||
<ExtendedTooltip name="ФормаСоздатьИерархиюЗадачНаДискеРасширеннаяПодсказка" id="96"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</AutoCommandBar>
|
||||
<Events>
|
||||
@ -487,5 +493,20 @@
|
||||
</ToolTip>
|
||||
<Action>КомандаПоказатьСкрытьЗадачи</Action>
|
||||
</Command>
|
||||
<Command name="СоздатьИерархиюЗадачНаДиске" id="5">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Создать иерархию задач на диске</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Создать иерархию задач на диске</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>СоздатьИерархиюЗадачНаДиске</Action>
|
||||
</Command>
|
||||
</Commands>
|
||||
</Form>
|
@ -67,3 +67,53 @@
|
||||
ПараметрКомпоновки = Список_Параметры.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("СкрыватьЗадачиСОпределеннымСтатусом"));
|
||||
Список_Параметры.УстановитьЗначениеПараметра("СкрыватьЗадачиСОпределеннымСтатусом",НЕ ПараметрКомпоновки.Значение);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ПолучитьПолныйПутьЗадачи(ЗадачаСсылка)
|
||||
|
||||
ПолныйПутьЗадачи = Справочники.узЗадачи.ПолучитьПолныйПутьЗадачи(ЗадачаСсылка);
|
||||
Возврат ПолныйПутьЗадачи;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СоздатьИерархиюЗадачНаДиске(Команда)
|
||||
|
||||
Каталог = ВыбратьКаталог(РежимДиалогаВыбораФайла.ВыборКаталога, "Выберите каталог");
|
||||
|
||||
Если Каталог = Неопределено тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПолныйПутьЗадачи = ПолучитьПолныйПутьЗадачи(Элементы.Список.ТекущиеДанные.Ссылка);
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ПолныйПутьЗадачи) Тогда
|
||||
Сообщить("Не удалось получить путь для задачи");
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОбъедененныйПуть = Каталог + ПолучитьРазделительПутиКлиента() + ПолныйПутьЗадачи;
|
||||
|
||||
ОписаниеОповещения = Новый ОписаниеОповещения("СоздатьИерархиюЗадачНаДиске_Продолжение", ЭтотОбъект);
|
||||
НачатьСозданиеКаталога(ОписаниеОповещения, ОбъедененныйПуть);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СоздатьИерархиюЗадачНаДиске_Продолжение(ИмяКаталога, ДополнительныеПараметры) Экспорт
|
||||
|
||||
Сообщить("Создан каталог "+ИмяКаталога);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Функция ВыбратьКаталог(Режим, Заголовок)
|
||||
|
||||
Диалог = Новый ДиалогВыбораФайла(Режим);
|
||||
Диалог.Заголовок = Заголовок;
|
||||
Диалог.ПредварительныйПросмотр = Ложь;
|
||||
|
||||
Если Диалог.Выбрать() Тогда
|
||||
Возврат Диалог.Каталог;
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
Loading…
x
Reference in New Issue
Block a user