From 021f7f65718c6d0c9e222a87c875e9c3b5fbdf40 Mon Sep 17 00:00:00 2001 From: Anton Ivanov <iab@bk.ru> Date: Sun, 5 Jul 2020 15:13:28 +0300 Subject: [PATCH] =?UTF-8?q?#228=20@GenVP=20=D0=9A=D0=B0=D0=BD=D0=B1=D0=B0?= =?UTF-8?q?=D0=BD=20=D0=B4=D0=BE=D1=81=D0=BA=D0=B0:=20=D0=B3=D1=80=D1=83?= =?UTF-8?q?=D0=BF=D0=BF=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D0=B0=20=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D1=82=D1=83=D1=81=D0=BE=D0=B2=20=D0=B2=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BB=D0=BE=D0=BD=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cf/DataProcessors/узКанбанДоска.xml | 41 +++++++++++++ .../Forms/ФормаДинамическая/Ext/Form.xml | 6 ++ .../Forms/ФормаДинамическая/Ext/Form/Module.bsl | 61 +++++++++++++++++-- 3 files changed, 104 insertions(+), 4 deletions(-) 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 @@ <ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput> </Properties> </Attribute> + <Attribute uuid="d9d70bdf-4d2b-4117-8130-6e7460db309f"> + <Properties> + <Name>Группа</Name> + <Synonym> + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа</v8:content> + </v8:item> + </Synonym> + <Comment/> + <Type> + <v8:Type>xs:decimal</v8:Type> + <v8:NumberQualifiers> + <v8:Digits>2</v8:Digits> + <v8:FractionDigits>0</v8:FractionDigits> + <v8:AllowedSign>Nonnegative</v8:AllowedSign> + </v8:NumberQualifiers> + </Type> + <PasswordMode>false</PasswordMode> + <Format/> + <EditFormat/> + <ToolTip/> + <MarkNegatives>false</MarkNegatives> + <Mask/> + <MultiLine>false</MultiLine> + <ExtendedEdit>false</ExtendedEdit> + <MinValue xsi:nil="true"/> + <MaxValue xsi:nil="true"/> + <FillFromFillingValue>false</FillFromFillingValue> + <FillValue xsi:nil="true"/> + <FillChecking>DontCheck</FillChecking> + <ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems> + <ChoiceParameterLinks/> + <ChoiceParameters/> + <QuickChoice>Auto</QuickChoice> + <CreateOnInput>Auto</CreateOnInput> + <ChoiceForm/> + <LinkByType/> + <ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput> + </Properties> + </Attribute> </ChildObjects> </TabularSection> <Form>Удалить_Форма</Form> 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 @@ <ContextMenu name="ТЧНастройкиКолонокСтатусКонтекстноеМеню" id="502"/> <ExtendedTooltip name="ТЧНастройкиКолонокСтатусРасширеннаяПодсказка" id="503"/> </InputField> + <InputField name="ТЧНастройкиКолонокГруппа" id="553"> + <DataPath>Объект.ТЧНастройкиКолонок.Группа</DataPath> + <EditMode>EnterOnInput</EditMode> + <ContextMenu name="ТЧНастройкиКолонокГруппаКонтекстноеМеню" id="554"/> + <ExtendedTooltip name="ТЧНастройкиКолонокГруппаРасширеннаяПодсказка" id="555"/> + </InputField> <CheckBoxField name="ТЧНастройкиКолонокВидимость" id="504"> <DataPath>Объект.ТЧНастройкиКолонок.Видимость</DataPath> <EditMode>EnterOnInput</EditMode> 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 Конеццикла; Конеццикла; Иначе