From 0d730cde24399a31ca3432d35e1713bc8bbc60ef Mon Sep 17 00:00:00 2001 From: Anton Ivanov Date: Sat, 4 Feb 2017 18:17:19 +0300 Subject: [PATCH] =?UTF-8?q?#2=20=D0=94=D0=B8=D0=BD=D0=B0=D0=BC=D0=B8=D1=87?= =?UTF-8?q?=D0=B5=D1=81=D0=BA=D0=B0=D1=8F=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0?= =?UTF-8?q?=20=D0=BA=D0=B0=D0=BD=D0=B1=D0=B0=D0=BD=20=D0=B4=D0=BE=D1=81?= =?UTF-8?q?=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cf/DataProcessors/узКанбанДоска.xml | 36 +++ .../узКанбанДоска/Ext/ObjectModule.bsl | 4 +- .../Forms/ФормаДинамическая/Ext/Form.xml | 14 +- .../Forms/ФормаДинамическая/Ext/Form/Module.bsl | 220 +++++++++++++----- .../Templates/СхемаКомпоновкиДанных/Ext/Template.xml | 16 +- 5 files changed, 219 insertions(+), 71 deletions(-) diff --git a/src/cf/DataProcessors/узКанбанДоска.xml b/src/cf/DataProcessors/узКанбанДоска.xml index 691ba883d..babeacb07 100644 --- a/src/cf/DataProcessors/узКанбанДоска.xml +++ b/src/cf/DataProcessors/узКанбанДоска.xml @@ -466,6 +466,42 @@ Auto + + + ИзмененЦветПоУмолчанию + + + ru + Изменен цвет по умолчанию + + + + + xs:boolean + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + + diff --git a/src/cf/DataProcessors/узКанбанДоска/Ext/ObjectModule.bsl b/src/cf/DataProcessors/узКанбанДоска/Ext/ObjectModule.bsl index 24b587163..7af3e4499 100644 --- a/src/cf/DataProcessors/узКанбанДоска/Ext/ObjectModule.bsl +++ b/src/cf/DataProcessors/узКанбанДоска/Ext/ObjectModule.bsl @@ -84,8 +84,8 @@ | узСтатусыЗадачи.ИмяПредопределенныхДанных |ИЗ | Справочник.узСтатусыЗадачи КАК узСтатусыЗадачи - //|ГДЕ - //| узСтатусыЗадачи.Предопределенный + |ГДЕ + | узСтатусыЗадачи.Предопределенный | |УПОРЯДОЧИТЬ ПО | узСтатусыЗадачи.РеквизитДопУпорядочивания"; diff --git a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form.xml b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form.xml index 9b02bb8f5..ad807d2a1 100644 --- a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form.xml +++ b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form.xml @@ -8,6 +8,7 @@ ОбработкаОповещения ПриОткрытии ПриСозданииНаСервере + ПриЗакрытии @@ -279,11 +280,11 @@ dcsset:SettingsComposer - + <v8:item> <v8:lang>ru</v8:lang> - <v8:content>Настройки ТЧДля активации первой строки</v8:content> + <v8:content>Структура ТЧДля снятия фокуса с задач</v8:content> </v8:item> @@ -299,6 +300,15 @@ xs:boolean + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Структура имен используемых ТЧ</v8:content> + </v8:item> + + + diff --git a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl index 6899eb974..7741be011 100644 --- a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl +++ b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl @@ -10,7 +10,7 @@ ЗагрузитьСохраненныеНастройки(пНастройкиКомпоновщика); - НастройкиТЧДляАктивацииПервойСтроки = Новый Структура(); + СтруктураТЧДляСнятияФокусаСЗадач = Новый Структура(); ОпределитьОтборНаСервере(пНастройкиКомпоновщика); Попытка @@ -29,6 +29,7 @@ &НаКлиенте Процедура ТЧНастройкиКолонокПриИзменении(Элемент) СгенирироватьФормуЗаново = Истина; + КонецПроцедуры &НаКлиенте @@ -63,6 +64,8 @@ &НаКлиенте Процедура ПриОткрытии(Отказ) ПодключитьОбработчикОжидания("ЗаполнитьЗадачиНаКлиенте", 180); + + УбратьИзКонтекстногоМенюЛишниеКнопкиНаСервере(); КонецПроцедуры #КонецОбласти @@ -73,6 +76,8 @@ Процедура СгенерироватьФорму() УдалитьДинамическиеЭлементы(); ///// РЕКВИЗИТЫ ////////// + + СтруктураИменИспользуемыхТЧ = Новый Структура(); МассивДобавляемыхРеквизитов = Новый Массив; @@ -87,6 +92,7 @@ пСтатус = СтрокаТЧНастройкиКолонок.Статус; ДобавитьНаКанбанДоскуКолонку(пСтатус); Конеццикла; + СгенирироватьФормуЗаново = Ложь; КонецПроцедуры @@ -111,30 +117,30 @@ &НаСервере Функция ПолучитьПрефиксДляИмениЭлементовКолонок() - Возврат "Динамич_"; + Возврат "_Колонка_"; КонецФункции &НаСервере Процедура ДобавитьНаКанбанДоскуКолонку(пСтатус) - ИмяКолонки = ПолучитьИмяКолонки(пСтатус); ПредставлениеКолонки = пСтатус.Наименование; пЭлементыФормы = Этаформа.Элементы; - ПрефиксДляИмениЭлементовКолонок = ПолучитьПрефиксДляИмениЭлементовКолонок(); + // ****** Группа формы "Группа для колонки статуса" *********** - ИмяГруппыКолонки = ПрефиксДляИмениЭлементовКолонок + ИмяКолонки + "_Группа"; + ИменаЭлементов = ПолучитьИменаЭлементовДляКолонки(пСтатус); - пЭлементГруппаКолонка = пЭлементыФормы.Вставить(ИмяГруппыКолонки,Тип("ГруппаФормы"),пЭлементыФормы.ГруппаКанбанДоска); + пЭлементГруппаКолонка = пЭлементыФормы.Вставить(ИменаЭлементов.ИмяГруппыКолонки,Тип("ГруппаФормы"),пЭлементыФормы.ГруппаКанбанДоска); пЭлементГруппаКолонка.Вид = ВидГруппыФормы.ОбычнаяГруппа; пЭлементГруппаКолонка.Заголовок = ПредставлениеКолонки; пЭлементГруппаКолонка.Подсказка = ПредставлениеКолонки; пЭлементГруппаКолонка.Отображение = ОтображениеОбычнойГруппы.СлабоеВыделение; // ****** Таблица формы "ТЧЗадачи" для статуса *********** - ИмяТЧЗадачи = ИмяКолонки + "_ТЧЗадачи"; - пЭлементТЧЗадачи = пЭлементыФормы.Вставить(ИмяТЧЗадачи,Тип("ТаблицаФормы"),пЭлементГруппаКолонка,Неопределено); + СтруктураИменИспользуемыхТЧ.Вставить(ИменаЭлементов.ИмяТЧЗадачи); + + пЭлементТЧЗадачи = пЭлементыФормы.Вставить(ИменаЭлементов.ИмяТЧЗадачи,Тип("ТаблицаФормы"),пЭлементГруппаКолонка,Неопределено); пЭлементТЧЗадачи.ПутьКДанным = "Объект.ТЧЗадачи"; пЭлементТЧЗадачи.АвтоВводНовойСтроки = Истина; пЭлементТЧЗадачи.ГоризонтальнаяПолосаПрокрутки = ИспользованиеПолосыПрокрутки.НеИспользовать; @@ -149,60 +155,46 @@ пЭлементТЧЗадачи.УстановитьДействие("Перетаскивание","ТЧЗадачиПеретаскивание"); пЭлементТЧЗадачи.КоманднаяПанель.Видимость = Ложь; - // ****** Команды из контекстного меню "ТЧЗадачи" *********** - ИмяКомандыДобавитьВСпринт = ИмяКолонки + "_ТЧЗадачи_КомандаДобавитьВСпринт"; - - пКомандаДобавитьВСпринт = пЭлементыФормы.Добавить(ИмяКомандыДобавитьВСпринт, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню); + пКомандаДобавитьВСпринт = пЭлементыФормы.Добавить(ИменаЭлементов.ИмяКомандыДобавитьВСпринт, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню); пКомандаДобавитьВСпринт.Заголовок="Добавить в спринт"; пКомандаДобавитьВСпринт.ИмяКоманды="КомандаДобавитьВСпринт"; пКомандаДобавитьВСпринт.Отображение = ОтображениеКнопки.КартинкаИТекст; - ИмяКомандыУбратьИзСпринта = ИмяКолонки + "_ТЧЗадачи_КомандаУбратьИзСпринта"; - - пКомандаУбратьИзСпринта = пЭлементыФормы.Добавить(ИмяКомандыУбратьИзСпринта, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню); + пКомандаУбратьИзСпринта = пЭлементыФормы.Добавить(ИменаЭлементов.ИмяКомандыУбратьИзСпринта, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню); пКомандаУбратьИзСпринта.Заголовок="Убрать из спринта"; пКомандаУбратьИзСпринта.ИмяКоманды="КомандаУбратьИзСпринта"; пКомандаУбратьИзСпринта.Отображение = ОтображениеКнопки.КартинкаИТекст; - ИмяКомандыСледитьЗаЗадачей = ИмяКолонки + "_ТЧЗадачи_КомандаСледитьЗаЗадачей"; - - пКомандаСледитьЗаЗадачей = пЭлементыФормы.Добавить(ИмяКомандыСледитьЗаЗадачей, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню); + пКомандаСледитьЗаЗадачей = пЭлементыФормы.Добавить(ИменаЭлементов.ИмяКомандыСледитьЗаЗадачей, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню); пКомандаСледитьЗаЗадачей.Заголовок="Следить за задачей"; пКомандаСледитьЗаЗадачей.ИмяКоманды="КомандаСледитьЗаЗадачей"; пКомандаСледитьЗаЗадачей.Отображение = ОтображениеКнопки.КартинкаИТекст; - ИмяКомандыНеСледитьЗаЗадачей = ИмяКолонки + "_ТЧЗадачи_КомандаНеСледитьЗаЗадачей"; - - пКомандаНеСледитьЗаЗадачей = пЭлементыФормы.Добавить(ИмяКомандыНеСледитьЗаЗадачей, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню); + пКомандаНеСледитьЗаЗадачей = пЭлементыФормы.Добавить(ИменаЭлементов.ИмяКомандыНеСледитьЗаЗадачей, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню); пКомандаНеСледитьЗаЗадачей.Заголовок="Не следить за задачей"; пКомандаНеСледитьЗаЗадачей.ИмяКоманды="КомандаНеСледитьЗаЗадачей"; пКомандаНеСледитьЗаЗадачей.Отображение = ОтображениеКнопки.КартинкаИТекст; // ****** Группа формы "Карточка задачи" *********** - ИмяКарточкаЗадачи = ИмяКолонки + "_ТЧЗадачиКарточкаЗадачи"; - - пЭлементКарточкаЗадачи = пЭлементыФормы.Вставить(ИмяКарточкаЗадачи,Тип("ГруппаФормы"),пЭлементТЧЗадачи,Неопределено); + пЭлементКарточкаЗадачи = пЭлементыФормы.Вставить(ИменаЭлементов.ИмяКарточкаЗадачи,Тип("ГруппаФормы"),пЭлементТЧЗадачи,Неопределено); пЭлементКарточкаЗадачи.Вид = ВидГруппыФормы.ГруппаКолонок; пЭлементКарточкаЗадачи.Заголовок = "ТЧЗадачи "+ПредставлениеКолонки; пЭлементКарточкаЗадачи.Подсказка = "ТЧЗадачи "+ПредставлениеКолонки; // ****** Группа формы "Карточка задачи нижняя часть" *********** - ИмяКарточкаЗадачи_НижняяЧасть = ИмяКолонки + "_ТЧЗадачиКарточкаЗадачи_НижняяЧасть"; - - пЭлементКарточкаЗадачи_НижняяЧасть = пЭлементыФормы.Вставить(ИмяКарточкаЗадачи_НижняяЧасть,Тип("ГруппаФормы"),пЭлементКарточкаЗадачи,Неопределено); + пЭлементКарточкаЗадачи_НижняяЧасть = пЭлементыФормы.Вставить(ИменаЭлементов.ИмяКарточкаЗадачи_НижняяЧасть,Тип("ГруппаФормы"),пЭлементКарточкаЗадачи,Неопределено); пЭлементКарточкаЗадачи_НижняяЧасть.Вид = ВидГруппыФормы.ГруппаКолонок; пЭлементКарточкаЗадачи_НижняяЧасть.Заголовок = "ТЧЗадачи "+ПредставлениеКолонки; пЭлементКарточкаЗадачи_НижняяЧасть.Подсказка = "ТЧЗадачи "+ПредставлениеКолонки; пЭлементКарточкаЗадачи_НижняяЧасть.Группировка = ГруппировкаКолонок.Горизонтальная; // ****** Поле формы "Задача в карточке задачи нижняя часть" *********** - ИмяПоляЗадачиВКарточкеЗадачи = ИмяКолонки + "_ТЧЗадачи_НижняяЧасть_Задача"; - пЭлементПолеЗадачиВКарточкеЗадачи = пЭлементыФормы.Вставить(ИмяПоляЗадачиВКарточкеЗадачи,Тип("ПолеФормы"),пЭлементКарточкаЗадачи_НижняяЧасть,Неопределено); + пЭлементПолеЗадачиВКарточкеЗадачи = пЭлементыФормы.Вставить(ИменаЭлементов.ИмяПоляЗадачиВКарточкеЗадачи,Тип("ПолеФормы"),пЭлементКарточкаЗадачи_НижняяЧасть,Неопределено); пЭлементПолеЗадачиВКарточкеЗадачи.Вид = ВидПоляФормы.ПолеВвода; пЭлементПолеЗадачиВКарточкеЗадачи.ПутьКДанным = "Объект.ТЧЗадачи.Задача"; пЭлементПолеЗадачиВКарточкеЗадачи.КнопкаВыпадающегоСписка = Ложь; @@ -210,36 +202,83 @@ пЭлементПолеЗадачиВКарточкеЗадачи.Высота = 3; // ****** Группа формы "Карточка задачи верхняя часть" *********** - ИмяКарточкаЗадачи_ВерхняяЧасть = ИмяКолонки +"_ТЧЗадачи_ВерхняяЧасть"; - пЭлементКарточкаЗадачи_ВерхняяЧасть = пЭлементыФормы.Вставить(ИмяКарточкаЗадачи_ВерхняяЧасть,Тип("ГруппаФормы"),пЭлементКарточкаЗадачи,пЭлементКарточкаЗадачи_НижняяЧасть); + пЭлементКарточкаЗадачи_ВерхняяЧасть = пЭлементыФормы.Вставить(ИменаЭлементов.ИмяКарточкаЗадачи_ВерхняяЧасть,Тип("ГруппаФормы"),пЭлементКарточкаЗадачи,пЭлементКарточкаЗадачи_НижняяЧасть); пЭлементКарточкаЗадачи_ВерхняяЧасть.Вид = ВидГруппыФормы.ГруппаКолонок; пЭлементКарточкаЗадачи_ВерхняяЧасть.Заголовок = "ТЧЗадачи_ВерхняяЧасть"+ПредставлениеКолонки; пЭлементКарточкаЗадачи_ВерхняяЧасть.Подсказка = "ТЧЗадачи_ВерхняяЧасть"+ПредставлениеКолонки; пЭлементКарточкаЗадачи_ВерхняяЧасть.Группировка = ГруппировкаКолонок.ВЯчейке; // ****** Поле формы "Короткое имя в карточке задачи верхняя часть" *********** - ИмяПоляКороткоеИмяВКарточкеЗадачи = ИмяКолонки + "_ТЧЗадачи_ВерхняяЧасть_КороткоеИмя"; - пЭлементПолеКороткоеИмяВКарточкеЗадачи = пЭлементыФормы.Вставить(ИмяПоляКороткоеИмяВКарточкеЗадачи,Тип("ПолеФормы"),пЭлементКарточкаЗадачи_ВерхняяЧасть,Неопределено); + пЭлементПолеКороткоеИмяВКарточкеЗадачи = пЭлементыФормы.Вставить(ИменаЭлементов.ИмяПоляКороткоеИмяВКарточкеЗадачи,Тип("ПолеФормы"),пЭлементКарточкаЗадачи_ВерхняяЧасть,Неопределено); пЭлементПолеКороткоеИмяВКарточкеЗадачи.Вид = ВидПоляФормы.ПолеВвода; пЭлементПолеКороткоеИмяВКарточкеЗадачи.ПутьКДанным = "Объект.ТЧЗадачи.КороткоеИмя"; // ****** Поле формы "Основная задача в карточке задачи верхняя часть" *********** - ИмяПоляОсновнаяЗадачаПредставлениеИмяВКарточкеЗадачи = ИмяКолонки +"_ТЧЗадачи_ВерхняяЧасть_ОсновнаяЗадачаПредставление"; - пЭлементПолеОсновнаяЗадачаПредставлениеВКарточкеЗадачи = пЭлементыФормы.Вставить(ИмяПоляОсновнаяЗадачаПредставлениеИмяВКарточкеЗадачи,Тип("ПолеФормы"),пЭлементКарточкаЗадачи_ВерхняяЧасть,пЭлементПолеКороткоеИмяВКарточкеЗадачи); + пЭлементПолеОсновнаяЗадачаПредставлениеВКарточкеЗадачи = пЭлементыФормы.Вставить( + ИменаЭлементов.ИмяПоляОсновнаяЗадачаПредставлениеВКарточкеЗадачи, + Тип("ПолеФормы"), + пЭлементКарточкаЗадачи_ВерхняяЧасть, + пЭлементПолеКороткоеИмяВКарточкеЗадачи); + пЭлементПолеОсновнаяЗадачаПредставлениеВКарточкеЗадачи.Вид = ВидПоляФормы.ПолеВвода; пЭлементПолеОсновнаяЗадачаПредставлениеВКарточкеЗадачи.ПутьКДанным = "Объект.ТЧЗадачи.ОсновнаяЗадачаПредставление"; // ****** Поле формы "Номер задачи в карточке задачи верхняя часть" *********** - ИмяПоляНомерЗадачиПредставлениеПредставлениеИмяВКарточкеЗадачи = ИмяКолонки+"_ТЧЗадачи_ВерхняяЧасть_НомерЗадачиПредставление"; - пЭлементПолеНомерЗадачиПредставлениеВКарточкеЗадачи = пЭлементыФормы.Вставить(ИмяПоляНомерЗадачиПредставлениеПредставлениеИмяВКарточкеЗадачи,Тип("ПолеФормы"),пЭлементКарточкаЗадачи_ВерхняяЧасть,пЭлементПолеОсновнаяЗадачаПредставлениеВКарточкеЗадачи); + пЭлементПолеНомерЗадачиПредставлениеВКарточкеЗадачи = пЭлементыФормы.Вставить( + ИменаЭлементов.ИмяПоляНомерЗадачиПредставлениеВКарточкеЗадачи, + Тип("ПолеФормы"), + пЭлементКарточкаЗадачи_ВерхняяЧасть, + пЭлементПолеОсновнаяЗадачаПредставлениеВКарточкеЗадачи); + пЭлементПолеНомерЗадачиПредставлениеВКарточкеЗадачи.Вид = ВидПоляФормы.ПолеВвода; пЭлементПолеНомерЗадачиПредставлениеВКарточкеЗадачи.ПутьКДанным = "Объект.ТЧЗадачи.НомерЗадачиПредставление"; КонецПроцедуры +&НаСервере +Функция ПолучитьИменаЭлементовДляКолонки(пСтатус) + + ИмяКолонки = ПолучитьИмяКолонки(пСтатус); + ПрефиксДляИмениЭлементовКолонок = ПолучитьПрефиксДляИмениЭлементовКолонок(); + + ИмяГруппыКолонки = ПрефиксДляИмениЭлементовКолонок + ИмяКолонки + "_Группа"; + ИмяТЧЗадачи = ИмяКолонки + "_ТЧЗадачи"; + ИмяКомандыДобавитьВСпринт = ИмяКолонки + "_ТЧЗадачи_КомандаДобавитьВСпринт"; + ИмяКомандыУбратьИзСпринта = ИмяКолонки + "_ТЧЗадачи_КомандаУбратьИзСпринта"; + ИмяКомандыСледитьЗаЗадачей = ИмяКолонки + "_ТЧЗадачи_КомандаСледитьЗаЗадачей"; + ИмяКомандыНеСледитьЗаЗадачей = ИмяКолонки + "_ТЧЗадачи_КомандаНеСледитьЗаЗадачей"; + ИмяКарточкаЗадачи = ИмяКолонки + "_ТЧЗадачиКарточкаЗадачи"; + ИмяКарточкаЗадачи_НижняяЧасть = ИмяКолонки + "_ТЧЗадачиКарточкаЗадачи_НижняяЧасть"; + ИмяПоляЗадачиВКарточкеЗадачи = ИмяКолонки + "_ТЧЗадачи_НижняяЧасть_Задача"; + ИмяКарточкаЗадачи_ВерхняяЧасть = ИмяКолонки +"_ТЧЗадачи_ВерхняяЧасть"; + + ИмяПоляКороткоеИмяВКарточкеЗадачи = ИмяКолонки + "_ТЧЗадачи_ВерхняяЧасть_КороткоеИмя"; + ИмяПоляОсновнаяЗадачаПредставлениеВКарточкеЗадачи = ИмяКолонки +"_ТЧЗадачи_ВерхняяЧасть_ОсновнаяЗадачаПредставление"; + ИмяПоляНомерЗадачиПредставлениеВКарточкеЗадачи = ИмяКолонки+"_ТЧЗадачи_ВерхняяЧасть_НомерЗадачиПредставление"; + + РезультатФункции = Новый Структура(); + РезультатФункции.Вставить("ИмяГруппыКолонки",ИмяГруппыКолонки); + РезультатФункции.Вставить("ИмяТЧЗадачи",ИмяТЧЗадачи); + РезультатФункции.Вставить("ИмяКомандыДобавитьВСпринт",ИмяКомандыДобавитьВСпринт); + РезультатФункции.Вставить("ИмяКомандыУбратьИзСпринта",ИмяКомандыУбратьИзСпринта); + РезультатФункции.Вставить("ИмяКомандыСледитьЗаЗадачей",ИмяКомандыСледитьЗаЗадачей); + РезультатФункции.Вставить("ИмяКомандыНеСледитьЗаЗадачей",ИмяКомандыНеСледитьЗаЗадачей); + РезультатФункции.Вставить("ИмяКарточкаЗадачи",ИмяКарточкаЗадачи); + + РезультатФункции.Вставить("ИмяКарточкаЗадачи_НижняяЧасть",ИмяКарточкаЗадачи_НижняяЧасть); + РезультатФункции.Вставить("ИмяПоляЗадачиВКарточкеЗадачи",ИмяПоляЗадачиВКарточкеЗадачи); + + РезультатФункции.Вставить("ИмяКарточкаЗадачи_ВерхняяЧасть",ИмяКарточкаЗадачи_ВерхняяЧасть); + РезультатФункции.Вставить("ИмяПоляКороткоеИмяВКарточкеЗадачи",ИмяПоляКороткоеИмяВКарточкеЗадачи); + РезультатФункции.Вставить("ИмяПоляОсновнаяЗадачаПредставлениеВКарточкеЗадачи",ИмяПоляОсновнаяЗадачаПредставлениеВКарточкеЗадачи); + РезультатФункции.Вставить("ИмяПоляНомерЗадачиПредставлениеВКарточкеЗадачи",ИмяПоляНомерЗадачиПредставлениеВКарточкеЗадачи); + + Возврат РезультатФункции; +КонецФункции + &НаСервере Функция ПолучитьИмяКолонки(пСтатус) пИмяКолонки = ""; @@ -267,6 +306,64 @@ Возврат пИмяКолонки; КонецФункции +&НаСервере +Процедура УбратьИзКонтекстногоМенюЛишниеКнопкиНаСервере() + //Возврат; + МассивКоманд = Новый Массив(); + МассивКоманд.Добавить("КонтекстноеМенюИзменить"); + МассивКоманд.Добавить("КонтекстноеМенюКопироватьВБуферОбмена"); + МассивКоманд.Добавить("КонтекстноеМенюСкопировать"); + МассивКоманд.Добавить("КонтекстноеМенюУдалить"); + + ГруппаКопированиеИВыделение = "КонтекстноеМенюКопированиеИВыделение"; + Команда_КонтекстноеМенюКопироватьВБуферОбмена = "КонтекстноеМенюКопироватьВБуферОбмена"; + + //Элементы.В_процессе_выполнения_ТЧЗадачи.КонтекстноеМеню.ПодчиненныеЭлементы + Для каждого СтрокаТЧНастройкиКолонок из Объект.ТЧНастройкиКолонок цикл + + Если НЕ СтрокаТЧНастройкиКолонок.Видимость Тогда + Продолжить; + Конецесли; + + пСтатус = СтрокаТЧНастройкиКолонок.Статус; + ИменаЭлементов = ПолучитьИменаЭлементовДляКолонки(пСтатус); + ИмяТЧЗадачи = ИменаЭлементов.ИмяТЧЗадачи; + + пЭлементТЧЗадачи = Элементы[ИмяТЧЗадачи]; + Для каждого пКоманда из пЭлементТЧЗадачи.КонтекстноеМеню.ПодчиненныеЭлементы цикл + ТипЗнчКоманда = ТипЗнч(пКоманда); + пИмяКоманды = пКоманда.Имя; + + Если ТипЗнчКоманда = Тип("КнопкаФормы") Тогда + Для каждого ЭлМассивКоманд из МассивКоманд цикл + Если СтрНайти(пИмяКоманды,ЭлМассивКоманд) = 0 Тогда + Продолжить; + Конецесли; + + пКоманда.Видимость = Ложь; + + Прервать; + Конеццикла; + Конецесли; + + Если ТипЗнчКоманда = Тип("ГруппаФормы") + И СтрНайти(пИмяКоманды,ГруппаКопированиеИВыделение) > 0 Тогда + Для каждого пКомандаКопированияИВыделения из пКоманда.ПодчиненныеЭлементы цикл + Если СтрНайти(пКомандаКопированияИВыделения.Имя,Команда_КонтекстноеМенюКопироватьВБуферОбмена) = 0 Тогда + Продолжить; + Конецесли; + + пКомандаКопированияИВыделения.Видимость = Ложь; + + Конеццикла; + Конецесли; + + Конеццикла; + Конеццикла; + + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -377,15 +474,13 @@ &НаКлиенте Процедура ОчиститьАктивизацииСтрок(ИсключитьИмяТЧ = Неопределено) - Для каждого НастройкаАктивации из НастройкиТЧДляАктивацииПервойСтроки цикл - ИмяТЧ = НастройкаАктивации.Ключ; - Если ИмяТЧ = ИсключитьИмяТЧ Тогда + Для каждого ЭлСтруктураТЧДляСнятияФокусаСЗадач из СтруктураТЧДляСнятияФокусаСЗадач цикл + ИмяТЧЗадачи = ЭлСтруктураТЧДляСнятияФокусаСЗадач.Ключ; + Если ИмяТЧЗадачи = ИсключитьИмяТЧ Тогда Продолжить; Конецесли; - //Если Элементы.Найти[ИмяТЧ] = Неопределено Тогда - // Продолжить; - //Конецесли; - Элементы[ИмяТЧ].ВыделенныеСтроки.Очистить(); + + Элементы[ИмяТЧЗадачи].ВыделенныеСтроки.Очистить(); Конеццикла; КонецПроцедуры @@ -487,11 +582,13 @@ &НаКлиенте Процедура ОбновитьКанбанДоску() + СтруктураТЧДляСнятияФокусаСЗадач.Очистить(); Объект.АдресВременногоХранилища = ПоместитьВоВременноеХранилище(КомпоновщикНастроекКомпоновкиДанных.Настройки,Новый УникальныйИдентификатор()); ЗаполнитьЗадачиНаСервере(); УстановитьВидимостьДоступность(); - ОчиститьАктивизацииСтрок(); + ОчиститьАктивизацииСтрок(); + УбратьИзКонтекстногоМенюЛишниеКнопкиНаСервере(); //ОформлениеЦветаЗадачНаСервере(); КонецПроцедуры @@ -512,12 +609,12 @@ &НаКлиенте Процедура ТЧЗадачиПриАктивизацииЯчейки(Элемент) - ИмяТЧ = Элемент.Имя; - ИмяАктивнойТЧ = ИмяТЧ; - ОчиститьАктивизацииСтрок(ИмяТЧ); - Если НЕ НастройкиТЧДляАктивацииПервойСтроки.Свойство(ИмяТЧ) Тогда + ИмяТЧЗадачи = Элемент.Имя; + ИмяАктивнойТЧ = ИмяТЧЗадачи; + ОчиститьАктивизацииСтрок(ИмяТЧЗадачи); + Если НЕ СтруктураТЧДляСнятияФокусаСЗадач.Свойство(ИмяТЧЗадачи) Тогда Элемент.ВыделенныеСтроки.Очистить(); - НастройкиТЧДляАктивацииПервойСтроки.Вставить(ИмяТЧ,"Истина"); + СтруктураТЧДляСнятияФокусаСЗадач.Вставить(ИмяТЧЗадачи,"Истина"); Конецесли; КонецПроцедуры @@ -736,11 +833,10 @@ //+ УЗ_Иванов А.Б. 2016-11-26 //ИмяТЧЗадачи = "ТЧЗадачи" + СтрокаЗадача.Статус.ИмяПредопределенныхДанных; - ИмяКолонки = ПолучитьИмяКолонки(СтрокаЗадача.Статус); - ИмяТЧЗадачи = ИмяКолонки + "_ТЧЗадачи"; + ИменаЭлементов = ПолучитьИменаЭлементовДляКолонки(СтрокаЗадача.Статус); + ИмяТЧЗадачи = ИменаЭлементов.ИмяТЧЗадачи; //- УЗ_Иванов А.Б. 2016-11-26 - Если ТекЭлементФормы.Имя <> ИмяТЧЗадачи Тогда Продолжить; КонецЕсли; @@ -758,7 +854,8 @@ Поля = ОформлениеЗадачи.Поля.Элементы.Добавить(); Поля.Использование = ИСТИНА; - Поля.Поле = Новый ПолеКомпоновкиДанных(ИмяТЧЗадачи + "НомерЗадачиПредставление"); + //Поля.Поле = Новый ПолеКомпоновкиДанных(ИмяТЧЗадачи + "НомерЗадачиПредставление"); + Поля.Поле = Новый ПолеКомпоновкиДанных(ИменаЭлементов.ИмяПоляНомерЗадачиПредставлениеВКарточкеЗадачи); ОформлениеЗадачи.Оформление.УстановитьЗначениеПараметра("ЦветФона", ТекЦвет); КонецЕсли; @@ -856,14 +953,19 @@ Функция ПолучитьЦветЗадачиПоВидуПриоритета(СтрокаЗадача, ВидПриоритета) НужныйЦвет = Неопределено; Задача = СтрокаЗадача.Задача; + + пВидыПриоритетаЦвета = ВидыПриоритетаЦвета(); - Если ВидПриоритета = ВидыПриоритетаЦвета().Задача Тогда - НужныйЦвет = Задача.ЦветЗадачи.Получить(); - ИначеЕсли ВидПриоритета = ВидыПриоритетаЦвета().Спринт Тогда + Если ВидПриоритета = пВидыПриоритетаЦвета.Задача Тогда + Сообщить("Не работает СтрокаЗадача.ИзмененЦветПоУмолчанию"); + //Если СтрокаЗадача.ИзмененЦветПоУмолчанию Тогда + НужныйЦвет = Задача.ЦветЗадачи.Получить(); + //Конецесли; + ИначеЕсли ВидПриоритета = пВидыПриоритетаЦвета.Спринт Тогда НужныйЦвет = Задача.Спринт.ЦветСпринта.Получить(); - ИначеЕсли ВидПриоритета = ВидыПриоритетаЦвета().ОсновнаяЗадача Тогда + ИначеЕсли ВидПриоритета = пВидыПриоритетаЦвета.ОсновнаяЗадача Тогда НужныйЦвет = Задача.ОсновнаяЗадача.ЦветЗадачи.Получить(); - ИначеЕсли ВидПриоритета = ВидыПриоритетаЦвета().Важность Тогда + ИначеЕсли ВидПриоритета = пВидыПриоритетаЦвета.Важность Тогда НужныйЦвет = Задача.Важность.ЦветВажности.Получить(); КонецЕсли; diff --git a/src/cf/DataProcessors/узКанбанДоска/Templates/СхемаКомпоновкиДанных/Ext/Template.xml b/src/cf/DataProcessors/узКанбанДоска/Templates/СхемаКомпоновкиДанных/Ext/Template.xml index 84d34c1af..ea4e588ff 100644 --- a/src/cf/DataProcessors/узКанбанДоска/Templates/СхемаКомпоновкиДанных/Ext/Template.xml +++ b/src/cf/DataProcessors/узКанбанДоска/Templates/СхемаКомпоновкиДанных/Ext/Template.xml @@ -124,6 +124,10 @@ + + ИзмененЦветПоУмолчанию + ИзмененЦветПоУмолчанию + ИсточникДанных1 ВЫБРАТЬ узНаблюдателиЗаЗадачами.Задача @@ -147,7 +151,7 @@ узЗадачи.РеквизитДопУпорядочивания КАК РеквизитДопУпорядочивания, узЗадачи.Исполнитель, узЗадачи.Исполнитель.узКороткоеИмя КАК КороткоеИмя, - ПОДСТРОКА(узЗадачи.ОсновнаяЗадача.Наименование,1,25) КАК ОсновнаяЗадачаПредставление, + ПОДСТРОКА(узЗадачи.ОсновнаяЗадача.Наименование, 1, 25) КАК ОсновнаяЗадачаПредставление, узЗадачи.СрокИсполнения, узЗадачи.Конфигурация, узЗадачи.Спринт, @@ -166,7 +170,8 @@ КОГДА узЗадачи.Важность = ЗНАЧЕНИЕ(Справочник.узВариантыВажностиЗадачи.Низкая) ТОГДА 3 ИНАЧЕ 2 - КОНЕЦ КАК ВажностьЧисло + КОНЕЦ КАК ВажностьЧисло, + узЗадачи.ИзмененЦветПоУмолчанию ИЗ Справочник.узЗадачи КАК узЗадачи ГДЕ @@ -180,7 +185,7 @@ ВТОтборЗадачПоНаблюдателю) ИНАЧЕ ИСТИНА КОНЕЦ - И узЗадачи.Статус В (&МассивВыбранныхСтатусовКолонок) + И узЗадачи.Статус В(&МассивВыбранныхСтатусовКолонок) НомерЗадачиПредставление @@ -302,11 +307,6 @@ 16655e8c-bf28-4bdf-9c46-8f88d2bccf2d - - false - МассивВыбранныхСтатусовКолонок - -