diff --git a/README.md b/README.md index 52cefea0d8..3d25cd2837 100644 --- a/README.md +++ b/README.md @@ -7,11 +7,12 @@ [![telegram](https://img.shields.io/badge/telegram-channal-green.svg)](https://t.me/tasksm) [![telegram](https://img.shields.io/badge/telegram-chat-green.svg)](https://t.me/joinchat/KbD_hhM1tJGb3B3gz6QIvA) [![Sonar bugs](https://sonar.openbsl.ru/api/project_badges/measure?project=tasks&metric=bugs)](https://sonar.openbsl.ru/dashboard?id=tasks) +[![OpenYellow](https://img.shields.io/endpoint?url=https://openyellow.org/data/badges/2/68359534.json)](https://openyellow.org/grid?data=top&repo=68359534) ## Скачать последний релиз ## -* [Скачать последний релиз 2024.05.11.1](https://github.com/BlizD/Tasks/releases/download/2024.05.11.1/Tasks_2024.05.11.1.zip) +* [Скачать последний релиз 2024.11.04.1](https://github.com/BlizD/Tasks/releases/download/2024.11.04.1/Tasks_2024.11.04.1.zip) * [Все релизы](https://github.com/BlizD/Tasks/releases) * [Промежуточные тестовые релизы](https://github.com/BlizD/Tasks/issues/129) @@ -48,6 +49,7 @@ [Badya67](https://github.com/Badya67) [KnightAlone](https://infostart.ru/profile/48625/) [DenVortEP](https://github.com/DenVortEP) +[PahomovAA](https://github.com/PahomovAA) ## Расширения ## * [Расширение: Смена основного стиля на серый с синим (BAS)](https://github.com/BlizD/Tasks/issues/213) Автор @79Vlad @@ -56,18 +58,21 @@ * [Расширение: АТС](https://github.com/BlizD/Tasks/issues/276) Автор @serg33rus * [Расширение: База знаний](https://github.com/BlizD/Tasks/issues/275) Автор @serg33rus * [Расширение: Автоматизация рутины](https://github.com/hawkxtreme/Tasker1C_AutomationRoutine) Автор @hawkxtreme +* [Расширение "Интеграция Битрикс24"](https://github.com/hawkxtreme/Tasker1C_Bitrix24) Автор @hawkxtreme * [Расширение: Авторегистрация ошибок из внешних баз по HTTP сервису](https://github.com/serg33rus/RegErr) Автор @serg33rus * [Расширение: Тайм-трекер](https://github.com/BlizD/Tasks/issues/294) Автор @dyuha07 * [Расширение: Процедуры и функции (документация)](https://github.com/BlizD/Tasks/issues/324) Автор @DenVortEP * [Все расширения](https://github.com/BlizD/Tasks/wiki/Расширения) -# Управление задачами: Канбан доска # +# Tasks - трекер задач конфигурация "Управление задачами" # -Конфигурация "Управление задачами" с использованием библиотеки стандартных подсистем. Канбан доска +Tasks - трекер задач, конфигурация 1с: канбан доска, загрузка изменений из хранилища, выпуск релизов, учет времени + +Конфигурация "Управление задачами" Полное описание смотрим на инфостарт: (http://infostart.ru/public/552480/) -Служба поддержки (ServiceDesk): https://infostart.ru/public/788003/ +Организация службы поддержки (ServiceDesk) в конфигурации: https://infostart.ru/public/788003/ Канал в телеграмме: [@mtasks](https://t.me/mtasks) @@ -75,12 +80,11 @@ Почта проекта: **sdesk1c@bk.ru** - ## Видео и публикации: ## * Канбан в условиях российской действительности https://infostart.ru/public/871013/ -**Используют Управление задачами у себя в работе** +**Используют Tasks - трекер задач у себя в работе** * Григорий Шатров. Как приручить драконов - история построения экосистемы на основе 1С https://youtu.be/XAbzrQGDsvM?t=1616 @@ -93,30 +97,33 @@ https://infostart.ru/1c/articles/1470366/ ## Видео инструкции (очень короткие самое длинное это 8 мин) ## -* https://youtu.be/r6tNabne97s - Общая схема работы службы поддержки (ServiceDesk); -* https://youtu.be/tqTCGAFS4LQ - Настройка службы поддержки (ServiceDesk); -* https://youtu.be/kwgkH9lPBVo - канбан доска, перетаскивание карточек, произвольные отборы, видимость колонок; -* https://youtu.be/XzWCFyrIPcI - как работать с документом "Выпуск релиза"; -* https://youtu.be/mBQWm7G9U18 - как указать WIP лимит; -* https://youtu.be/PMvp0UqKybk - Статистика использования в период с Ноября 16 по Июнь 17; -* https://youtu.be/eoKuUn8w1r8 - активность пользователя; -* https://youtu.be/gS1Gi6Acjt4 - как добавить задачу, что такое основная задача, иерархия задач; -* https://youtu.be/eYvjlt5P0P4 - как следить за чужой задачей, чеклист/комментарии в задаче; -* https://youtu.be/uRX_iuWirtI - как добавить свой реквизит в задачу без программирования; -* https://youtu.be/uRX_iuWirtI - как указать заметку для задачи, которая будет видна только Вам; -* https://youtu.be/jgNKw-6sCeQ - как быстро получить все открытые вопросы по задачам; -* https://youtu.be/2VGnRisLa4Y - как вести свои текущие дела; -* https://youtu.be/khAwpz3eMMI - как ввести описания задачи с помощью Markdown; -* https://youtu.be/vbdx8JhhDac - связь изменений в метаданных и задач, настройка загрузки изменений из хранилища 1с; -* https://youtu.be/ILI_-HaBxM8 - как установить конфигурацию и как настроить отправку уведомлений; -* https://youtu.be/mBQWm7G9U18 - как установить WIP лимит; +* [RuTube](https://rutube.ru/video/0b8bcbbdbdd80663637e26b240f4dfdd/) - Планирование проекта +* [VK видео](https://vk.com/video1393438_456239021?t=29s) [Youtube](https://youtu.be/r6tNabne97s) - Общая схема работы службы поддержки (ServiceDesk); +* [VK видео](https://vk.com/video1393438_456239019?t=1m32s) [Youtube](https://youtu.be/tqTCGAFS4LQ) - Настройка службы поддержки (ServiceDesk); +* [RuTube](https://rutube.ru/video/30f9e3db23dd514b9a25c6576d3ff936/) [Youtube](https://youtu.be/kwgkH9lPBVo) - канбан доска, перетаскивание карточек, произвольные отборы, видимость колонок; +* [RuTube](https://rutube.ru/video/d76593b150382091d5b5832d2d59fd62/) [Youtube](https://youtu.be/XzWCFyrIPcI) - как работать с документом "Выпуск релиза"; +* [RuTube](https://rutube.ru/video/8ce1caf65fc35d6f8e81007a8dd5f950/) [Youtube](https://youtu.be/mBQWm7G9U18) - как указать WIP лимит; +* [RuTube](https://rutube.ru/video/6779cbf34cab01810b1d3c7b5392449b/) [Youtube](https://youtu.be/PMvp0UqKybk) - Статистика использования в период с Ноября 16 по Июнь 17; +* [RuTube](https://rutube.ru/video/bd290512d0e1600865db39abc6eaff13/) [Youtube](https://youtu.be/eoKuUn8w1r8) - активность пользователя; +* [RuTube](https://rutube.ru/video/30f9e3db23dd514b9a25c6576d3ff936/) [Youtube](https://youtu.be/gS1Gi6Acjt4) - как добавить задачу, что такое основная задача, иерархия задач; +* [RuTube](https://rutube.ru/video/b7bada3c78f6d7359f1487f3f78ccd53/) [Youtube](https://youtu.be/eYvjlt5P0P4) - как следить за чужой задачей, чеклист/комментарии в задаче; +* [RuTube](https://rutube.ru/video/a090f715052361878ebcdca12d7cf6b7/) [Youtube](https://youtu.be/uRX_iuWirtI) - как добавить свой реквизит в задачу без программирования; +* [RuTube](https://rutube.ru/video/a090f715052361878ebcdca12d7cf6b7/) [Youtube](https://youtu.be/uRX_iuWirtI) - как указать заметку для задачи, которая будет видна только Вам; +* [RuTube](https://rutube.ru/video/f91cc80847d35ef5cc226083e91c6e42/) [Youtube](https://youtu.be/jgNKw-6sCeQ) - как быстро получить все открытые вопросы по задачам; +* [RuTube](https://rutube.ru/video/d16ae2f9010312de951d785ce66b5c5e/) [Youtube](https://youtu.be/2VGnRisLa4Y) - как вести свои текущие дела; +* [RuTube](https://rutube.ru/video/3975e435348e18683d1c3d96226a243e/) [Youtube](https://youtu.be/khAwpz3eMMI) - как ввести описания задачи с помощью Markdown; +* [RuTube](https://rutube.ru/video/43131cea619cef1d8c220800317efc79/) [Youtube](https://youtu.be/vbdx8JhhDac) - связь изменений в метаданных и задач, настройка загрузки изменений из хранилища 1с; +* [RuTube](https://rutube.ru/video/b9d51260fe54bc731ecf24c9c0fe4701/) [Youtube](https://youtu.be/ILI_-HaBxM8) - как установить конфигурацию и как настроить отправку уведомлений; +* [RuTube](https://rutube.ru/video/069338c0cb4c20ef195f607f7f165cd6/) [Youtube](https://youtu.be/AmgvHFM87No) - Метки (ярлыки) в задачах +* [RuTube](https://rutube.ru/video/658657547c81bf152ea75abb02d8cd7c/) [Youtube](https://youtu.be/7dqqf_TjCos) - Как добавить свою метку для задачи +* [RuTube](https://rutube.ru/video/cee1ebc462c854a1cfbcd11342f6e3de/) - Настройка RLS ограничение на уровне записей * (пока нет видео, но это уже есть в конфигурации) - как добавить свои статусы задач; * (пока нет видео, но это уже есть в конфигурации) - как указывать произвольные цвета для задач; * (пока нет видео, но это уже есть в конфигурации) - как указывать фактические, плановые, часы к оплате в задаче; * (пока нет видео, но это уже есть в конфигурации) - как включить версионирование для задач; * (пока нет видео, но это уже есть в конфигурации) - как добавить напоминание о задаче; * (пока нет видео, но это уже есть в конфигурации) - как прикрепить файл к задаче; -* https://youtu.be/PMvp0UqKybk - Статистика использования в период с Ноября 16 по Июнь 17; +* [RuTube](https://rutube.ru/video/6779cbf34cab01810b1d3c7b5392449b/) [Youtube](https://youtu.be/PMvp0UqKybk) - Статистика использования в период с Ноября 16 по Июнь 17; ## Если вы хотите доработать Tasks, добро пожаловать :) @@ -151,8 +158,6 @@ https://infostart.ru/1c/articles/1470366/ ## Вариант доработки через Github (Краткая инструкция) -Нужно соблюсти очень простые правила: - 1. Поискать задачу в списке задач (issues) проекта https://github.com/BlizD/Tasks/issues 1. Если нет уже существующей задачи, создайте новую, в которой опишите новые требования. В этой задаче можно будет обсудить как само требование, так и реализацию. 1. Возможно, Ваше требование уже реализовано или может быть реализован другим способом, отличным от придуманного Вами. @@ -179,15 +184,3 @@ https://infostart.ru/1c/articles/1470366/ ## Кейсы в работе * [Кейс: как можно настроить уведомления о задаче пришедшей из почты и обработка новых входящих задач](https://github.com/BlizD/Tasks/wiki/Кейс:-как-можно-настроить-уведомления-о-задаче-пришедшей-из-почты) -## Статистика использование программы за 2 года ## -С ноября 2016 по январь 2019 - -![image](https://user-images.githubusercontent.com/10989306/51374627-ab5ff800-1b14-11e9-8949-a5f00daa166b.png) - -| Статистика за 2 года | Количество| -| ------------- | -----:| -|Всего задач|3807| -|Действующие задачи|3564| -|Выполнено задач|2709| -|Процент выполненных задач|76%| -|Выпущено релизов|288| \ No newline at end of file diff --git a/VERSIONS.md b/VERSIONS.md index 300cf04add..925247fdd9 100644 --- a/VERSIONS.md +++ b/VERSIONS.md @@ -4,6 +4,27 @@ [![Quality Gate Status](https://sonar.openbsl.ru/api/project_badges/measure?project=tasks&metric=alert_status)](https://sonar.openbsl.ru/dashboard?id=tasks) +**Выпущена версия 2024.11.04.1 (Обновление от 04.11.2024)** + +**Изменения** +* #341 Многострочные комментарии при указании факта по задачам. Спасибо @7OH +* #342 Определение основной задачи, теперь учитывается возможность отсутствия у родителей основной задачи. Спасибо @7OH +* #343 При переходе из задачи во вкладку взаимодействие и создании письма на основании созданного шаблона выходит ошибка. Спасибо @PahomovAA +* #345 Быстрое переключение настроек в КанБан доске (рис. 1). Спасибо @7OH +* #344 Устранение ошибки перехода к странице Вопросы и ответы при не записанной задаче. Спасибо @PahomovAA + +**Расширения** + +* [Расширение: База знаний](https://github.com/BlizD/Tasks/issues/275) Новая версия 1.1.6.6 теперь в форме списка можно искать не только по содержимому записей, но и по названию и содержимому прикрепленных файлов. [Видео с демо 1.1.6.6](https://github.com/BlizD/Tasks/issues/275) Автор @serg33rus +* [Расширение "Интеграция Битрикс24"](https://github.com/hawkxtreme/Tasker1C_Bitrix24) Автор @hawkxtreme + +**Инструкции** +* [Кейс как можно вести и планировать проект в конфигурации](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)** **Изменения** diff --git a/sonar-project.properties b/sonar-project.properties index 643e624d57..d8de59b731 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -8,4 +8,4 @@ sonar.inclusions=**/*.bsl sonar.scm.enabled=true sonar.scm.provider=git -sonar.projectVersion=2024.05.11.1 +sonar.projectVersion=2024.11.04.1 diff --git "a/src/cf/AccumulationRegisters/\321\203\320\267\320\244\320\260\320\272\321\202\320\237\320\276\320\227\320\260\320\264\320\260\321\207\320\260\320\274.xml" "b/src/cf/AccumulationRegisters/\321\203\320\267\320\244\320\260\320\272\321\202\320\237\320\276\320\227\320\260\320\264\320\260\321\207\320\260\320\274.xml" index c0b5c0d9b6..7df9131adc 100644 --- "a/src/cf/AccumulationRegisters/\321\203\320\267\320\244\320\260\320\272\321\202\320\237\320\276\320\227\320\260\320\264\320\260\321\207\320\260\320\274.xml" +++ "b/src/cf/AccumulationRegisters/\321\203\320\267\320\244\320\260\320\272\321\202\320\237\320\276\320\227\320\260\320\264\320\260\321\207\320\260\320\274.xml" @@ -296,7 +296,7 @@ false - false + true false diff --git "a/src/cf/Catalogs/\321\203\320\267\320\227\320\260\320\264\320\260\321\207\320\270/Ext/ManagerModule.bsl" "b/src/cf/Catalogs/\321\203\320\267\320\227\320\260\320\264\320\260\321\207\320\270/Ext/ManagerModule.bsl" index 2b46b7ea1e..72a7c42b0a 100644 --- "a/src/cf/Catalogs/\321\203\320\267\320\227\320\260\320\264\320\260\321\207\320\270/Ext/ManagerModule.bsl" +++ "b/src/cf/Catalogs/\321\203\320\267\320\227\320\260\320\264\320\260\321\207\320\270/Ext/ManagerModule.bsl" @@ -458,6 +458,13 @@ // Группа ".Словарь транслируемых слов" СообщенияСловаря = СловарьДляСообщений(); + //+ #28 Пахомов А.А. 2024-10-18 + // При формировании сообщения по шаблону ДополнительныеПараметры.ПараметрыСообщения = Неопределено + // Проверяем, если не определено, инициируем структуру + Если ПараметрыСообщения = Неопределено Тогда + ПараметрыСообщения = Новый Структура; + КонецЕсли; + //- #28 Пахомов А.А. 2024-10-18 // Кэширование таблицы для передачи в ПриФормированииСообщения при отправке сообщения ПараметрыСообщения.Вставить("узСообщенияСловаря", СообщенияСловаря); @@ -554,6 +561,13 @@ Процедура ПриФормированииСообщения(Сообщение, ПредметСообщения, ДополнительныеПараметры) Экспорт ПараметрыСообщения = ДополнительныеПараметры.ПараметрыСообщения; + //+ #28 Пахомов А.А. 2024-10-18 + // При формировании сообщения по шаблону ДополнительныеПараметры.ПараметрыСообщения = Неопределено + // Проверяем, если не определено, инициируем структуру + Если ПараметрыСообщения = Неопределено Тогда + ПараметрыСообщения = Новый Структура; + КонецЕсли; + //- #28 Пахомов А.А. 2024-10-18 Если НЕ ПараметрыСообщения.Свойство("узНомерЗадачи") Тогда ДопПараметрыИзЗадачи = Справочники.узЗадачи.ПолучитьДопПараметрыИзЗадачи(ПредметСообщения); diff --git "a/src/cf/Catalogs/\321\203\320\267\320\227\320\260\320\264\320\260\321\207\320\270/Ext/ObjectModule.bsl" "b/src/cf/Catalogs/\321\203\320\267\320\227\320\260\320\264\320\260\321\207\320\270/Ext/ObjectModule.bsl" index d3b836fd5a..d6bc41d8cf 100644 --- "a/src/cf/Catalogs/\321\203\320\267\320\227\320\260\320\264\320\260\321\207\320\270/Ext/ObjectModule.bsl" +++ "b/src/cf/Catalogs/\321\203\320\267\320\227\320\260\320\264\320\260\321\207\320\270/Ext/ObjectModule.bsl" @@ -1233,7 +1233,13 @@ И НЕ СсылкаНаОбъект.ЭтоОсновнаяЗадача Тогда Возврат ПолучитьОсновнуюЗадачу(РодителяОбъекта); Иначе - Возврат СсылкаНаОбъект; + // [+] #342 Павлюков С.Ю. 2024-04-20 + Если СсылкаНаОбъект.ЭтоОсновнаяЗадача Тогда + Возврат СсылкаНаОбъект; + Иначе + Возврат Справочники.узЗадачи.ПустаяСсылка(); + КонецЕсли; + // [-] #342 Павлюков С.Ю. 2024-04-20 Конецесли; КонецФункции diff --git "a/src/cf/Catalogs/\321\203\320\267\320\227\320\260\320\264\320\260\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" "b/src/cf/Catalogs/\321\203\320\267\320\227\320\260\320\264\320\260\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" index 06dea2ba07..c08b7cabb0 100644 --- "a/src/cf/Catalogs/\321\203\320\267\320\227\320\260\320\264\320\260\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" +++ "b/src/cf/Catalogs/\321\203\320\267\320\227\320\260\320\264\320\260\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" @@ -661,15 +661,6 @@ КонецПроцедуры //- #104 Дзеса Ігор (capitoshko) 08.10.2018 -&НаСервере -Процедура УстановитьПараметрыВопросыИОтветы() - //{[+](фрагмент ДОБАВЛЕН), milanse 31.05.2020 22:00:37 - ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(ВопросыИОтветы,"Задача",Объект.Ссылка); - //}milanse 31.05.2020 22:00:37 - ВопросыИОтветы.Параметры.УстановитьЗначениеПараметра("Задача",Объект.Ссылка); - ВопросыИОтветы.Параметры.УстановитьЗначениеПараметра("ЭтоНовый",Объект.Ссылка.Пустая()); -КонецПроцедуры - // {[+](фрагмент ДОБАВЛЕН), milanse 07.06.2020 0:06:35 &НаКлиенте Процедура ВставитьКартинку(Команда) @@ -1052,7 +1043,12 @@ УстановитьПараметрыИзмененныеОбъекты(); Конецесли; Если ТекущаяСтраница = Элементы.ГруппаСтраницаВопросыИОтветы Тогда - УстановитьПараметрыВопросыИОтветы(); + //+ #29 Пахомов А.А. 2024-10-19 + // При переходе на страницу ВопросыОтветы без записанного объекта задачи выходит ошибка + ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(ВопросыИОтветы, "Задача", Объект.Ссылка); + ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(ВопросыИОтветы, "ЭтоНовый", Объект.Ссылка.Пустая()); + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(ВопросыИОтветы,"ПометкаУдаления",Ложь); + //- #29 Пахомов А.А. 2024-10-19 Конецесли; // СтандартныеПодсистемы.Свойства Если ЭтотОбъект.ПараметрыСвойств.Свойство(ТекущаяСтраница.Имя) diff --git "a/src/cf/CommonModules/\321\203\320\267\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213/Ext/Module.bsl" "b/src/cf/CommonModules/\321\203\320\267\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213/Ext/Module.bsl" index b1b0328078..d4102cfa05 100644 --- "a/src/cf/CommonModules/\321\203\320\267\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213/Ext/Module.bsl" +++ "b/src/cf/CommonModules/\321\203\320\267\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213/Ext/Module.bsl" @@ -1,6 +1,6 @@ Процедура ПриДобавленииПодсистемы(Описание) Экспорт Описание.Имя = "УправлениеЗадачами"; - Описание.Версия = "2024.05.11.1"; + Описание.Версия = "2024.11.04.1"; //+ УрянскийД 2020-06-22 (начало) Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно"; diff --git a/src/cf/Configuration.xml b/src/cf/Configuration.xml index bdad8f86b2..0cf26c970f 100644 --- a/src/cf/Configuration.xml +++ b/src/cf/Configuration.xml @@ -53,7 +53,7 @@ Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок Управление задачами - 2024.05.11.1 + 2024.11.04.1 true false diff --git "a/src/cf/DataProcessors/\321\203\320\267\320\232\320\260\320\275\320\261\320\260\320\275\320\224\320\276\321\201\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\260\321\217/Ext/Form.xml" "b/src/cf/DataProcessors/\321\203\320\267\320\232\320\260\320\275\320\261\320\260\320\275\320\224\320\276\321\201\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\260\321\217/Ext/Form.xml" index 90c3eab981..6c1390bb7b 100644 --- "a/src/cf/DataProcessors/\321\203\320\267\320\232\320\260\320\275\320\261\320\260\320\275\320\224\320\276\321\201\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\260\321\217/Ext/Form.xml" +++ "b/src/cf/DataProcessors/\321\203\320\267\320\232\320\260\320\275\320\261\320\260\320\275\320\224\320\276\321\201\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\260\321\217/Ext/Form.xml" @@ -61,7 +61,6 @@ Группа канбан доска - Horizontal @@ -716,6 +715,17 @@ ТекущийКлючНастроек + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Команды вариантов</v8:content> + </v8:item> + + + v8:ValueListType + + diff --git "a/src/cf/DataProcessors/\321\203\320\267\320\232\320\260\320\275\320\261\320\260\320\275\320\224\320\276\321\201\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\260\321\217/Ext/Form/Module.bsl" "b/src/cf/DataProcessors/\321\203\320\267\320\232\320\260\320\275\320\261\320\260\320\275\320\224\320\276\321\201\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\260\321\217/Ext/Form/Module.bsl" index 67be565b3c..bdb11cdc70 100644 --- "a/src/cf/DataProcessors/\321\203\320\267\320\232\320\260\320\275\320\261\320\260\320\275\320\224\320\276\321\201\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\260\321\217/Ext/Form/Module.bsl" +++ "b/src/cf/DataProcessors/\321\203\320\267\320\232\320\260\320\275\320\261\320\260\320\275\320\224\320\276\321\201\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\260\321\217/Ext/Form/Module.bsl" @@ -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 КонецПроцедуры diff --git "a/src/cf/Documents/\321\203\320\267\320\222\320\262\320\276\320\264\320\244\320\260\320\272\321\202\320\260\320\237\320\276\320\227\320\260\320\264\320\260\321\207\320\265/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" "b/src/cf/Documents/\321\203\320\267\320\222\320\262\320\276\320\264\320\244\320\260\320\272\321\202\320\260\320\237\320\276\320\227\320\260\320\264\320\260\321\207\320\265/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" index cef5cd71c4..7bcda26bd4 100644 --- "a/src/cf/Documents/\321\203\320\267\320\222\320\262\320\276\320\264\320\244\320\260\320\272\321\202\320\260\320\237\320\276\320\227\320\260\320\264\320\260\321\207\320\265/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" +++ "b/src/cf/Documents/\321\203\320\267\320\222\320\262\320\276\320\264\320\244\320\260\320\272\321\202\320\260\320\237\320\276\320\227\320\260\320\264\320\260\321\207\320\265/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" @@ -117,6 +117,7 @@ Объект.Данные.Примечание EnterOnInput + true