diff --git a/src/cf/Catalogs/узЗадачи/Ext/ManagerModule.bsl b/src/cf/Catalogs/узЗадачи/Ext/ManagerModule.bsl index dbc472fa0..17fb2deeb 100644 --- a/src/cf/Catalogs/узЗадачи/Ext/ManagerModule.bsl +++ b/src/cf/Catalogs/узЗадачи/Ext/ManagerModule.bsl @@ -20,4 +20,33 @@ Функция ПолучитьНомерЗадачи(ЗадачаСсылка) Экспорт Возврат Формат(ЗадачаСсылка.Код,"ЧГ=0"); +КонецФункции + +Функция ПолучитьКомментарииВКоде(ДопПараметры) Экспорт + Перем КомментарииВКоде; + + пКод = ДопПараметры.Код; + пИсполнитель = ДопПараметры.Исполнитель; + пНомерВнешнейЗаявки = ДопПараметры.НомерВнешнейЗаявки; + + ФИОИсполнителя = Неопределено; + Если ЗначениеЗаполнено(пИсполнитель) Тогда + МассивПодстрок = СтрРазделить(пИсполнитель," "); + КоличествоСлов = МассивПодстрок.Количество(); + Если КоличествоСлов > 0 Тогда + ФИОИсполнителя = " "+ МассивПодстрок[0]; + Конецесли; + Если КоличествоСлов > 1 Тогда + ФИОИсполнителя = ФИОИсполнителя + " " + Лев(МассивПодстрок[1],1)+"."; + Конецесли; + Если КоличествоСлов > 2 Тогда + ФИОИсполнителя = ФИОИсполнителя + "" + Лев(МассивПодстрок[2],1)+"."; + Конецесли; + Конецесли; + пКомментарииВКоде = "//+ #"+Формат(пКод,"ЧГ=0") + + ?(ЗначениеЗаполнено(пНомерВнешнейЗаявки)," "+пНомерВнешнейЗаявки,"") + + ФИОИсполнителя + + " " + Формат(ТекущаяДата(),"ДФ=yyyy-MM-dd"); + + Возврат пКомментарииВКоде; КонецФункции \ 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 687fbe5dd..c06b588f2 100644 --- a/src/cf/Catalogs/узЗадачи/Forms/ФормаЭлемента/Ext/Form/Module.bsl +++ b/src/cf/Catalogs/узЗадачи/Forms/ФормаЭлемента/Ext/Form/Module.bsl @@ -374,26 +374,20 @@ &НаКлиенте Процедура КомментарииВКодеОткрытие(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; - ФИОИсполнителя = Неопределено; - Если ЗначениеЗаполнено(Объект.Исполнитель) Тогда - МассивПодстрок = СтрРазделить(Объект.Исполнитель," "); - КоличествоСлов = МассивПодстрок.Количество(); - Если КоличествоСлов > 0 Тогда - ФИОИсполнителя = " "+ МассивПодстрок[0]; - Конецесли; - Если КоличествоСлов > 1 Тогда - ФИОИсполнителя = ФИОИсполнителя + " " + Лев(МассивПодстрок[1],1)+"."; - Конецесли; - Если КоличествоСлов > 2 Тогда - ФИОИсполнителя = ФИОИсполнителя + "" + Лев(МассивПодстрок[2],1)+"."; - Конецесли; - Конецесли; - Объект.КомментарииВКоде = "//+ #"+Формат(Объект.Код,"ЧГ=0") - + ?(ЗначениеЗаполнено(Объект.НомерВнешнейЗаявки)," "+Объект.НомерВнешнейЗаявки,"") - + ФИОИсполнителя - + " " + Формат(ТекущаяДата(),"ДФ=yyyy-MM-dd"); + + ДопПараметры = Новый Структура(); + ДопПараметры.Вставить("Код",Объект.Код); + ДопПараметры.Вставить("Исполнитель",Объект.Исполнитель); + ДопПараметры.Вставить("НомерВнешнейЗаявки",Объект.НомерВнешнейЗаявки); + + Объект.КомментарииВКоде = ПолучитьКомментарийВКодеНаСервере(ДопПараметры); КонецПроцедуры +&НаСервереБезКонтекста +Функция ПолучитьКомментарийВКодеНаСервере(ДопПараметры) + Возврат Справочники.узЗадачи.ПолучитьКомментарииВКоде(ДопПараметры); +КонецФункции + &НаКлиенте Процедура СрокИсполненияПриИзменении(Элемент) Если НЕ ЗначениеЗаполнено(Объект.СрокИсполнения) Тогда diff --git a/src/cf/CommonModules/узОбщийМодульКлиент/Ext/Module.bsl b/src/cf/CommonModules/узОбщийМодульКлиент/Ext/Module.bsl index 6101ced02..a439f3ba5 100644 --- a/src/cf/CommonModules/узОбщийМодульКлиент/Ext/Module.bsl +++ b/src/cf/CommonModules/узОбщийМодульКлиент/Ext/Module.bsl @@ -6,3 +6,13 @@ //Возврат ТекстHTMLМакет; КонецФункции +Функция УстановитьТекстВБуферОбмена(ТекстДляКопирования) Экспорт + пОбъект = Новый COMОбъект("htmlfile"); + пОбъект.ParentWindow.ClipboardData.Setdata("Text", ТекстДляКопирования); + + пТекстСообщения = узОбщийМодульСервер.ПолучитьТекстСообщения("Скопирован в буфер: %1",86); + пТекстСообщения = СтрШаблон(пТекстСообщения,ТекстДляКопирования); + ПоказатьОповещениеПользователя(пТекстСообщения); + + Возврат ТекстДляКопирования; +КонецФункции \ No newline at end of file diff --git a/src/cf/CommonTemplates/узСловарьПоУмолчанию/Ext/Template.xml b/src/cf/CommonTemplates/узСловарьПоУмолчанию/Ext/Template.xml index 258197f3e..5c84df00d 100644 --- a/src/cf/CommonTemplates/узСловарьПоУмолчанию/Ext/Template.xml +++ b/src/cf/CommonTemplates/узСловарьПоУмолчанию/Ext/Template.xml @@ -5194,16 +5194,211 @@ 15 + + + ru + Обработка.узКанбанДоска.ФормаДинамическая + + 14 + + + ru + Скопировать комментарий в коде + + 11 + + + ru + Copy the comment in the code + + + + + + + 17 + + + + + + 84 + + + + 16 + + + ru + 84 + + + + + + + 13 + + + + + 15 + + + ru + Обработка.узКанбанДоска.ФормаДинамическая + + + + + + + 14 + + + ru + Выберите задачу, по которой хотите скопировать комментарий в коде + + + + + + + 11 + + + ru + Select the task for which you want to copy the comment in the code + + + + + + + 17 + + + + + + 85 + + + + 16 + + + ru + 85 + + + + + + + 13 + + + + + 15 + + + ru + Обработка.узКанбанДоска.ФормаДинамическая + + + + + + + 14 + + + ru + Можно выбрать только одну задачу для копирования комментария в коде + + + + + + + 11 + + + ru + You can select only one task to copy the comment in the code + + + + + + + 17 + + + + + + 86 + + + + 16 + + + ru + 86 + + + + + + + 13 + + + + + 15 + + + ru + Обработка.узКанбанДоска.ФормаДинамическая + + + + + + + 14 + + + ru + Скопирован в буфер: %1 + + + + + + + 11 + + + ru + Copied to clipboard: %1 + + @@ -5215,8 +5410,8 @@ true 18 - 84 - 84 + 87 + 87 Solid diff --git a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form.xml b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form.xml index eb940fb34..6f1abc1b3 100644 --- a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form.xml +++ b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form.xml @@ -502,5 +502,21 @@ КомандаДобавитьВТекущиеДела TextPicture + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Скопировать комментарий в коде</v8:content> + </v8:item> + + + + ru + Скопировать комментарий в коде + + + Ctrl+Shift+C + КомандаСкопироватьКомментарийВКоде + \ No newline at end of file diff --git a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl index 78e83e3e3..fe47e14df 100644 --- a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl +++ b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl @@ -175,13 +175,19 @@ МассивКодовСообщений.Добавить(73);//Следить за задачей МассивКодовСообщений.Добавить(74);//Не следить за задачей МассивКодовСообщений.Добавить(81);//Добавить в текущие дела + МассивКодовСообщений.Добавить(83);//Скопировать комментарий в коде Copy the comment in the code СтруктураСообщений = РегистрыСведений.узСловарь.ПолучитьСтруктуруСообщений(МассивКодовСообщений); пКомандаДобавитьВТекущиеДела = пЭлементыФормы.Добавить(ИменаЭлементов.ИмяКомандыДобавитьВТекущиеДела, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню); пКомандаДобавитьВТекущиеДела.Заголовок=СтруктураСообщений.Текст81; пКомандаДобавитьВТекущиеДела.ИмяКоманды="КомандаДобавитьВТекущиеДела"; - пКомандаДобавитьВТекущиеДела.Отображение = ОтображениеКнопки.КартинкаИТекст; + пКомандаДобавитьВТекущиеДела.Отображение = ОтображениеКнопки.КартинкаИТекст; + + пКомандаСкопироватьКомментарийВКоде = пЭлементыФормы.Добавить(ИменаЭлементов.ИмяКомандыСкопироватьКомментарийВКоде, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню); + пКомандаСкопироватьКомментарийВКоде.Заголовок=СтруктураСообщений.Текст83; + пКомандаСкопироватьКомментарийВКоде.ИмяКоманды="КомандаСкопироватьКомментарийВКоде"; + пКомандаСкопироватьКомментарийВКоде.Отображение = ОтображениеКнопки.КартинкаИТекст; пКомандаДобавитьВСпринт = пЭлементыФормы.Добавить(ИменаЭлементов.ИмяКомандыДобавитьВСпринт, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню); пКомандаДобавитьВСпринт.Заголовок=СтруктураСообщений.Текст71; @@ -279,6 +285,7 @@ ИмяКомандыСледитьЗаЗадачей = ИмяКолонки + "_ТЧЗадачи_КомандаСледитьЗаЗадачей"; ИмяКомандыНеСледитьЗаЗадачей = ИмяКолонки + "_ТЧЗадачи_КомандаНеСледитьЗаЗадачей"; ИмяКомандыДобавитьВТекущиеДела = ИмяКолонки + "_ТЧЗадачи_КомандаДобавитьВТекущиеДела"; + ИмяКомандыСкопироватьКомментарийВКоде = ИмяКолонки + "_ТЧЗадачи_КомандаСкопироватьКомментарийВКоде"; ИмяКарточкаЗадачи = ИмяКолонки + "_ТЧЗадачиКарточкаЗадачи"; ИмяКарточкаЗадачи_НижняяЧасть = ИмяКолонки + "_ТЧЗадачиКарточкаЗадачи_НижняяЧасть"; @@ -297,8 +304,9 @@ РезультатФункции.Вставить("ИмяКомандыСледитьЗаЗадачей",ИмяКомандыСледитьЗаЗадачей); РезультатФункции.Вставить("ИмяКомандыНеСледитьЗаЗадачей",ИмяКомандыНеСледитьЗаЗадачей); РезультатФункции.Вставить("ИмяКомандыДобавитьВТекущиеДела",ИмяКомандыДобавитьВТекущиеДела); - РезультатФункции.Вставить("ИмяКарточкаЗадачи",ИмяКарточкаЗадачи); + РезультатФункции.Вставить("ИмяКомандыСкопироватьКомментарийВКоде",ИмяКомандыСкопироватьКомментарийВКоде); + РезультатФункции.Вставить("ИмяКарточкаЗадачи",ИмяКарточкаЗадачи); РезультатФункции.Вставить("ИмяКарточкаЗадачи_НижняяЧасть",ИмяКарточкаЗадачи_НижняяЧасть); РезультатФункции.Вставить("ИмяПоляЗадачиВКарточкеЗадачи",ИмяПоляЗадачиВКарточкеЗадачи); @@ -876,6 +884,46 @@ Справочники.узТекущиеДела.ДобавитьЗадачуВТекущиеДела(ДопПараметры); КонецПроцедуры +&НаКлиенте +Процедура КомандаСкопироватьКомментарийВКоде(Команда) + СтрокаТЧ = Элементы[ИмяАктивнойТЧ].ТекущиеДанные; + Если СтрокаТЧ = Неопределено тогда + узОбщийМодульСервер.узСообщить("Выберите задачу, по которой хотите скопировать комментарий в коде",84); + Возврат; + Конецесли; + МассивВыделенныхСтрок = Элементы[ИмяАктивнойТЧ].ВыделенныеСтроки; + Если МассивВыделенныхСтрок.Количество() = 0 Тогда + узОбщийМодульСервер.узСообщить("Выберите задачу, по которой хотите скопировать комментарий в коде",84); + Возврат; + Конецесли; + Если МассивВыделенныхСтрок.Количество() > 1 Тогда + узОбщийМодульСервер.узСообщить("Можно выбрать только одну задачу для копирования комментария в коде",85); + Возврат; + Конецесли; + пКомментарииВКоде = ПолучитьКомментарийВКодеНаСервере(МассивВыделенныхСтрок); + узОбщийМодульКлиент.УстановитьТекстВБуферОбмена(пКомментарииВКоде); + +КонецПроцедуры + +&НаСервере +Функция ПолучитьКомментарийВКодеНаСервере(МассивВыделенныхСтрок) + МассивЗадач = ПолучитьМассивЗадачПоВыделеннымСтрокам(МассивВыделенныхСтрок); + + Если МассивЗадач.Количество() > 1 Тогда + узОбщийМодульСервер.узСообщить("Можно выбрать только одну задачу для копирования комментария в коде",85); + Конецесли; + + пЗадача = МассивЗадач[0]; + ДопПараметры = Новый Структура(); + ДопПараметры.Вставить("Код",пЗадача.Код); + ДопПараметры.Вставить("Исполнитель",пЗадача.Исполнитель); + ДопПараметры.Вставить("НомерВнешнейЗаявки",пЗадача.НомерВнешнейЗаявки); + + пКомментарииВКоде = Справочники.узЗадачи.ПолучитьКомментарииВКоде(ДопПараметры); + Возврат пКомментарииВКоде; +КонецФункции + + #КонецОбласти #Область ОформлениеКанбанДоски @@ -1125,6 +1173,7 @@ КонецФункции + #КонецОбласти