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
Конеццикла;
Конеццикла;
Иначе