mirror of
https://github.com/BlizD/Tasks.git
synced 2025-03-19 21:07:53 +02:00
Merge pull request #59 from pallid/develope
#51 Новая команда "Открыть папку задачи на диске"
This commit is contained in:
commit
fbf48c720a
@ -3221,6 +3221,39 @@
|
||||
<Shortcut>Ctrl+Shift+F</Shortcut>
|
||||
</Properties>
|
||||
</Command>
|
||||
<Command uuid="055e7596-bb91-4c07-8a20-cb27e6375617">
|
||||
<Properties>
|
||||
<Name>КомандаОткрытьПапкуЗадачиНаДиске</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Открыть папку задачи на диске</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>Create a file for the task on disk</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>ro</v8:lang>
|
||||
<v8:content>Create a file for the task on disk</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Group>CommandGroup.узДействияЗадачи</Group>
|
||||
<CommandParameterType>
|
||||
<v8:Type>cfg:CatalogRef.узЗадачи</v8:Type>
|
||||
</CommandParameterType>
|
||||
<ParameterUseMode>Multiple</ParameterUseMode>
|
||||
<ModifiesData>false</ModifiesData>
|
||||
<Representation>PictureAndText</Representation>
|
||||
<ToolTip/>
|
||||
<Picture>
|
||||
<xr:Ref>CommonPicture.Папка</xr:Ref>
|
||||
<xr:LoadTransparent>true</xr:LoadTransparent>
|
||||
</Picture>
|
||||
<Shortcut>Ctrl+Shift+O</Shortcut>
|
||||
</Properties>
|
||||
</Command>
|
||||
</ChildObjects>
|
||||
</Catalog>
|
||||
</MetaDataObject>
|
||||
</MetaDataObject>
|
||||
|
@ -0,0 +1,14 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
|
||||
|
||||
Если ТипЗнч(ПараметрКоманды) = Тип("СправочникСсылка.узЗадачи") Тогда
|
||||
Массив = Новый Массив;
|
||||
Массив.Добавить(ПараметрКоманды);
|
||||
ИначеЕсли ТипЗнч(ПараметрКоманды) = Тип("Массив") Тогда
|
||||
Массив = ПараметрКоманды;
|
||||
КонецЕсли;
|
||||
|
||||
узОбщийМодульКлиент.ОткрытьПапкуЗадачиНаДиске(Массив);
|
||||
|
||||
КонецПроцедуры
|
@ -20,7 +20,7 @@
|
||||
Процедура СоздатьФайлДляЗадачиНаДиске(Массив) Экспорт
|
||||
|
||||
Пользователь = ПользователиКлиентСервер.ТекущийПользователь();
|
||||
Каталог = узОбщийМодульСервер.ЗначениеРеквизитаОбъекта(Пользователь, "узКаталогПользователя");
|
||||
Каталог = ПолучитьКаталогПользователя(Пользователь);
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Каталог) Тогда
|
||||
Каталог = ВыбратьКаталог(РежимДиалогаВыбораФайла.ВыборКаталога, "Выберите каталог");
|
||||
@ -90,3 +90,65 @@
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ОткрытьПапкуЗадачиНаДиске(Массив) Экспорт
|
||||
|
||||
Пользователь = ПользователиКлиентСервер.ТекущийПользователь();
|
||||
Каталог = ПолучитьКаталогПользователя(Пользователь);
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Каталог) Тогда
|
||||
|
||||
пТекстСообщения = узОбщийМодульСервер.ПолучитьТекстСообщения("ВНИМАНИЕ! Для открытия задачи на диске "
|
||||
+"не указан реквизит [Каталог пользователя] в справочнике пользователи",97);
|
||||
Сообщить(пТекстСообщения);
|
||||
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого СтрокаМассива Из Массив Цикл
|
||||
|
||||
КодЗадачи = узОбщийМодульСервер.ЗначениеРеквизитаОбъекта(СтрокаМассива, "Код");
|
||||
Код = ""+Формат(КодЗадачи,"ЧГ=0");
|
||||
|
||||
Разделитель = ПолучитьРазделительПути();
|
||||
|
||||
Если НЕ СтрЗаканчиваетсяНа(Каталог, Разделитель) Тогда
|
||||
Каталог = Каталог + Разделитель;
|
||||
КонецЕсли;
|
||||
|
||||
МаскаПоиска = "*#"+Код+"*";
|
||||
МассивФайлов = НайтиФайлы(Каталог, МаскаПоиска);
|
||||
|
||||
Если МассивФайлов.Количество() = 0 Тогда
|
||||
пТекстСообщения = узОбщийМодульСервер.ПолучитьТекстСообщения("Не найдена папка с задачей #%1 в каталоге %2",98);
|
||||
пТекстСообщения = СтрШаблон(пТекстСообщения, Код, Каталог);
|
||||
Сообщить(пТекстСообщения);
|
||||
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если МассивФайлов.Количество() > 1 Тогда
|
||||
пТекстСообщения = узОбщийМодульСервер.ПолучитьТекстСообщения("Найдено более одной папки для задачи #%1 в каталоге %2",99);
|
||||
пТекстСообщения = СтрШаблон(пТекстСообщения, Код, Каталог);
|
||||
Сообщить(пТекстСообщения);
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеОповещения = Новый ОписаниеОповещения("ОткрытьПапкуЗадачиНаДиске_Продолжение", ЭтотОбъект);
|
||||
ВыполнитьОбработкуОповещения(ОписаниеОповещения, МассивФайлов[0].ПолноеИмя);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОткрытьПапкуЗадачиНаДиске_Продолжение(Результат, ДополнительныеПараметры) Экспорт
|
||||
|
||||
ЗапуститьПриложение(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПолучитьКаталогПользователя(Пользователь)
|
||||
|
||||
Возврат узОбщийМодульСервер.ЗначениеРеквизитаОбъекта(Пользователь, "узКаталогПользователя");
|
||||
|
||||
КонецФункции
|
@ -539,5 +539,25 @@
|
||||
<Action>КомандаСоздатьФайлДляЗадачиНаДиске</Action>
|
||||
<Representation>TextPicture</Representation>
|
||||
</Command>
|
||||
<Command name="КомандаОткрытьПапкуЗадачиНаДиске" id="10">
|
||||
<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>
|
||||
<Shortcut>Ctrl+Shift+O</Shortcut>
|
||||
<Picture>
|
||||
<xr:Ref>CommonPicture.Папка</xr:Ref>
|
||||
<xr:LoadTransparent>true</xr:LoadTransparent>
|
||||
</Picture>
|
||||
<Action>КомандаОткрытьПапкуЗадачиНаДиске</Action>
|
||||
</Command>
|
||||
</Commands>
|
||||
</Form>
|
||||
</Form>
|
||||
|
@ -226,6 +226,8 @@
|
||||
МассивКодовСообщений.Добавить(81);//Добавить в текущие дела
|
||||
МассивКодовСообщений.Добавить(83);//Скопировать комментарий в коде Copy the comment in the code
|
||||
МассивКодовСообщений.Добавить(96);//Создать файл для задачи на диске
|
||||
МассивКодовСообщений.Добавить(101);//Открыть папку задачи на диске
|
||||
|
||||
|
||||
СтруктураСообщений = РегистрыСведений.узСловарь.ПолучитьСтруктуруСообщений(МассивКодовСообщений);
|
||||
|
||||
@ -242,7 +244,12 @@
|
||||
пКомандаСоздатьФайлДляЗадачиНаДиске = пЭлементыФормы.Добавить(ИменаЭлементов.ИмяКомандыСоздатьФайлДляЗадачиНаДиске, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню);
|
||||
пКомандаСоздатьФайлДляЗадачиНаДиске.Заголовок=СтруктураСообщений.Текст96;
|
||||
пКомандаСоздатьФайлДляЗадачиНаДиске.ИмяКоманды="КомандаСоздатьФайлДляЗадачиНаДиске";
|
||||
пКомандаСоздатьФайлДляЗадачиНаДиске.Отображение = ОтображениеКнопки.КартинкаИТекст;
|
||||
пКомандаСоздатьФайлДляЗадачиНаДиске.Отображение = ОтображениеКнопки.КартинкаИТекст;
|
||||
|
||||
пКомандаОткрытьПапкуЗадачиНаДиске = пЭлементыФормы.Добавить(ИменаЭлементов.ИмяКомандыОткрытьПапкуЗадачиНаДиске, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню);
|
||||
пКомандаОткрытьПапкуЗадачиНаДиске.Заголовок=СтруктураСообщений.Текст101;
|
||||
пКомандаОткрытьПапкуЗадачиНаДиске.ИмяКоманды="КомандаОткрытьПапкуЗадачиНаДиске";
|
||||
пКомандаОткрытьПапкуЗадачиНаДиске.Отображение = ОтображениеКнопки.КартинкаИТекст;
|
||||
|
||||
пКомандаДобавитьВСпринт = пЭлементыФормы.Добавить(ИменаЭлементов.ИмяКомандыДобавитьВСпринт, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню);
|
||||
пКомандаДобавитьВСпринт.Заголовок=СтруктураСообщений.Текст71;
|
||||
@ -342,6 +349,7 @@
|
||||
ИмяКомандыДобавитьВТекущиеДела = ИмяКолонки + "_ТЧЗадачи_КомандаДобавитьВТекущиеДела";
|
||||
ИмяКомандыСкопироватьКомментарийВКоде = ИмяКолонки + "_ТЧЗадачи_КомандаСкопироватьКомментарийВКоде";
|
||||
ИмяКомандыСоздатьФайлДляЗадачиНаДиске = ИмяКолонки + "_ТЧЗадачи_СоздатьФайлДляЗадачиНаДиске";
|
||||
ИмяКомандыОткрытьПапкуЗадачиНаДиске = ИмяКолонки + "_ТЧЗадачи_ОткрытьПапкуЗадачиНаДиске";
|
||||
|
||||
ИмяКарточкаЗадачи = ИмяКолонки + "_ТЧЗадачиКарточкаЗадачи";
|
||||
ИмяКарточкаЗадачи_НижняяЧасть = ИмяКолонки + "_ТЧЗадачиКарточкаЗадачи_НижняяЧасть";
|
||||
@ -362,6 +370,7 @@
|
||||
РезультатФункции.Вставить("ИмяКомандыДобавитьВТекущиеДела",ИмяКомандыДобавитьВТекущиеДела);
|
||||
РезультатФункции.Вставить("ИмяКомандыСкопироватьКомментарийВКоде",ИмяКомандыСкопироватьКомментарийВКоде);
|
||||
РезультатФункции.Вставить("ИмяКомандыСоздатьФайлДляЗадачиНаДиске",ИмяКомандыСоздатьФайлДляЗадачиНаДиске);
|
||||
РезультатФункции.Вставить("ИмяКомандыОткрытьПапкуЗадачиНаДиске",ИмяКомандыОткрытьПапкуЗадачиНаДиске);
|
||||
|
||||
РезультатФункции.Вставить("ИмяКарточкаЗадачи",ИмяКарточкаЗадачи);
|
||||
РезультатФункции.Вставить("ИмяКарточкаЗадачи_НижняяЧасть",ИмяКарточкаЗадачи_НижняяЧасть);
|
||||
@ -997,6 +1006,23 @@
|
||||
Оповестить("КомандаСоздатьИерархиюЗадачНаДиске");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура КомандаОткрытьПапкуЗадачиНаДиске(Команда)
|
||||
СтрокаТЧ = Элементы[ИмяАктивнойТЧ].ТекущиеДанные;
|
||||
Если СтрокаТЧ = Неопределено тогда
|
||||
узОбщийМодульСервер.узСообщить("Выберите задачи, для которых хотите открыть папки на диске",100);
|
||||
Возврат;
|
||||
Конецесли;
|
||||
МассивВыделенныхСтрок = Элементы[ИмяАктивнойТЧ].ВыделенныеСтроки;
|
||||
Если МассивВыделенныхСтрок.Количество() = 0 Тогда
|
||||
узОбщийМодульСервер.узСообщить("Выберите задачи, для которых хотите открыть папки на диске",100);
|
||||
Возврат;
|
||||
Конецесли;
|
||||
Массив = ПолучитьМассивЗадачПоВыделеннымСтрокам(МассивВыделенныхСтрок);
|
||||
узОбщийМодульКлиент.ОткрытьПапкуЗадачиНаДиске(Массив);
|
||||
Оповестить("КомандаОткрытьПапкуЗадачиНаДиске");
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОформлениеКанбанДоски
|
||||
|
@ -84,6 +84,13 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Catalog.узЗадачи.Command.КомандаОткрытьПапкуЗадачиНаДиске</name>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>InformationRegister.НаличиеПрисоединенныхФайлов</name>
|
||||
<right>
|
||||
@ -6177,4 +6184,4 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
</Rights>
|
||||
</Rights>
|
||||
|
Loading…
x
Reference in New Issue
Block a user