1
0
mirror of https://github.com/BlizD/Tasks.git synced 2025-03-19 21:07:53 +02:00

@7OH #345 Быстрое переключение настроек в КанБан доске

This commit is contained in:
Anton Ivanov 2024-11-03 10:19:16 +03:00
parent b3ff122ff6
commit 2b33e93c3d
3 changed files with 126 additions and 3 deletions

View File

@ -10,6 +10,7 @@
* #341 Многострочные комментарии при указании факта по задачам. Спасибо @7OH
* #342 Определение основной задачи, теперь учитывается возможность отсутствия у родителей основной задачи. Спасибо @7OH
* #343 При переходе из задачи во вкладку взаимодействие и создании письма на основании созданного шаблона выходит ошибка. Спасибо @PahomovAA
* #345 Быстрое переключение настроек в КанБан доске. Спасибо @7OH
* #344 Устранение ошибки перехода к странице Вопросы и ответы при не записанной задаче. Спасибо @PahomovAA
**Расширения**
@ -20,6 +21,9 @@
**Инструкции**
* [Кейс как можно вести и планировать проект в конфигурации](https://github.com/BlizD/Tasks/wiki/%D0%9A%D0%B5%D0%B9%D1%81-%D0%BA%D0%B0%D0%BA-%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE-%D0%B2%D0%B5%D1%81%D1%82%D0%B8-%D0%B8-%D0%BF%D0%BB%D0%B0%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82-%D0%B2-%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D0%B8). Спасибо [Ивану](https://infostart.ru/profile/1636469/).
Рис. 1 Быстрое переключение настроек в КанБан доске
![FastButtonKanban](https://github.com/user-attachments/assets/87b062be-74a3-4583-8b04-df76695e66f7)
**Выпущена версия 2024.05.11.1 (Обновление от 11.05.2024)**

View File

@ -61,7 +61,6 @@
<v8:content>Группа канбан доска</v8:content>
</v8:item>
</ToolTip>
<Group>Horizontal</Group>
<ExtendedTooltip name="ГруппаКанбанДоскаРасширеннаяПодсказка" id="4"/>
</Page>
<Page name="ГруппаНастройки" id="456">
@ -716,6 +715,17 @@
<Field>ТекущийКлючНастроек</Field>
</Save>
</Attribute>
<Attribute name="КомандыВариантов" id="8">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Команды вариантов</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>v8:ValueListType</v8:Type>
</Type>
</Attribute>
</Attributes>
<Commands>
<Command name="КомандаДобавитьВСпринт" id="1">

View File

@ -30,8 +30,109 @@
ВыполнитьЛокализацию();
// [+] #345 Павлюков С.Ю. 2024-10-28
СоздатьПанельВариантов();
// [-] #345 Павлюков С.Ю. 2024-10-28
КонецПроцедуры
// [+] #345 Павлюков С.Ю. 2024-10-28
&НаСервере
Процедура СоздатьПанельВариантов()
мГруппа0 =Элементы.Найти("_Группа_0");
мГруппаПанельВариантов = Элементы.Вставить("ГруппаПанельВариантов", Тип("ГруппаФормы"), Элементы.ГруппаКанбанДоска, мГруппа0);
мГруппаПанельВариантов.Вид = ВидГруппыФормы.КоманднаяПанель;
//мышкой удобнее нажать Обновить
мКнопкаОбновить = Элементы.Добавить("КомандаОбновитьОсн", Тип("КнопкаФормы"), Элементы.ГруппаПанельВариантов);
мКнопкаОбновить.Заголовок = "Обновить";
мКнопкаОбновить.ИмяКоманды = "КомандаОбновить";
мКнопкаОбновить.Отображение = ОтображениеКнопки.КартинкаИТекст;
мГруппаВарианты = Элементы.Добавить("ГруппаКнопкиВариантов", Тип("ГруппаФормы"), Элементы.ГруппаПанельВариантов);
мГруппаВарианты.Вид = ВидГруппыФормы.ГруппаКнопок;
ОбновитьКнопкиВариантов();
КонецПроцедуры
&НаСервере
Процедура ОбновитьКнопкиВариантов() // [+] #345 Павлюков С.Ю. 2024-10-28
мГруппаВарианты = Элементы.Найти("ГруппаКнопкиВариантов");
Если мГруппаВарианты = Неопределено Тогда
Возврат;
КонецЕсли;
//удалить ранее созданные кнопки
КомандыВариантов.Очистить();
Пока мГруппаВарианты.ПодчиненныеЭлементы.Количество() > 0 Цикл
текЭлементВарианта = мГруппаВарианты.ПодчиненныеЭлементы.Получить(0);
Команды.Удалить(Команды.Найти(текЭлементВарианта.ИмяКоманды));
Элементы.Удалить(текЭлементВарианта);
КонецЦикла;
//получить доступные варианты
СписокВариантов = Обработки.узКанбанДоска.ПолучитьСписокВариантов(ПолучитьКлючНастроек());
//добавим команды и кнопки
текВариант = 1;
Для Каждого спВариант Из СписокВариантов Цикл
имяКоманды = СтрШаблон("ВариантКоманды_%1", Формат(текВариант, "ЧГ="));
КомандыВариантов.Добавить(имяКоманды, спВариант.Значение);
//добавить команду
новаяКоманда = Команды.Добавить(имяКоманды);
новаяКоманда.Заголовок = спВариант.Представление;
новаяКоманда.Действие = "ВариантКоманды_Загрузить";
//добавить кнопку для команды
мКнопкаОбновить = Элементы.Добавить(СтрШаблон("КнопкаВариантКоманды_%1", Формат(текВариант, "ЧГ="))
, Тип("КнопкаФормы")
, мГруппаВарианты
);
мКнопкаОбновить.Заголовок = спВариант.Представление;
мКнопкаОбновить.ИмяКоманды = имяКоманды;
мКнопкаОбновить.Пометка = (спВариант.Значение = ТекущийКлючНастроек);
текВариант = текВариант + 1;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ВариантКоманды_Загрузить(Команда) // [+] #345 Павлюков С.Ю. 2024-10-28
выбранныйВариант = КомандыВариантов.НайтиПоЗначению(Команда.Имя);
Если выбранныйВариант = Неопределено Тогда
Возврат;
КонецЕсли;
выбранныйКлюч = выбранныйВариант.Представление;
//обновить пометки
мГруппаВарианты = Элементы.Найти("ГруппаКнопкиВариантов");
Если Не мГруппаВарианты = Неопределено Тогда
Для Каждого кнопкаВарианта Из мГруппаВарианты.ПодчиненныеЭлементы Цикл
текВариант = КомандыВариантов.НайтиПоЗначению(кнопкаВарианта.ИмяКоманды);
кнопкаВарианта.Пометка = ( НЕ (текВариант = Неопределено) И (текВариант.Представление = выбранныйКлюч));
КонецЦикла;
КонецЕсли;
//загрузить вариант
ЗагрузитьВариантНаКлиентеЗавершение(выбранныйКлюч, Неопределено);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьЛокализацию()
МассивКодовСообщений = Новый Массив();
@ -1885,7 +1986,11 @@
ОпределитьОтборНаСервере(пНастройкиКомпоновщика);
КомандаОбновить(Неопределено);
КонецЕсли;
КонецЕсли;
// [+] #345 Павлюков С.Ю. 2024-10-28
ОбновитьКнопкиВариантов();
// [-] #345 Павлюков С.Ю. 2024-10-28
КонецПроцедуры
@ -1924,7 +2029,11 @@
СохранитьНастройки(Ключ);
ОбновитьЗаголовокФормыНаКлиенте(Ключ);
КонецЕсли;
КонецЕсли;
// [+] #345 Павлюков С.Ю. 2024-10-28
ОбновитьКнопкиВариантов();
// [-] #345 Павлюков С.Ю. 2024-10-28
КонецПроцедуры