diff --git a/src/cf/DataProcessors/узКанбанДоска.xml b/src/cf/DataProcessors/узКанбанДоска.xml index 284d6eef5..9225d5569 100644 --- a/src/cf/DataProcessors/узКанбанДоска.xml +++ b/src/cf/DataProcessors/узКанбанДоска.xml @@ -1281,6 +1281,47 @@ Auto + + + Группа + + + ru + Группа + + + + + xs:decimal + + 2 + 0 + Nonnegative + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Удалить_Форма
diff --git a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form.xml b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form.xml index 9c3ed3a69..948de4460 100644 --- a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form.xml +++ b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form.xml @@ -290,6 +290,12 @@ + + Объект.ТЧНастройкиКолонок.Группа + EnterOnInput + + + Объект.ТЧНастройкиКолонок.Видимость EnterOnInput diff --git a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl index 8b3ca277f..135ed2b81 100644 --- a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl +++ b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl @@ -112,13 +112,41 @@ ЭтаФорма.ИзменитьРеквизиты(МассивДобавляемыхРеквизитов); ///// КОМАНДЫ ////////// + // + #228 Пиганов Г.В. 2020.07.02 + ///// ГРУППЫ ////////// + ЭлементыГрупп = Новый Соответствие; + ПрефиксДляИмениЭлементовГрупп = ПолучитьПрефиксДляИмениЭлементовГрупп(); + + ОтборВидимыхСтрок = Новый Структура(); + ТаблицаГрупп = Объект.ТЧНастройкиКолонок.Выгрузить(ОтборВидимыхСтрок, "Группа"); + ТаблицаГрупп.Свернуть("Группа", ""); + ТаблицаГрупп.Сортировать("Группа"); + Для Каждого СтрокаГруппы Из ТаблицаГрупп Цикл + НомерГруппы = СтрокаГруппы.Группа; + ИмяГруппы = ПрефиксДляИмениЭлементовГрупп + СтрокаГруппы.Группа; + ЭлементГруппаГруппа = Элементы.Вставить(ИмяГруппы, Тип("ГруппаФормы"), Элементы.ГруппаКанбанДоска); + ЭлементГруппаГруппа.Вид = ВидГруппыФормы.ОбычнаяГруппа; + ЭлементГруппаГруппа.Отображение = ОтображениеОбычнойГруппы.Нет; + Если НомерГруппы = 0 Тогда + ЭлементГруппаГруппа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.ГоризонтальнаяВсегда; + Иначе + ЭлементГруппаГруппа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; + КонецЕсли; + ЭлементыГрупп.Вставить(НомерГруппы, ЭлементГруппаГруппа); + КонецЦикла; + // - #228 Пиганов Г.В. 2020.07.02 + ///// ЭЛЕМЕНТЫ ////////// Для каждого СтрокаТЧНастройкиКолонок из Объект.ТЧНастройкиКолонок цикл Если НЕ СтрокаТЧНастройкиКолонок.Видимость Тогда Продолжить; Конецесли; пСтатус = СтрокаТЧНастройкиКолонок.Статус; - ДобавитьНаКанбанДоскуКолонку(пСтатус); + // + #228 Пиганов Г.В. 2020.07.02 + //ДобавитьНаКанбанДоскуКолонку(пСтатус); + пГруппаЭлемент = ЭлементыГрупп[СтрокаТЧНастройкиКолонок.Группа]; + ДобавитьНаКанбанДоскуКолонку(пСтатус, пГруппаЭлемент); + // - #228 Пиганов Г.В. 2020.07.02 Конеццикла; КонецПроцедуры @@ -126,7 +154,10 @@ &НаСервере Процедура УдалитьДинамическиеЭлементы() пЭлементыФормы = Этаформа.Элементы; - ПрефиксДляИмениЭлементовКолонок = ПолучитьПрефиксДляИмениЭлементовКолонок(); + // + #228 Пиганов Г.В. 2020.07.02 + //ПрефиксДляИмениЭлементовКолонок = ПолучитьПрефиксДляИмениЭлементовКолонок(); + ПрефиксДляИмениЭлементовКолонок = ПолучитьПрефиксДляИмениЭлементовГрупп(); + // - #228 Пиганов Г.В. 2020.07.02 ЭлементыКУдалению = Новый Массив(); Для каждого пЭлементФормы из пЭлементыФормы цикл Если СтрНайти(пЭлементФормы.Имя,ПрефиксДляИмениЭлементовКолонок) = 0 Тогда @@ -142,6 +173,13 @@ Конеццикла; КонецПроцедуры +// + #228 Пиганов Г.В. 2020.07.02 +&НаСервере +Функция ПолучитьПрефиксДляИмениЭлементовГрупп() + Возврат "_Группа_"; +КонецФункции +// - #228 Пиганов Г.В. 2020.07.02 + &НаСервере Функция ПолучитьПрефиксДляИмениЭлементовКолонок() Возврат "_Колонка_"; @@ -191,7 +229,10 @@ КонецФункции &НаСервере -Процедура ДобавитьНаКанбанДоскуКолонку(пСтатус) +// + #228 Пиганов Г.В. 2020.07.02 +//Процедура ДобавитьНаКанбанДоскуКолонку(пСтатус) +Процедура ДобавитьНаКанбанДоскуКолонку(пСтатус, пЭлементГруппаГруппа) +// - #228 Пиганов Г.В. 2020.07.02 //ПредставлениеКолонки = пСтатус.Наименование; ПредставлениеКолонки = ПолучитьПредставлениеКолонки(пСтатус); @@ -201,7 +242,11 @@ ИменаЭлементов = ПолучитьИменаЭлементовДляКолонки(пСтатус); - пЭлементГруппаКолонка = пЭлементыФормы.Вставить(ИменаЭлементов.ИмяГруппыКолонки,Тип("ГруппаФормы"),пЭлементыФормы.ГруппаКанбанДоска); + // + #228 Пиганов Г.В. 2020.07.02 + //пЭлементГруппаКолонка = пЭлементыФормы.Вставить(ИменаЭлементов.ИмяГруппыКолонки,Тип("ГруппаФормы"),пЭлементыФормы.ГруппаКанбанДоска); + пЭлементГруппаКолонка = пЭлементыФормы.Вставить(ИменаЭлементов.ИмяГруппыКолонки, + Тип("ГруппаФормы"), пЭлементГруппаГруппа); + // - #228 Пиганов Г.В. 2020.07.02 пЭлементГруппаКолонка.Вид = ВидГруппыФормы.ОбычнаяГруппа; пЭлементГруппаКолонка.Заголовок = ПредставлениеКолонки; пЭлементГруппаКолонка.Подсказка = ПредставлениеКолонки; @@ -691,12 +736,20 @@ Если СохраненныеНастройки.Свойство("ТЧНастройкиКолонок") Тогда ЗаполнитьТЧНастройкиКолонокНаСервере(); ТЧНастройкиКолонок = СохраненныеНастройки.ТЧНастройкиКолонок; + // + #228 Пиганов Г.В. 2020.07.02 + Если ТЧНастройкиКолонок.Колонки.Найти("Группа") = Неопределено Тогда + ТЧНастройкиКолонок.Колонки.Добавить("Группа"); + КонецЕсли; + // - #228 Пиганов Г.В. 2020.07.02 Для каждого СтрокаТЧНастройкиКолонок из Объект.ТЧНастройкиКолонок цикл ПараметрыОтбора=Новый Структура(); ПараметрыОтбора.Вставить("Статус",СтрокаТЧНастройкиКолонок.Статус); НайденныеСтрокиСохраненныеНастройки = ТЧНастройкиКолонок.НайтиСтроки(ПараметрыОтбора); Для каждого СтрокаНайденныеСтроки из НайденныеСтрокиСохраненныеНастройки цикл СтрокаТЧНастройкиКолонок.Видимость = СтрокаНайденныеСтроки.Видимость; + // + #228 Пиганов Г.В. 2020.07.02 + СтрокаТЧНастройкиКолонок.Группа = СтрокаНайденныеСтроки.Группа; + // - #228 Пиганов Г.В. 2020.07.02 Конеццикла; Конеццикла; Иначе