diff --git a/src/cf/Catalogs/узЗадачи/Commands/КомандаСоздатьФайлДляЗадачиНаДиске/Ext/CommandModule.bsl b/src/cf/Catalogs/узЗадачи/Commands/КомандаСоздатьФайлДляЗадачиНаДиске/Ext/CommandModule.bsl new file mode 100644 index 000000000..7ad56b0e8 --- /dev/null +++ b/src/cf/Catalogs/узЗадачи/Commands/КомандаСоздатьФайлДляЗадачиНаДиске/Ext/CommandModule.bsl @@ -0,0 +1,14 @@ + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + + Если ТипЗнч(ПараметрКоманды) = Тип("СправочникСсылка.узЗадачи") Тогда + Массив = Новый Массив; + Массив.Добавить(ПараметрКоманды); + ИначеЕсли ТипЗнч(ПараметрКоманды) = Тип("Массив") Тогда + Массив = ПараметрКоманды; + КонецЕсли; + + узОбщийМодульКлиент.СоздатьФайлДляЗадачиНаДиске(Массив); + +КонецПроцедуры diff --git a/src/cf/Catalogs/узШаблоны.xml b/src/cf/Catalogs/узШаблоны.xml new file mode 100644 index 000000000..2cf82eebe --- /dev/null +++ b/src/cf/Catalogs/узШаблоны.xml @@ -0,0 +1,284 @@ + + + + + + 043b5688-86f7-4c81-a79c-224936de9e65 + d687f70c-7135-4ee8-ab25-aa2f823ccb39 + + + bbc0c409-6039-422e-b584-3ef7fe16fad5 + 75c09b81-6d99-439a-9788-526e43afb291 + + + 2a1c6d10-195e-4d1a-8f18-a697adf72f10 + 39ebf71e-12da-4879-bcba-c330faab4274 + + + 07932467-7d4c-434a-a3ab-679f68fb0600 + d4b57d74-e851-401d-b808-e29a2f1d2d72 + + + 8ee33b7f-ce73-4452-a4a5-f4ea7b0c1f99 + 98942e26-68f7-47cb-bcb8-99b9a8106f4f + + + + узШаблоны + + + ru + Шаблоны + + + en + Templates + + + ro + Templates + + + + true + HierarchyFoldersAndItems + false + 2 + true + true + + ToItems + 9 + 150 + String + Variable + WholeCatalog + true + true + AsDescription + + Auto + InDialog + false + BothWays + + Catalog.узШаблоны.StandardAttribute.Description + Catalog.узШаблоны.StandardAttribute.Code + + Begin + DontUse + Directly + Catalog.узШаблоны.Form.ФормаЭлемента + + + + + + + + + + false + + + Managed + Use + + + + + + Use + Auto + + + + + ФайлШаблонаХранилищеЗначений + + + ru + Файл шаблона хранилище значений + + + + + v8:ValueStorage + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + + + + + ИспользоватьШаблонУказанныйВручную + + + ru + Использовать шаблон указанный вручную + + + + + xs:boolean + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + + + + + Расширение + + + ru + Расширение + + + en + Extension + + + ro + Extensia + + + + + xs:string + + 10 + Variable + + + false + + + + + ru + Расширение файла + + + en + File extension + + + ro + Extensia fișierului + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + DontUse + + + + + ИмяФайла + + + ru + Имя файла + + + + + xs:string + + 0 + Variable + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + + +
ФормаЭлемента
+ +
+
+
\ No newline at end of file diff --git a/src/cf/Catalogs/узШаблоны/Ext/Predefined.xml b/src/cf/Catalogs/узШаблоны/Ext/Predefined.xml new file mode 100644 index 000000000..e00abfa6a --- /dev/null +++ b/src/cf/Catalogs/узШаблоны/Ext/Predefined.xml @@ -0,0 +1,9 @@ + + + + ШаблонДляЗадачи + 000000001 + Шаблон для задачи + false + + \ No newline at end of file diff --git a/src/cf/Catalogs/узШаблоны/Forms/ФормаЭлемента.xml b/src/cf/Catalogs/узШаблоны/Forms/ФормаЭлемента.xml new file mode 100644 index 000000000..fd15522f5 --- /dev/null +++ b/src/cf/Catalogs/узШаблоны/Forms/ФормаЭлемента.xml @@ -0,0 +1,21 @@ + + +
+ + ФормаЭлемента + + + ru + Форма элемента + + + + Managed + false + + PersonalComputer + MobileDevice + + +
+
\ No newline at end of file diff --git a/src/cf/Catalogs/узШаблоны/Forms/ФормаЭлемента/Ext/Form.xml b/src/cf/Catalogs/узШаблоны/Forms/ФормаЭлемента/Ext/Form.xml new file mode 100644 index 000000000..60f731546 --- /dev/null +++ b/src/cf/Catalogs/узШаблоны/Forms/ФормаЭлемента/Ext/Form.xml @@ -0,0 +1,91 @@ + +
+ LockOwnerWindow + Items + + + ПередЗаписью + ПередЗаписьюНаСервере + + + + None + false + + + + Объект.ИмяФайла + true + + + + ИмяФайлаПриИзменении + ИмяФайлаНачалоВыбора + + + + Объект.Расширение + EnterOnInput + + + + + + + Объект.ИспользоватьШаблонУказанныйВручную + EnterOnInput + Tumbler + + + ru + БЛ=Нет; БИ=Да + + + + + + + None + false + + + + Объект.Description + EnterOnInput + + + + + Объект.Code + EnterOnInput + + + + + + + + + + cfg:CatalogObject.узШаблоны + + true + true + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Адрес на сервере</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + \ 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 new file mode 100644 index 000000000..5abb83c09 --- /dev/null +++ b/src/cf/Catalogs/узШаблоны/Forms/ФормаЭлемента/Ext/Form/Module.bsl @@ -0,0 +1,91 @@ + +&НаКлиенте +Процедура ИмяФайлаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + + ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); + + ДиалогВыбораФайла.Заголовок = НСтр("ru = 'Укажите файл шаблона'"); + ДиалогВыбораФайла.МножественныйВыбор = Ложь; + + Оповещение = Новый ОписаниеОповещения("ОбработатьВыборФайлаДляШаблона",ЭтотОбъект); + ДиалогВыбораФайла.Показать(Оповещение); + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработатьВыборФайлаДляШаблона(ВыбранныйКаталог, ДополнительныеПараметры) Экспорт + Если ВыбранныйКаталог = Неопределено Тогда + Возврат; + Конецесли; + + Объект.ИмяФайла = ВыбранныйКаталог[0]; + + Объект.Расширение = ПолучитьРасширениеФайла(Объект.ИмяФайла); + + ИспользоватьШаблонУказанныйВручную = Ложь; + Если ЗначениеЗаполнено(Объект.ИмяФайла) + И ЗначениеЗаполнено(Объект.Расширение) Тогда + ИспользоватьШаблонУказанныйВручную = Истина; + Конецесли; + + Объект.ИспользоватьШаблонУказанныйВручную = ИспользоватьШаблонУказанныйВручную; +КонецПроцедуры + +&НаКлиенте +Функция ПолучитьРасширениеФайла(ЗНАЧ ИмяФайла) + РасширениеФайла = ""; + + ПозТочки = СтрНайти(ИмяФайла,".",НаправлениеПоиска.СКонца); + + РасширениеФайла = Сред(ИмяФайла,ПозТочки); + + Возврат РасширениеФайла; +КонецФункции + +&НаСервере +Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) + + ДвоичныеДанные = Новый ДвоичныеДанные(АдресНаСервере); + //ДвоичныеДанные.ОткрытьПотокДляЧтения(); + ТекущийОбъект.ФайлШаблонаХранилищеЗначений = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных(9)); + +КонецПроцедуры + +&НаКлиенте +Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) + АдресФайла = ""; + пИмяФайла = Объект.ИмяФайла; + + Оповещение = Новый ОписаниеОповещения("ОбработатьПомещениеФайлаНаСервер",ЭтаФорма); + + НачатьПомещениеФайла(Оповещение,АдресФайла,пИмяФайла,Ложь, Новый УникальныйИдентификатор); +КонецПроцедуры + +&НаКлиенте +Процедура ОбработатьПомещениеФайлаНаСервер(РезультаВыбора, Адрес, ВыбранноеИмяФайла,ДополнительныеПараметры) Экспорт + Если РезультаВыбора = Неопределено Тогда + Возврат; + Конецесли; + ИмяФайлаДляРасширения = Объект.Расширение; + + ДопПараметры = Новый Структура(); + ДопПараметры.Вставить("АдресФайла",Адрес); + ДопПараметры.Вставить("ИмяФайлаДляРасширения",ИмяФайлаДляРасширения); + + КомандаПрочитатьФайлНаСервере(ДопПараметры); +КонецПроцедуры + +&НаСервере +Процедура КомандаПрочитатьФайлНаСервере(ДопПараметры) + + АдресФайла = ДопПараметры.АдресФайла; + ИмяФайлаДляРасширения = ДопПараметры.ИмяФайлаДляРасширения; + + //Расширение = РасширениеФайла(ИмяФайлаДляРасширения); + ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресФайла); + АдресНаСервере = ПолучитьИмяВременногоФайла(ИмяФайлаДляРасширения); + ДвоичныеДанные.Записать(АдресНаСервере); + +КонецПроцедуры + + diff --git a/src/cf/Catalogs/узШаблоны/Templates/ШаблонПоУмолчанию.xml b/src/cf/Catalogs/узШаблоны/Templates/ШаблонПоУмолчанию.xml new file mode 100644 index 000000000..41971060d --- /dev/null +++ b/src/cf/Catalogs/узШаблоны/Templates/ШаблонПоУмолчанию.xml @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/src/cf/Catalogs/узШаблоны/Templates/ШаблонПоУмолчанию/Ext/Template.bin b/src/cf/Catalogs/узШаблоны/Templates/ШаблонПоУмолчанию/Ext/Template.bin new file mode 100644 index 000000000..6e7c51f0d Binary files /dev/null and b/src/cf/Catalogs/узШаблоны/Templates/ШаблонПоУмолчанию/Ext/Template.bin differ diff --git a/src/cf/CommonModules/узОбщийМодульКлиент/Ext/Module.bsl b/src/cf/CommonModules/узОбщийМодульКлиент/Ext/Module.bsl index 1cc9f6db8..8bb35d11d 100644 --- a/src/cf/CommonModules/узОбщийМодульКлиент/Ext/Module.bsl +++ b/src/cf/CommonModules/узОбщийМодульКлиент/Ext/Module.bsl @@ -17,7 +17,7 @@ Возврат ТекстДляКопирования; КонецФункции -Процедура СоздатьИерархиюЗадачНаДиске(Массив) Экспорт +Процедура СоздатьФайлДляЗадачиНаДиске(Массив) Экспорт Пользователь = ПользователиКлиентСервер.ТекущийПользователь(); Каталог = узОбщийМодульСервер.ЗначениеРеквизитаОбъекта(Пользователь, "узКаталогПользователя"); @@ -36,17 +36,18 @@ Для Каждого СтрокаМассива Из Массив Цикл - ПолныйПутьЗадачи = узОбщийМодульСервер.ПолучитьПолныйПутьЗадачи(СтрокаМассива); + НастройкиДляСозданияИерархии = узОбщийМодульСервер.ПолучитьНастройкиДляСозданияФайлаДляЗадачи(СтрокаМассива,Каталог); + ПолныйПутьЗадачи = НастройкиДляСозданияИерархии.ПолныйПутьЗадачи; Если НЕ ЗначениеЗаполнено(ПолныйПутьЗадачи) Тогда Сообщить("Ошибка! Не удалось получить путь для задачи "+СтрокаМассива); Возврат; КонецЕсли; - ОбъедененныйПуть = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(Каталог) + ПолныйПутьЗадачи; + //ОбъедененныйПуть = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(Каталог) + ПолныйПутьЗадачи; - ОписаниеОповещения = Новый ОписаниеОповещения("СоздатьИерархиюЗадачНаДиске_Продолжение", ЭтотОбъект); - НачатьСозданиеКаталога(ОписаниеОповещения, ОбъедененныйПуть); + ОписаниеОповещения = Новый ОписаниеОповещения("СоздатьИерархиюЗадачНаДиске_Продолжение", ЭтотОбъект,НастройкиДляСозданияИерархии); + НачатьСозданиеКаталога(ОписаниеОповещения, ПолныйПутьЗадачи); КонецЦикла; @@ -55,13 +56,26 @@ Процедура СоздатьИерархиюЗадачНаДиске_Продолжение(ИмяКаталога, ДополнительныеПараметры) Экспорт КаталогНаДиске = Новый Файл(ИмяКаталога); - Если КаталогНаДиске.Существует() Тогда - пТекстСообщения = узОбщийМодульСервер.ПолучитьТекстСообщения("Создан каталог %1",90); - Иначе - пТекстСообщения = узОбщийМодульСервер.ПолучитьТекстСообщения("Не удалось создать каталог %1",91); + Если НЕ КаталогНаДиске.Существует() Тогда + узОбщийМодульСервер.узСообщить("Не удалось создать файл для задачи на диске",94); + Возврат; КонецЕсли; - пТекстСообщения = СтрШаблон(пТекстСообщения,ИмяКаталога); + ИмяДляФайлаЗадачи = ДополнительныеПараметры.ИмяДляФайлаЗадачи; + + ФайлНаДиске = Новый Файл(ИмяДляФайлаЗадачи); + Если ФайлНаДиске.Существует() Тогда + пТекстСообщения = узОбщийМодульСервер.ПолучитьТекстСообщения("Файл уже существует %1",95); + пТекстСообщения = СтрШаблон(пТекстСообщения,ИмяДляФайлаЗадачи); + Сообщить(пТекстСообщения); + Возврат; + КонецЕсли; + + ШаблонПоУмолчанию = ДополнительныеПараметры.ШаблонПоУмолчанию; + ШаблонПоУмолчанию.Записать(ИмяДляФайлаЗадачи); + + пТекстСообщения = узОбщийМодульСервер.ПолучитьТекстСообщения("Создан файл %1",93); + пТекстСообщения = СтрШаблон(пТекстСообщения,ИмяДляФайлаЗадачи); Сообщить(пТекстСообщения); КонецПроцедуры diff --git a/src/cf/CommonModules/узОбщийМодульСервер/Ext/Module.bsl b/src/cf/CommonModules/узОбщийМодульСервер/Ext/Module.bsl index eae3790d1..7d8146f09 100644 --- a/src/cf/CommonModules/узОбщийМодульСервер/Ext/Module.bsl +++ b/src/cf/CommonModules/узОбщийМодульСервер/Ext/Module.bsl @@ -240,30 +240,72 @@ Возврат РегистрыСведений.узСловарь.ПолучитьСтруктуруСообщений(МассивКодовСообщений); КонецФункции -Функция ПолучитьПолныйПутьЗадачи(Задача) Экспорт +Функция ПолучитьНастройкиДляСозданияФайлаДляЗадачи(Задача,Каталог) Экспорт + РезультатФункции = Новый Структура(); Массив = Новый Массив; + ИмяДляЗадачи = СобратьНазваниеДляПапки(Задача.Наименование, Задача.Код); + Массив.Добавить(ИмяДляЗадачи); + ЗаполнитьМассивИерархии(Задача, Массив); Разделитель = ПолучитьРазделительПутиКлиента(); - Путь = ""; + ПолныйПутьЗадачи = ""; Для Каждого СтрокаМассива ИЗ Массив Цикл - Путь = СтрокаМассива + Разделитель + Путь; + ПолныйПутьЗадачи = СтрокаМассива + Разделитель + ПолныйПутьЗадачи; КонецЦикла; - Возврат Путь; + //ВызватьИсключение "Еще доделать"; + //to do Организовать выбор своего файла шаблона + //Выбор расширения из шаблона + + ПолныйПутьЗадачи = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(Каталог) + ПолныйПутьЗадачи; + + НастройкиШаблонаДляЗадачи = ПолучитьНастройкиШаблонаДляЗадачи(); + ШаблонПоУмолчанию = НастройкиШаблонаДляЗадачи.ШаблонПоУмолчанию; + Расширение = НастройкиШаблонаДляЗадачи.Расширение; + + ИмяДляФайлаЗадачи = ПолныйПутьЗадачи + ИмяДляЗадачи + Расширение; + + РезультатФункции.Вставить("ИмяДляФайлаЗадачи", ИмяДляФайлаЗадачи); + РезультатФункции.Вставить("ШаблонПоУмолчанию", ШаблонПоУмолчанию); + РезультатФункции.Вставить("ПолныйПутьЗадачи", ПолныйПутьЗадачи); + + Возврат РезультатФункции; КонецФункции +Функция ПолучитьНастройкиШаблонаДляЗадачи() + РезультатФункции = Новый Структура(); + + ШаблонДляЗадачи = ПредопределенноеЗначение("Справочник.узШаблоны.ШаблонДляЗадачи"); + Если ШаблонДляЗадачи.ИспользоватьШаблонУказанныйВручную Тогда + ШаблонПоУмолчанию = ШаблонДляЗадачи.ФайлШаблонаХранилищеЗначений.Получить(); + Расширение = ШаблонДляЗадачи.Расширение; + Иначе + Расширение = ".docx"; + ШаблонПоУмолчанию = Справочники.узШаблоны.ПолучитьМакет("ШаблонПоУмолчанию"); + КонецЕсли; + + РезультатФункции.Вставить("ШаблонПоУмолчанию",ШаблонПоУмолчанию); + РезультатФункции.Вставить("Расширение",Расширение); + + Возврат РезультатФункции; +КонецФункции + Процедура ЗаполнитьМассивИерархии(Задача, Массив) - НазваниеДляПапки = СобратьНазваниеДляПапки(Задача.Наименование, Задача.Код); - Массив.Добавить(НазваниеДляПапки); + Если Задача.ЭтоОсновнаяЗадача Тогда + НазваниеДляПапки = СобратьНазваниеДляПапки(Задача.Наименование, Задача.Код); + Массив.Добавить(НазваниеДляПапки); + Конецесли; + + пРодитель = Задача.Родитель; - Если ЗначениеЗаполнено(Задача.Родитель) Тогда - ЗаполнитьМассивИерархии(Задача.Родитель, Массив); + Если ЗначениеЗаполнено(пРодитель) Тогда + ЗаполнитьМассивИерархии(пРодитель, Массив); КонецЕсли; КонецПроцедуры @@ -288,8 +330,8 @@ МассивПодстрок = СтрРазделить(НаименованиеЗадачи," "); КоличествоСлов = МассивПодстрок.Количество(); - ДлинаОдногоСлова = 10; - ДлинаСокращенногоНаименования = 30; + ДлинаОдногоСлова = 30; + ДлинаСокращенногоНаименования = 100; СокращенноеНаименование = ""; Для каждого пСлово из МассивПодстрок цикл diff --git a/src/cf/CommonTemplates/узСловарьПоУмолчанию/Ext/Template.xml b/src/cf/CommonTemplates/узСловарьПоУмолчанию/Ext/Template.xml index b0be157ca..e789970f3 100644 --- a/src/cf/CommonTemplates/узСловарьПоУмолчанию/Ext/Template.xml +++ b/src/cf/CommonTemplates/узСловарьПоУмолчанию/Ext/Template.xml @@ -5762,10 +5762,247 @@ + + 93 + + + + 8 + + + ru + 93 + + + + + + + 8 + + + + + 15 + + + ru + ОбщийМодуль.узОбщийМодульКлиент + + + + + + + 14 + + + ru + Создан файл %1 + + + + + + + 11 + + + ru + Created file %1 + + + + + + + 8 + + + + + + 94 + + + + 8 + + + ru + 94 + + + + + + + 8 + + + + + 15 + + + ru + ОбщийМодуль.узОбщийМодульКлиент + + + + + + + 14 + + + ru + Не удалось создать файл для задачи на диске + + + + + + + 11 + + + ru + Failed to create file for task on disk + + + + + + + + 8 + + + + + + 95 + + + + 8 + + + ru + 95 + + + + + + + 8 + + + + + 15 + + + ru + ОбщийМодуль.узОбщийМодульКлиент + + + + + + + 8 + + + ru + Файл уже существует %1 + + + + + + + 8 + + + ru + File already exists %1 + + + + + + + 8 + + + + + + 96 + + + + 16 + + + ru + 96 + + + + + + + 13 + + + + + 15 + + + ru + ОбщийМодуль.узОбщийМодульКлиент + + + + + + + 14 + + + ru + Создать файл для задачи на диске + + + + + + + 11 + + + ru + Create a file for the task on disk + + + + + + + 17 + + + + true 18 - 93 - 93 + 97 + 97 Solid diff --git a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form.xml b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form.xml index 57dcdcfbc..cada9e292 100644 --- a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form.xml +++ b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form.xml @@ -518,11 +518,11 @@ Ctrl+Shift+C КомандаСкопироватьКомментарийВКоде - + <v8:item> <v8:lang>ru</v8:lang> - <v8:content>Создать иерархию задач на диске</v8:content> + <v8:content>Создать файл для задачи на диске</v8:content> </v8:item> @@ -536,7 +536,7 @@ CommonPicture.Структура true - КомандаСоздатьИерархиюЗадачНаДиске + КомандаСоздатьФайлДляЗадачиНаДиске TextPicture diff --git a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl index e0ac5a58f..446438c2d 100644 --- a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl +++ b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl @@ -225,7 +225,7 @@ МассивКодовСообщений.Добавить(74);//Не следить за задачей МассивКодовСообщений.Добавить(81);//Добавить в текущие дела МассивКодовСообщений.Добавить(83);//Скопировать комментарий в коде Copy the comment in the code - МассивКодовСообщений.Добавить(89);//Создать иерархию задач на диске + МассивКодовСообщений.Добавить(96);//Создать файл для задачи на диске СтруктураСообщений = РегистрыСведений.узСловарь.ПолучитьСтруктуруСообщений(МассивКодовСообщений); @@ -239,10 +239,10 @@ пКомандаСкопироватьКомментарийВКоде.ИмяКоманды="КомандаСкопироватьКомментарийВКоде"; пКомандаСкопироватьКомментарийВКоде.Отображение = ОтображениеКнопки.КартинкаИТекст; - пКомандаНеСледитьЗаЗадачей = пЭлементыФормы.Добавить(ИменаЭлементов.ИмяКомандыСоздатьИерархиюЗадачНаДиске, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню); - пКомандаНеСледитьЗаЗадачей.Заголовок=СтруктураСообщений.Текст89; - пКомандаНеСледитьЗаЗадачей.ИмяКоманды="КомандаСоздатьИерархиюЗадачНаДиске"; - пКомандаНеСледитьЗаЗадачей.Отображение = ОтображениеКнопки.КартинкаИТекст; + пКомандаСоздатьФайлДляЗадачиНаДиске = пЭлементыФормы.Добавить(ИменаЭлементов.ИмяКомандыСоздатьФайлДляЗадачиНаДиске, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню); + пКомандаСоздатьФайлДляЗадачиНаДиске.Заголовок=СтруктураСообщений.Текст96; + пКомандаСоздатьФайлДляЗадачиНаДиске.ИмяКоманды="КомандаСоздатьФайлДляЗадачиНаДиске"; + пКомандаСоздатьФайлДляЗадачиНаДиске.Отображение = ОтображениеКнопки.КартинкаИТекст; пКомандаДобавитьВСпринт = пЭлементыФормы.Добавить(ИменаЭлементов.ИмяКомандыДобавитьВСпринт, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню); пКомандаДобавитьВСпринт.Заголовок=СтруктураСообщений.Текст71; @@ -341,8 +341,8 @@ ИмяКомандыНеСледитьЗаЗадачей = ИмяКолонки + "_ТЧЗадачи_КомандаНеСледитьЗаЗадачей"; ИмяКомандыДобавитьВТекущиеДела = ИмяКолонки + "_ТЧЗадачи_КомандаДобавитьВТекущиеДела"; ИмяКомандыСкопироватьКомментарийВКоде = ИмяКолонки + "_ТЧЗадачи_КомандаСкопироватьКомментарийВКоде"; - ИмяКомандыСоздатьИерархиюЗадачНаДиске = ИмяКолонки + "_ТЧЗадачи_КомандаСоздатьИерархиюЗадачНаДиске"; - + ИмяКомандыСоздатьФайлДляЗадачиНаДиске = ИмяКолонки + "_ТЧЗадачи_СоздатьФайлДляЗадачиНаДиске"; + ИмяКарточкаЗадачи = ИмяКолонки + "_ТЧЗадачиКарточкаЗадачи"; ИмяКарточкаЗадачи_НижняяЧасть = ИмяКолонки + "_ТЧЗадачиКарточкаЗадачи_НижняяЧасть"; ИмяПоляЗадачиВКарточкеЗадачи = ИмяКолонки + "_ТЧЗадачи_НижняяЧасть_Задача"; @@ -361,7 +361,7 @@ РезультатФункции.Вставить("ИмяКомандыНеСледитьЗаЗадачей",ИмяКомандыНеСледитьЗаЗадачей); РезультатФункции.Вставить("ИмяКомандыДобавитьВТекущиеДела",ИмяКомандыДобавитьВТекущиеДела); РезультатФункции.Вставить("ИмяКомандыСкопироватьКомментарийВКоде",ИмяКомандыСкопироватьКомментарийВКоде); - РезультатФункции.Вставить("ИмяКомандыСоздатьИерархиюЗадачНаДиске",ИмяКомандыСоздатьИерархиюЗадачНаДиске); + РезультатФункции.Вставить("ИмяКомандыСоздатьФайлДляЗадачиНаДиске",ИмяКомандыСоздатьФайлДляЗадачиНаДиске); РезультатФункции.Вставить("ИмяКарточкаЗадачи",ИмяКарточкаЗадачи); РезультатФункции.Вставить("ИмяКарточкаЗадачи_НижняяЧасть",ИмяКарточкаЗадачи_НижняяЧасть); @@ -981,19 +981,19 @@ КонецФункции &НаКлиенте -Процедура КомандаСоздатьИерархиюЗадачНаДиске(Команда) +Процедура КомандаСоздатьФайлДляЗадачиНаДиске(Команда) СтрокаТЧ = Элементы[ИмяАктивнойТЧ].ТекущиеДанные; Если СтрокаТЧ = Неопределено тогда - узОбщийМодульСервер.узСообщить("Выберите задачи, для которых хотите создать иерархию задач на диске",82); + узОбщийМодульСервер.узСообщить("Выберите задачи, для которых хотите создать файл задач на диске",82); Возврат; Конецесли; МассивВыделенныхСтрок = Элементы[ИмяАктивнойТЧ].ВыделенныеСтроки; Если МассивВыделенныхСтрок.Количество() = 0 Тогда - узОбщийМодульСервер.узСообщить("Выберите задачи, для которых хотите создать иерархию задач на диске",82); + узОбщийМодульСервер.узСообщить("Выберите задачи, для которых хотите создать файл задач на диске",82); Возврат; Конецесли; Массив = ПолучитьМассивЗадачПоВыделеннымСтрокам(МассивВыделенныхСтрок); - узОбщийМодульКлиент.СоздатьИерархиюЗадачНаДиске(Массив); + узОбщийМодульКлиент.СоздатьФайлДляЗадачиНаДиске(Массив); Оповестить("КомандаСоздатьИерархиюЗадачНаДиске"); КонецПроцедуры diff --git a/src/cf/Roles/узПолныеПрава/Ext/Rights.xml b/src/cf/Roles/узПолныеПрава/Ext/Rights.xml index f12a7af31..1e5888776 100644 --- a/src/cf/Roles/узПолныеПрава/Ext/Rights.xml +++ b/src/cf/Roles/узПолныеПрава/Ext/Rights.xml @@ -6697,6 +6697,57 @@ true + + Catalog.узШаблоны + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InputByString + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + SessionParameter.ПараметрыСеансаСинхронизацииДанных diff --git a/src/cf/Roles/узПользователь/Ext/Rights.xml b/src/cf/Roles/узПользователь/Ext/Rights.xml index a15e7283b..1448c3279 100644 --- a/src/cf/Roles/узПользователь/Ext/Rights.xml +++ b/src/cf/Roles/узПользователь/Ext/Rights.xml @@ -3547,7 +3547,7 @@ - Catalog.узЗадачи.Command.КомандаСоздатьИерархиюЗадачНаДиске + Catalog.узЗадачи.Command.КомандаСоздатьФайлДляЗадачиНаДиске View true @@ -4299,6 +4299,57 @@ true + + Catalog.узШаблоны + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InputByString + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + SessionParameter.ПараметрыСеансаСинхронизацииДанных diff --git a/src/cf/Subsystems/узУправлениеЗадачами.xml b/src/cf/Subsystems/узУправлениеЗадачами.xml index 5ac38d7e8..5beda44f4 100644 --- a/src/cf/Subsystems/узУправлениеЗадачами.xml +++ b/src/cf/Subsystems/узУправлениеЗадачами.xml @@ -99,6 +99,7 @@ CommonPicture.узРазвернутьНаПолныйЭкран CommonPicture.узУбратьПолноэкранныйРежим DataProcessor.узПросмотрИсторииХранилища + Catalog.узШаблоны