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
+
+
+
+ ru
+ Скопировать комментарий в коде
+
+
+
+
+ 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 @@
КонецФункции
+
#КонецОбласти