From 9b7cd098f22a9cf0c99b1b56bfb97c5773b5d84a Mon Sep 17 00:00:00 2001 From: Anton Ivanov Date: Sat, 4 Feb 2017 16:16:53 +0300 Subject: [PATCH] =?UTF-8?q?#2=20=D0=94=D0=B8=D0=BD=D0=B0=D0=BC=D0=B8=D1=87?= =?UTF-8?q?=D0=B5=D1=81=D0=BA=D0=B0=D1=8F=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0?= =?UTF-8?q?=20=D0=BA=D0=B0=D0=BD=D0=B1=D0=B0=D0=BD=20=D0=B4=D0=BE=D1=81?= =?UTF-8?q?=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../НастройкаОтправкиSMS/Ext/Form.xml | 3 - .../Forms/НастройкиИспользованияПрофилейБезопасности/Ext/Form.xml | 1 - .../Forms/НастройкиПользователейИПрав/Ext/Form.xml | 1 + .../Forms/НастройкиРаботыСФайлами/Ext/Form.xml | 1 + .../Forms/НастройкиСинхронизацииДанных/Ext/Form.xml | 1 + .../Forms/ОбщиеНастройки/Ext/Form.xml | 1 + .../Forms/Органайзер/Ext/Form.xml | 1 + .../Forms/ПечатныеФормыОтчетыИОбработки/Ext/Form.xml | 1 + .../Forms/ПоддержкаИОбслуживание/Ext/Form.xml | 1 + .../Forms/ПоискИУстановкаОбновлений/Ext/Form.xml | 3 + .../УправлениеПолнотекстовымПоискомИИзвлечениемТекстов/Ext/Form.xml | 1 + src/cf/DataProcessors/узКанбанДоска.xml | 1 + .../узКанбанДоска/Ext/ObjectModule.bsl | 17 +- .../Forms/Форма/Ext/Form/Module.bsl | 11 +- .../узКанбанДоска/Forms/ФормаДинамическая.xml | 22 + .../Forms/ФормаДинамическая/Ext/Form.xml | 416 ++++++++ .../Forms/ФормаДинамическая/Ext/Form/Module.bsl | 899 ++++++++++++++++++ .../ПродолжительностьРаботыРегламентныхЗаданий/Ext/Template.xml | 6 +- 18 files changed, 1368 insertions(+), 19 deletions(-) create mode 100644 src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая.xml create mode 100644 src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form.xml create mode 100644 src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl diff --git a/src/cf/CommonForms/НастройкаОтправкиSMS/Ext/Form.xml b/src/cf/CommonForms/НастройкаОтправкиSMS/Ext/Form.xml index 8968b6c72..8049e5bbf 100644 --- a/src/cf/CommonForms/НастройкаОтправкиSMS/Ext/Form.xml +++ b/src/cf/CommonForms/НастройкаОтправкиSMS/Ext/Form.xml @@ -95,9 +95,6 @@ true true - - НаборКонстант.ПровайдерSMS.Ref - diff --git a/src/cf/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкиИспользованияПрофилейБезопасности/Ext/Form.xml b/src/cf/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкиИспользованияПрофилейБезопасности/Ext/Form.xml index 7ce1b00cb..d3ca69e60 100644 --- a/src/cf/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкиИспользованияПрофилейБезопасности/Ext/Form.xml +++ b/src/cf/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкиИспользованияПрофилейБезопасности/Ext/Form.xml @@ -415,7 +415,6 @@ </Type> <MainAttribute>true</MainAttribute> <UseAlways> - <Field>НаборКонстант.ПровайдерSMS.Ref</Field> <Field>НаборКонстант.ЗаголовокСистемы</Field> </UseAlways> </Attribute> diff --git a/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиПользователейИПрав/Ext/Form.xml b/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиПользователейИПрав/Ext/Form.xml index 76b4f1f61..22f201886 100644 --- a/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиПользователейИПрав/Ext/Form.xml +++ b/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиПользователейИПрав/Ext/Form.xml @@ -653,6 +653,7 @@ <Field>НаборКонстант.СписокРасширенийФайловOpenDocumentОбластиДанных</Field> <Field>НаборКонстант.СписокРасширенийТекстовыхФайлов</Field> <Field>НаборКонстант.СписокЗапрещенныхРасширенийОбластиДанных</Field> + <Field>НаборКонстант.ПровайдерSMS.Ref</Field> <Field>НаборКонстант.ПрефиксУзлаРаспределеннойИнформационнойБазы</Field> <Field>НаборКонстант.ОтправлятьПисьмаВФорматеHTML</Field> <Field>НаборКонстант.ОграничиватьДоступНаУровнеЗаписей</Field> diff --git a/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиРаботыСФайлами/Ext/Form.xml b/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиРаботыСФайлами/Ext/Form.xml index 99fce7a92..3ab7a8836 100644 --- a/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиРаботыСФайлами/Ext/Form.xml +++ b/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиРаботыСФайлами/Ext/Form.xml @@ -742,6 +742,7 @@ <Field>НаборКонстант.СписокРасширенийФайловOpenDocumentОбластиДанных</Field> <Field>НаборКонстант.СписокРасширенийТекстовыхФайлов</Field> <Field>НаборКонстант.СписокЗапрещенныхРасширенийОбластиДанных</Field> + <Field>НаборКонстант.ПровайдерSMS.Ref</Field> <Field>НаборКонстант.ПрефиксУзлаРаспределеннойИнформационнойБазы</Field> <Field>НаборКонстант.ОтправлятьПисьмаВФорматеHTML</Field> <Field>НаборКонстант.ОграничиватьДоступНаУровнеЗаписей</Field> diff --git a/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиСинхронизацииДанных/Ext/Form.xml b/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиСинхронизацииДанных/Ext/Form.xml index d06fed3d4..8442e8b40 100644 --- a/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиСинхронизацииДанных/Ext/Form.xml +++ b/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиСинхронизацииДанных/Ext/Form.xml @@ -432,6 +432,7 @@ <Field>НаборКонстант.СписокРасширенийФайловOpenDocumentОбластиДанных</Field> <Field>НаборКонстант.СписокРасширенийТекстовыхФайлов</Field> <Field>НаборКонстант.СписокЗапрещенныхРасширенийОбластиДанных</Field> + <Field>НаборКонстант.ПровайдерSMS.Ref</Field> <Field>НаборКонстант.ПрефиксУзлаРаспределеннойИнформационнойБазы</Field> <Field>НаборКонстант.ОтправлятьПисьмаВФорматеHTML</Field> <Field>НаборКонстант.ОграничиватьДоступНаУровнеЗаписей</Field> diff --git a/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/ОбщиеНастройки/Ext/Form.xml b/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/ОбщиеНастройки/Ext/Form.xml index 867ead319..9959f40ea 100644 --- a/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/ОбщиеНастройки/Ext/Form.xml +++ b/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/ОбщиеНастройки/Ext/Form.xml @@ -873,6 +873,7 @@ </Type> <MainAttribute>true</MainAttribute> <UseAlways> + <Field>НаборКонстант.ПровайдерSMS.Ref</Field> <Field>НаборКонстант.ИспользоватьРазделениеПоОбластямДанных</Field> </UseAlways> </Attribute> diff --git a/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/Органайзер/Ext/Form.xml b/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/Органайзер/Ext/Form.xml index 2914c674d..7560d3b69 100644 --- a/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/Органайзер/Ext/Form.xml +++ b/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/Органайзер/Ext/Form.xml @@ -1037,6 +1037,7 @@ </Type> <MainAttribute>true</MainAttribute> <UseAlways> + <Field>НаборКонстант.ПровайдерSMS.Ref</Field> <Field>НаборКонстант.ЗаголовокСистемы</Field> <Field>НаборКонстант.АдресПубликацииИнформационнойБазыВИнтернете</Field> </UseAlways> diff --git a/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/ПечатныеФормыОтчетыИОбработки/Ext/Form.xml b/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/ПечатныеФормыОтчетыИОбработки/Ext/Form.xml index 946aae86a..b3ec1d159 100644 --- a/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/ПечатныеФормыОтчетыИОбработки/Ext/Form.xml +++ b/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/ПечатныеФормыОтчетыИОбработки/Ext/Form.xml @@ -400,6 +400,7 @@ </Type> <MainAttribute>true</MainAttribute> <UseAlways> + <Field>НаборКонстант.ПровайдерSMS.Ref</Field> <Field>НаборКонстант.ЗаголовокСистемы</Field> </UseAlways> </Attribute> diff --git a/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/ПоддержкаИОбслуживание/Ext/Form.xml b/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/ПоддержкаИОбслуживание/Ext/Form.xml index fdc1122bb..ba1d3ff5f 100644 --- a/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/ПоддержкаИОбслуживание/Ext/Form.xml +++ b/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/ПоддержкаИОбслуживание/Ext/Form.xml @@ -2040,6 +2040,7 @@ </Type> <MainAttribute>true</MainAttribute> <UseAlways> + <Field>НаборКонстант.ПровайдерSMS.Ref</Field> <Field>НаборКонстант.ИспользоватьРазделениеПоОбластямДанных</Field> <Field>НаборКонстант.ИспользоватьПолнотекстовыйПоиск</Field> <Field>НаборКонстант.ИспользоватьДополнительныеОтчетыИОбработки</Field> diff --git a/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/ПоискИУстановкаОбновлений/Ext/Form.xml b/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/ПоискИУстановкаОбновлений/Ext/Form.xml index 0da0f428f..b6685ee32 100644 --- a/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/ПоискИУстановкаОбновлений/Ext/Form.xml +++ b/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/ПоискИУстановкаОбновлений/Ext/Form.xml @@ -293,6 +293,9 @@ <v8:Type>cfg:ConstantsSet</v8:Type> </Type> <MainAttribute>true</MainAttribute> + <UseAlways> + <Field>НаборКонстант.ПровайдерSMS.Ref</Field> + </UseAlways> </Attribute> <Attribute name="РежимРаботы" id="2"> <Title> diff --git a/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/УправлениеПолнотекстовымПоискомИИзвлечениемТекстов/Ext/Form.xml b/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/УправлениеПолнотекстовымПоискомИИзвлечениемТекстов/Ext/Form.xml index 3c6684ed4..417a15bdb 100644 --- a/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/УправлениеПолнотекстовымПоискомИИзвлечениемТекстов/Ext/Form.xml +++ b/src/cf/DataProcessors/ПанельАдминистрированияБСП/Forms/УправлениеПолнотекстовымПоискомИИзвлечениемТекстов/Ext/Form.xml @@ -377,6 +377,7 @@ </Type> <MainAttribute>true</MainAttribute> <UseAlways> + <Field>НаборКонстант.ПровайдерSMS.Ref</Field> <Field>НаборКонстант.ИспользоватьПолнотекстовыйПоиск</Field> <Field>НаборКонстант.ИзвлекатьТекстыФайловНаСервере</Field> </UseAlways> diff --git a/src/cf/DataProcessors/узКанбанДоска.xml b/src/cf/DataProcessors/узКанбанДоска.xml index df3d9abc8..691ba883d 100644 --- a/src/cf/DataProcessors/узКанбанДоска.xml +++ b/src/cf/DataProcessors/узКанбанДоска.xml @@ -634,6 +634,7 @@ </ChildObjects> </TabularSection> <Form>Форма</Form> + <Form>ФормаДинамическая</Form> <Template>СхемаКомпоновкиДанных</Template> <Command uuid="ab189899-73fe-4879-8f31-035adab3f53c"> <Properties> diff --git a/src/cf/DataProcessors/узКанбанДоска/Ext/ObjectModule.bsl b/src/cf/DataProcessors/узКанбанДоска/Ext/ObjectModule.bsl index a0adcdf8d..24b587163 100644 --- a/src/cf/DataProcessors/узКанбанДоска/Ext/ObjectModule.bsl +++ b/src/cf/DataProcessors/узКанбанДоска/Ext/ObjectModule.bsl @@ -1,4 +1,6 @@ -Процедура ЗаполнитьЗадачи() Экспорт +#Область ПрограммныйИнтерфейс + +Процедура ЗаполнитьЗадачи() Экспорт пНастройкиКомпоновщика = ПолучитьИзВременногоХранилища(АдресВременногоХранилища); ТЗЗадачи = ПолучитьТЗЗадачи(пНастройкиКомпоновщика); @@ -58,8 +60,7 @@ ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); Возврат ТЗЗадачи; -КонецФункции //ПолучитьМакетКомпоновкиДанных() - +КонецФункции Процедура СменитьСтатусЗадачи(ДопПараметры) Экспорт НовыйСтатус = ДопПараметры.НовыйСтатус; @@ -83,11 +84,15 @@ | узСтатусыЗадачи.ИмяПредопределенныхДанных |ИЗ | Справочник.узСтатусыЗадачи КАК узСтатусыЗадачи - |ГДЕ - | узСтатусыЗадачи.Предопределенный + //|ГДЕ + //| узСтатусыЗадачи.Предопределенный | |УПОРЯДОЧИТЬ ПО | узСтатусыЗадачи.РеквизитДопУпорядочивания"; ТЧНастройкиКолонок.Загрузить(Запрос.Выполнить().Выгрузить()); -КонецПроцедуры \ No newline at end of file +КонецПроцедуры + +#КонецОбласти + + diff --git a/src/cf/DataProcessors/узКанбанДоска/Forms/Форма/Ext/Form/Module.bsl b/src/cf/DataProcessors/узКанбанДоска/Forms/Форма/Ext/Form/Module.bsl index f5f4e2c36..d6fdd963b 100644 --- a/src/cf/DataProcessors/узКанбанДоска/Forms/Форма/Ext/Form/Module.bsl +++ b/src/cf/DataProcessors/узКанбанДоска/Forms/Форма/Ext/Form/Module.bsl @@ -9,7 +9,11 @@ &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - + //{Код для декомпиляции управляемой формы + Если ЭтаФорма.Параметры.Свойство("ДекомпиляцияЭлементов") Тогда + ВнешниеОбработки.Создать(ЭтаФорма.Параметры.ДекомпиляцияЭлементов.ИмяПодключеннойОбработки,Ложь).ОпределитьВнутренниеСвойстваЭлементов(ЭтаФорма); + КонецЕсли; + //}Код для декомпиляции управляемой формы пНастройкиКомпоновщика = Неопределено; @@ -472,11 +476,6 @@ Конецесли; КонецПроцедуры -&НаКлиенте -Процедура ТЧЗадачиАнализПриАктивизацииЯчейки(Элемент) - -КонецПроцедуры - &НаКлиенте Процедура ТЧЗадачиВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; diff --git a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая.xml b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая.xml new file mode 100644 index 000000000..64e00c5a1 --- /dev/null +++ b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.2"> + <Form uuid="336079e8-1e67-44db-b8ee-68a42c565b6a"> + <Properties> + <Name>ФормаДинамическая</Name> + <Synonym> + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Форма динамическая</v8:content> + </v8:item> + </Synonym> + <Comment/> + <FormType>Managed</FormType> + <IncludeHelpInContents>false</IncludeHelpInContents> + <UsePurposes> + <v8:Value xsi:type="app:ApplicationUsePurpose">PersonalComputer</v8:Value> + <v8:Value xsi:type="app:ApplicationUsePurpose">MobileDevice</v8:Value> + </UsePurposes> + <ExtendedPresentation/> + </Properties> + </Form> +</MetaDataObject> \ No newline at end of file diff --git a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form.xml b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form.xml new file mode 100644 index 000000000..9b02bb8f5 --- /dev/null +++ b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form.xml @@ -0,0 +1,416 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.2"> + <ScalingMode>Compact</ScalingMode> + <AutoCommandBar name="ФормаКоманднаяПанель" id="-1"> + <Autofill>false</Autofill> + </AutoCommandBar> + <Events> + <Event name="NotificationProcessing">ОбработкаОповещения</Event> + <Event name="OnOpen">ПриОткрытии</Event> + <Event name="OnCreateAtServer">ПриСозданииНаСервере</Event> + </Events> + <ChildItems> + <Pages name="ГруппаСтраницы" id="1"> + <Title> + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа страницы</v8:content> + </v8:item> + + + + ru + Группа страницы + + + + + ГруппаСтраницыПриСменеСтраницы + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Задачи</v8:content> + </v8:item> + + + + ru + Группа канбан доска + + + Horizontal + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Настройки</v8:content> + </v8:item> + + + + ru + Группа настройки + + + + + + None + false + + + + + Horizontal + None + false + + + + + + + + + Объект.Наблюдатель + true + + + + + Horizontal + None + false + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Отборы</v8:content> + </v8:item> + + + + ru + Группа отборы + + + + + + Tree + true + ExpandAllLevels + false + true + true + КомпоновщикНастроекКомпоновкиДанных.Settings.Filter + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Отборы</v8:content> + </v8:item> + + All + false + + + + + + КомпоновщикНастроекКомпоновкиДанныхНастройкиОтбор + SearchStringRepresentation + + + + + + + КомпоновщикНастроекКомпоновкиДанныхНастройкиОтбор + ViewStatusRepresentation + + + + + + + КомпоновщикНастроекКомпоновкиДанныхНастройкиОтбор + SearchControl + + + + +
+
+
+ + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Видимость колонок</v8:content> + </v8:item> + + + + ru + Группа видимость колонок + + + + + + false + false + 3 + 4 + true + false + false + true + true + Объект.ТЧНастройкиКолонок + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Видимость колонок</v8:content> + </v8:item> + + + + + + + + ТЧНастройкиКолонок + SearchStringRepresentation + + + + + + + ТЧНастройкиКолонок + ViewStatusRepresentation + + + + + + + ТЧНастройкиКолонок + SearchControl + + + + + + ТЧНастройкиКолонокПриИзменении + + + + Объект.ТЧНастройкиКолонок.Статус + true + EnterOnInput + + + + + Объект.ТЧНастройкиКолонок.Видимость + EnterOnInput + Auto + + + + +
+
+
+
+
+
+
+
+ + + + + + cfg:DataProcessorObject.узКанбанДоска + + true + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Имя активной ТЧ</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Компоновщик настроек компоновки данных</v8:content> + </v8:item> + + + dcsset:SettingsComposer + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Настройки ТЧДля активации первой строки</v8:content> + </v8:item> + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Сгенирировать форму заново</v8:content> + </v8:item> + + + xs:boolean + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Добавить в спринт</v8:content> + </v8:item> + + + + ru + Добавить в спринт + + + + CommonPicture.узСпринт + true + + КомандаДобавитьВСпринт + TextPicture + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Обновить</v8:content> + </v8:item> + + + + ru + Обновить + + + F5 + + StdPicture.Refresh + true + + КомандаОбновить + TextPicture + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Установить стандартные настройки</v8:content> + </v8:item> + + + + ru + Команда установить стандартные настройки + + + КомандаУстановитьСтандартныеНастройки + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Не следить за задачей</v8:content> + </v8:item> + + + + ru + Не следить за задачей + + + + CommonPicture.узНеСледитьЗаЗадачей + true + + КомандаНеСледитьЗаЗадачей + TextPicture + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Следить за задачей</v8:content> + </v8:item> + + + + ru + Следить за задачей + + + + CommonPicture.узСледитьЗаЗадачей + true + + КомандаСледитьЗаЗадачей + TextPicture + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Убрать из спринта</v8:content> + </v8:item> + + + + ru + Убрать из спринта + + + КомандаУбратьИзСпринта + + + \ No newline at end of file diff --git a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl new file mode 100644 index 000000000..6899eb974 --- /dev/null +++ b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl @@ -0,0 +1,899 @@ + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + СгенирироватьФормуЗаново = Истина; + + пНастройкиКомпоновщика = Неопределено; + + ЗагрузитьСохраненныеНастройки(пНастройкиКомпоновщика); + + НастройкиТЧДляАктивацииПервойСтроки = Новый Структура(); + + ОпределитьОтборНаСервере(пНастройкиКомпоновщика); + Попытка + ЗаполнитьЗадачиНаСервере(); + Исключение + Сообщить("ОписаниеОшибки "+ОписаниеОшибки()); + УстановитьСтандартныеНастройкиНаСервере(); + ЗаполнитьЗадачиНаСервере(); + КонецПопытки; + + УстановитьВидимостьДоступность(); + + //ОформлениеЦветаЗадачНаСервере(); +КонецПроцедуры + +&НаКлиенте +Процедура ТЧНастройкиКолонокПриИзменении(Элемент) + СгенирироватьФормуЗаново = Истина; +КонецПроцедуры + +&НаКлиенте +Процедура ГруппаСтраницыПриСменеСтраницы(Элемент, ТекущаяСтраница) + ВыполнитьДействиеДляАктивнойСтраницы(); +КонецПроцедуры + +&НаКлиенте +Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) + Если ИмяСобытия = "СправочникЗадачаЗаписана" + ИЛИ ИмяСобытия = "ДобавленУбранНаблюдатель" + ИЛИ ИмяСобытия = "СправочникВариантВажностиЗаписан" + ИЛИ ИмяСобытия = "СправочникСпринтЗаписан" + Тогда + ЗаполнитьЗадачиНаСервере(); + Конецесли; + + ОбновитьКанбанДоску(); +КонецПроцедуры + +&НаКлиенте +Процедура ПриЗакрытии() + ОтключитьОбработчикОжидания("ЗаполнитьЗадачиНаКлиенте"); + ПриЗакрытииНаСервере(); +КонецПроцедуры + +&НаСервере +Процедура ПриЗакрытииНаСервере() + СохранитьНастройки(); +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + ПодключитьОбработчикОжидания("ЗаполнитьЗадачиНаКлиенте", 180); +КонецПроцедуры + +#КонецОбласти + +#Область ГенерацияФормыДляВыбранныхСтатусов + +&НаСервере +Процедура СгенерироватьФорму() + УдалитьДинамическиеЭлементы(); + ///// РЕКВИЗИТЫ ////////// + + МассивДобавляемыхРеквизитов = Новый Массив; + + ЭтаФорма.ИзменитьРеквизиты(МассивДобавляемыхРеквизитов); + ///// КОМАНДЫ ////////// + + ///// ЭЛЕМЕНТЫ ////////// + Для каждого СтрокаТЧНастройкиКолонок из Объект.ТЧНастройкиКолонок цикл + Если НЕ СтрокаТЧНастройкиКолонок.Видимость Тогда + Продолжить; + Конецесли; + пСтатус = СтрокаТЧНастройкиКолонок.Статус; + ДобавитьНаКанбанДоскуКолонку(пСтатус); + Конеццикла; + СгенирироватьФормуЗаново = Ложь; +КонецПроцедуры + +&НаСервере +Процедура УдалитьДинамическиеЭлементы() + пЭлементыФормы = Этаформа.Элементы; + ПрефиксДляИмениЭлементовКолонок = ПолучитьПрефиксДляИмениЭлементовКолонок(); + ЭлементыКУдалению = Новый Массив(); + Для каждого пЭлементФормы из пЭлементыФормы цикл + Если СтрНайти(пЭлементФормы.Имя,ПрефиксДляИмениЭлементовКолонок) = 0 Тогда + Продолжить; + Конецесли; + Если ТипЗнч(пЭлементФормы) <> ТИп("ГруппаФормы") Тогда + Продолжить; + Конецесли; + ЭлементыКУдалению.Добавить(пЭлементФормы); + Конеццикла; + Для каждого пЭлементФормы из ЭлементыКУдалению цикл + пЭлементыФормы.Удалить(пЭлементФормы); + Конеццикла; +КонецПроцедуры + +&НаСервере +Функция ПолучитьПрефиксДляИмениЭлементовКолонок() + Возврат "Динамич_"; +КонецФункции + +&НаСервере +Процедура ДобавитьНаКанбанДоскуКолонку(пСтатус) + ИмяКолонки = ПолучитьИмяКолонки(пСтатус); + ПредставлениеКолонки = пСтатус.Наименование; + + пЭлементыФормы = Этаформа.Элементы; + ПрефиксДляИмениЭлементовКолонок = ПолучитьПрефиксДляИмениЭлементовКолонок(); + // ****** Группа формы "Группа для колонки статуса" *********** + + ИмяГруппыКолонки = ПрефиксДляИмениЭлементовКолонок + ИмяКолонки + "_Группа"; + + пЭлементГруппаКолонка = пЭлементыФормы.Вставить(ИмяГруппыКолонки,Тип("ГруппаФормы"),пЭлементыФормы.ГруппаКанбанДоска); + пЭлементГруппаКолонка.Вид = ВидГруппыФормы.ОбычнаяГруппа; + пЭлементГруппаКолонка.Заголовок = ПредставлениеКолонки; + пЭлементГруппаКолонка.Подсказка = ПредставлениеКолонки; + пЭлементГруппаКолонка.Отображение = ОтображениеОбычнойГруппы.СлабоеВыделение; + + // ****** Таблица формы "ТЧЗадачи" для статуса *********** + ИмяТЧЗадачи = ИмяКолонки + "_ТЧЗадачи"; + + пЭлементТЧЗадачи = пЭлементыФормы.Вставить(ИмяТЧЗадачи,Тип("ТаблицаФормы"),пЭлементГруппаКолонка,Неопределено); + пЭлементТЧЗадачи.ПутьКДанным = "Объект.ТЧЗадачи"; + пЭлементТЧЗадачи.АвтоВводНовойСтроки = Истина; + пЭлементТЧЗадачи.ГоризонтальнаяПолосаПрокрутки = ИспользованиеПолосыПрокрутки.НеИспользовать; + пЭлементТЧЗадачи.ИзменятьПорядокСтрок = Ложь; + пЭлементТЧЗадачи.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; + пЭлементТЧЗадачи.РежимВыделения = РежимВыделенияТаблицы.Множественный; + пЭлементТЧЗадачи.РежимВыделенияСтроки = РежимВыделенияСтрокиТаблицы.Строка; + пЭлементТЧЗадачи.Шапка = Ложь; + пЭлементТЧЗадачи.УстановитьДействие("Выбор","ТЧЗадачиВыбор"); + пЭлементТЧЗадачи.УстановитьДействие("ПриАктивизацииЯчейки","ТЧЗадачиПриАктивизацииЯчейки"); + пЭлементТЧЗадачи.УстановитьДействие("ПередНачаломДобавления","ТЧЗадачиПередНачаломДобавления"); + пЭлементТЧЗадачи.УстановитьДействие("Перетаскивание","ТЧЗадачиПеретаскивание"); + пЭлементТЧЗадачи.КоманднаяПанель.Видимость = Ложь; + + + // ****** Команды из контекстного меню "ТЧЗадачи" *********** + + ИмяКомандыДобавитьВСпринт = ИмяКолонки + "_ТЧЗадачи_КомандаДобавитьВСпринт"; + + пКомандаДобавитьВСпринт = пЭлементыФормы.Добавить(ИмяКомандыДобавитьВСпринт, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню); + пКомандаДобавитьВСпринт.Заголовок="Добавить в спринт"; + пКомандаДобавитьВСпринт.ИмяКоманды="КомандаДобавитьВСпринт"; + пКомандаДобавитьВСпринт.Отображение = ОтображениеКнопки.КартинкаИТекст; + + ИмяКомандыУбратьИзСпринта = ИмяКолонки + "_ТЧЗадачи_КомандаУбратьИзСпринта"; + + пКомандаУбратьИзСпринта = пЭлементыФормы.Добавить(ИмяКомандыУбратьИзСпринта, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню); + пКомандаУбратьИзСпринта.Заголовок="Убрать из спринта"; + пКомандаУбратьИзСпринта.ИмяКоманды="КомандаУбратьИзСпринта"; + пКомандаУбратьИзСпринта.Отображение = ОтображениеКнопки.КартинкаИТекст; + + ИмяКомандыСледитьЗаЗадачей = ИмяКолонки + "_ТЧЗадачи_КомандаСледитьЗаЗадачей"; + + пКомандаСледитьЗаЗадачей = пЭлементыФормы.Добавить(ИмяКомандыСледитьЗаЗадачей, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню); + пКомандаСледитьЗаЗадачей.Заголовок="Следить за задачей"; + пКомандаСледитьЗаЗадачей.ИмяКоманды="КомандаСледитьЗаЗадачей"; + пКомандаСледитьЗаЗадачей.Отображение = ОтображениеКнопки.КартинкаИТекст; + + ИмяКомандыНеСледитьЗаЗадачей = ИмяКолонки + "_ТЧЗадачи_КомандаНеСледитьЗаЗадачей"; + + пКомандаНеСледитьЗаЗадачей = пЭлементыФормы.Добавить(ИмяКомандыНеСледитьЗаЗадачей, Тип("КнопкаФормы"), пЭлементТЧЗадачи.КонтекстноеМеню); + пКомандаНеСледитьЗаЗадачей.Заголовок="Не следить за задачей"; + пКомандаНеСледитьЗаЗадачей.ИмяКоманды="КомандаНеСледитьЗаЗадачей"; + пКомандаНеСледитьЗаЗадачей.Отображение = ОтображениеКнопки.КартинкаИТекст; + + // ****** Группа формы "Карточка задачи" *********** + + ИмяКарточкаЗадачи = ИмяКолонки + "_ТЧЗадачиКарточкаЗадачи"; + + пЭлементКарточкаЗадачи = пЭлементыФормы.Вставить(ИмяКарточкаЗадачи,Тип("ГруппаФормы"),пЭлементТЧЗадачи,Неопределено); + пЭлементКарточкаЗадачи.Вид = ВидГруппыФормы.ГруппаКолонок; + пЭлементКарточкаЗадачи.Заголовок = "ТЧЗадачи "+ПредставлениеКолонки; + пЭлементКарточкаЗадачи.Подсказка = "ТЧЗадачи "+ПредставлениеКолонки; + + // ****** Группа формы "Карточка задачи нижняя часть" *********** + + ИмяКарточкаЗадачи_НижняяЧасть = ИмяКолонки + "_ТЧЗадачиКарточкаЗадачи_НижняяЧасть"; + + пЭлементКарточкаЗадачи_НижняяЧасть = пЭлементыФормы.Вставить(ИмяКарточкаЗадачи_НижняяЧасть,Тип("ГруппаФормы"),пЭлементКарточкаЗадачи,Неопределено); + пЭлементКарточкаЗадачи_НижняяЧасть.Вид = ВидГруппыФормы.ГруппаКолонок; + пЭлементКарточкаЗадачи_НижняяЧасть.Заголовок = "ТЧЗадачи "+ПредставлениеКолонки; + пЭлементКарточкаЗадачи_НижняяЧасть.Подсказка = "ТЧЗадачи "+ПредставлениеКолонки; + пЭлементКарточкаЗадачи_НижняяЧасть.Группировка = ГруппировкаКолонок.Горизонтальная; + + // ****** Поле формы "Задача в карточке задачи нижняя часть" *********** + ИмяПоляЗадачиВКарточкеЗадачи = ИмяКолонки + "_ТЧЗадачи_НижняяЧасть_Задача"; + + пЭлементПолеЗадачиВКарточкеЗадачи = пЭлементыФормы.Вставить(ИмяПоляЗадачиВКарточкеЗадачи,Тип("ПолеФормы"),пЭлементКарточкаЗадачи_НижняяЧасть,Неопределено); + пЭлементПолеЗадачиВКарточкеЗадачи.Вид = ВидПоляФормы.ПолеВвода; + пЭлементПолеЗадачиВКарточкеЗадачи.ПутьКДанным = "Объект.ТЧЗадачи.Задача"; + пЭлементПолеЗадачиВКарточкеЗадачи.КнопкаВыпадающегоСписка = Ложь; + пЭлементПолеЗадачиВКарточкеЗадачи.КнопкаОткрытия = Ложь; + пЭлементПолеЗадачиВКарточкеЗадачи.Высота = 3; + + // ****** Группа формы "Карточка задачи верхняя часть" *********** + ИмяКарточкаЗадачи_ВерхняяЧасть = ИмяКолонки +"_ТЧЗадачи_ВерхняяЧасть"; + + пЭлементКарточкаЗадачи_ВерхняяЧасть = пЭлементыФормы.Вставить(ИмяКарточкаЗадачи_ВерхняяЧасть,Тип("ГруппаФормы"),пЭлементКарточкаЗадачи,пЭлементКарточкаЗадачи_НижняяЧасть); + пЭлементКарточкаЗадачи_ВерхняяЧасть.Вид = ВидГруппыФормы.ГруппаКолонок; + пЭлементКарточкаЗадачи_ВерхняяЧасть.Заголовок = "ТЧЗадачи_ВерхняяЧасть"+ПредставлениеКолонки; + пЭлементКарточкаЗадачи_ВерхняяЧасть.Подсказка = "ТЧЗадачи_ВерхняяЧасть"+ПредставлениеКолонки; + пЭлементКарточкаЗадачи_ВерхняяЧасть.Группировка = ГруппировкаКолонок.ВЯчейке; + + // ****** Поле формы "Короткое имя в карточке задачи верхняя часть" *********** + ИмяПоляКороткоеИмяВКарточкеЗадачи = ИмяКолонки + "_ТЧЗадачи_ВерхняяЧасть_КороткоеИмя"; + + пЭлементПолеКороткоеИмяВКарточкеЗадачи = пЭлементыФормы.Вставить(ИмяПоляКороткоеИмяВКарточкеЗадачи,Тип("ПолеФормы"),пЭлементКарточкаЗадачи_ВерхняяЧасть,Неопределено); + пЭлементПолеКороткоеИмяВКарточкеЗадачи.Вид = ВидПоляФормы.ПолеВвода; + пЭлементПолеКороткоеИмяВКарточкеЗадачи.ПутьКДанным = "Объект.ТЧЗадачи.КороткоеИмя"; + + // ****** Поле формы "Основная задача в карточке задачи верхняя часть" *********** + ИмяПоляОсновнаяЗадачаПредставлениеИмяВКарточкеЗадачи = ИмяКолонки +"_ТЧЗадачи_ВерхняяЧасть_ОсновнаяЗадачаПредставление"; + + пЭлементПолеОсновнаяЗадачаПредставлениеВКарточкеЗадачи = пЭлементыФормы.Вставить(ИмяПоляОсновнаяЗадачаПредставлениеИмяВКарточкеЗадачи,Тип("ПолеФормы"),пЭлементКарточкаЗадачи_ВерхняяЧасть,пЭлементПолеКороткоеИмяВКарточкеЗадачи); + пЭлементПолеОсновнаяЗадачаПредставлениеВКарточкеЗадачи.Вид = ВидПоляФормы.ПолеВвода; + пЭлементПолеОсновнаяЗадачаПредставлениеВКарточкеЗадачи.ПутьКДанным = "Объект.ТЧЗадачи.ОсновнаяЗадачаПредставление"; + + // ****** Поле формы "Номер задачи в карточке задачи верхняя часть" *********** + ИмяПоляНомерЗадачиПредставлениеПредставлениеИмяВКарточкеЗадачи = ИмяКолонки+"_ТЧЗадачи_ВерхняяЧасть_НомерЗадачиПредставление"; + + пЭлементПолеНомерЗадачиПредставлениеВКарточкеЗадачи = пЭлементыФормы.Вставить(ИмяПоляНомерЗадачиПредставлениеПредставлениеИмяВКарточкеЗадачи,Тип("ПолеФормы"),пЭлементКарточкаЗадачи_ВерхняяЧасть,пЭлементПолеОсновнаяЗадачаПредставлениеВКарточкеЗадачи); + пЭлементПолеНомерЗадачиПредставлениеВКарточкеЗадачи.Вид = ВидПоляФормы.ПолеВвода; + пЭлементПолеНомерЗадачиПредставлениеВКарточкеЗадачи.ПутьКДанным = "Объект.ТЧЗадачи.НомерЗадачиПредставление"; +КонецПроцедуры + +&НаСервере +Функция ПолучитьИмяКолонки(пСтатус) + пИмяКолонки = ""; + + НаименованиеСтатуса = пСтатус.Наименование; + НомерСимвола = 1; + ДлинаСтроки = СтрДлина(НаименованиеСтатуса); + Пока НомерСимвола <= ДлинаСтроки Цикл + пСимвол = Сред(НаименованиеСтатуса,НомерСимвола,1); + пКодСимвола = КодСимвола(пСимвол); + + //Сообщить("пСимвол " + пСимвол + " пКодСимвола - " + пКодСимвола); + Если (65 <= пКодСимвола И пКодСимвола <= 90) + ИЛИ (97 <= пКодСимвола И пКодСимвола <= 122) + ИЛИ (1072 <= пКодСимвола И пКодСимвола <= 1103) + ИЛИ (1040 <= пКодСимвола И пКодСимвола <= 1071) + Тогда + пИмяКолонки = пИмяКолонки + пСимвол; + Конецесли; + Если пКодСимвола = 32 Тогда + пИмяКолонки = пИмяКолонки + "_"; + Конецесли; + НомерСимвола = НомерСимвола + 1; + Конеццикла; + Возврат пИмяКолонки; +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаСервере +Процедура УстановитьОтборТЧ() + Для каждого СтрокаТЧНастройкиКолонок из Объект.ТЧНастройкиКолонок цикл + Если НЕ СтрокаТЧНастройкиКолонок.Видимость Тогда + Продолжить; + Конецесли; + пСтатус = СтрокаТЧНастройкиКолонок.Статус; + ИмяКолонки = ПолучитьИмяКолонки(пСтатус); + + ИмяТЧЗадачиДляСтатуса = ИмяКолонки + "_ТЧЗадачи"; + Элементы[ИмяТЧЗадачиДляСтатуса].ОтборСтрок = Новый ФиксированнаяСтруктура("Статус", пСтатус); + Конеццикла; +КонецПроцедуры + +&НаСервере +Процедура УстановитьВидимостьДоступность() + //Для каждого СтрокаТЧНастройкиКолонок из Объект.ТЧНастройкиКолонок цикл + // ИмяГруппы = "Группа"+СтрокаТЧНастройкиКолонок.ИмяПредопределенныхДанных; + // Элементы[ИмяГруппы].Видимость = СтрокаТЧНастройкиКолонок.Видимость; + //Конеццикла; +КонецПроцедуры + +&НаСервере +Процедура УстановитьСтандартныеНастройкиНаСервере() + КлючНастроек = ПолучитьКлючНастроек(); + ХранилищеОбщихНастроек.Сохранить(КлючНастроек,КлючНастроек,Неопределено); + пНастройкиКомпоновщика = Неопределено; + ЗагрузитьСохраненныеНастройки(пНастройкиКомпоновщика); + ОпределитьОтборНаСервере(пНастройкиКомпоновщика); +КонецПроцедуры + +&НаСервере +Функция ПолучитьКлючНастроек() + КлючНастроек = "Обработка.узКанбанДоска"; + Возврат КлючНастроек; +КонецФункции + +&НаСервере +Процедура ЗаполнитьЗадачиНаСервере() + Объект.АдресВременногоХранилища = ПоместитьВоВременноеХранилище(КомпоновщикНастроекКомпоновкиДанных.Настройки,Новый УникальныйИдентификатор()); + + пОбъект = РеквизитФормыВЗначение("Объект"); + пОбъект.ЗаполнитьЗадачи(); + ЗначениеВРеквизитФормы(пОбъект,"Объект"); + + Если СгенирироватьФормуЗаново Тогда + СгенерироватьФорму(); + УстановитьОтборТЧ(); + ОформлениеЦветаЗадачНаСервере(); + Конецесли; +КонецПроцедуры + +&НаСервере +Процедура ЗагрузитьСохраненныеНастройки(пНастройкиКомпоновщика) + КлючНастроек = ПолучитьКлючНастроек(); + СохраненныеНастройки = ХранилищеОбщихНастроек.Загрузить(КлючНастроек,КлючНастроек); + + Если СохраненныеНастройки <> Неопределено Тогда + Если СохраненныеНастройки.Свойство("ТЧНастройкиКолонок") Тогда + ЗаполнитьТЧНастройкиКолонокНаСервере(); + ТЧНастройкиКолонок = СохраненныеНастройки.ТЧНастройкиКолонок; + Для каждого СтрокаТЧНастройкиКолонок из Объект.ТЧНастройкиКолонок цикл + ПараметрыОтбора=Новый Структура(); + ПараметрыОтбора.Вставить("Статус",СтрокаТЧНастройкиКолонок.Статус); + НайденныеСтрокиСохраненныеНастройки = ТЧНастройкиКолонок.НайтиСтроки(ПараметрыОтбора); + Для каждого СтрокаНайденныеСтроки из НайденныеСтрокиСохраненныеНастройки цикл + СтрокаТЧНастройкиКолонок.Видимость = СтрокаНайденныеСтроки.Видимость; + Конеццикла; + Конеццикла; + Иначе + ЗаполнитьТЧНастройкиКолонокНаСервере(); + Конецесли; + Если СохраненныеНастройки.Свойство("НастройкиКомпоновщикаХранилище") Тогда + пНастройкиКомпоновщика = СохраненныеНастройки.НастройкиКомпоновщикаХранилище.Получить(); + Конецесли; + Иначе + ЗаполнитьТЧНастройкиКолонокНаСервере(); + Конецесли; +КонецПроцедуры + +&НаСервере +Функция ОпределитьОтборНаСервере(пНастройкиКомпоновщика = Неопределено) Экспорт + пОбъект = РеквизитФормыВЗначение("Объект"); + МакетСКД = пОбъект.ПолучитьМакет("СхемаКомпоновкиДанных"); + + АдресВременногоХранилищаМакетаСКД = ПоместитьВоВременноеХранилище(МакетСКД,Новый УникальныйИдентификатор()); + + ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресВременногоХранилищаМакетаСКД); + КомпоновщикНастроекКомпоновкиДанных.Инициализировать(ИсточникНастроек); + + Если пНастройкиКомпоновщика = Неопределено Тогда + КомпоновщикНастроекКомпоновкиДанных.ЗагрузитьНастройки(МакетСКД.НастройкиПоУмолчанию); + Иначе + КомпоновщикНастроекКомпоновкиДанных.ЗагрузитьНастройки(пНастройкиКомпоновщика); + Конецесли; +КонецФункции + +&НаСервере +Процедура ЗаполнитьТЧНастройкиКолонокНаСервере() + пОбъект = РеквизитФормыВЗначение("Объект"); + пОбъект.ЗаполнитьТЧНастройкиКолонок(); + ЗначениеВРеквизитФормы(пОбъект,"Объект"); +КонецПроцедуры + +&НаКлиенте +Процедура ОчиститьАктивизацииСтрок(ИсключитьИмяТЧ = Неопределено) + Для каждого НастройкаАктивации из НастройкиТЧДляАктивацииПервойСтроки цикл + ИмяТЧ = НастройкаАктивации.Ключ; + Если ИмяТЧ = ИсключитьИмяТЧ Тогда + Продолжить; + Конецесли; + //Если Элементы.Найти[ИмяТЧ] = Неопределено Тогда + // Продолжить; + //Конецесли; + Элементы[ИмяТЧ].ВыделенныеСтроки.Очистить(); + Конеццикла; +КонецПроцедуры + +&НаКлиенте +Процедура СменитьСтатусЗадачиНаКлиенте(Элемент,ПараметрыПеретаскивания) + НовыйСтатус = Элемент.ОтборСтрок.Статус; + ДанныеИсточник = ПараметрыПеретаскивания.Значение; + + МассивЗадач = Новый Массив(); + Для каждого ДанныеИсточник из ПараметрыПеретаскивания.Значение цикл + ЗадачаСсылка = ДанныеИсточник.Задача; + МассивЗадач.Добавить(ЗадачаСсылка); + Конеццикла; + + ДопПараметры = Новый Структура(); + ДопПараметры.Вставить("НовыйСтатус",НовыйСтатус); + ДопПараметры.Вставить("МассивЗадач",МассивЗадач); + СменитьСтатусЗадачиНаСервере(ДопПараметры); +КонецПроцедуры + +&НаСервере +Процедура СменитьСтатусЗадачиНаСервере(ДопПараметры) + пОбъект = РеквизитФормыВЗначение("Объект"); + пОбъект.СменитьСтатусЗадачи(ДопПараметры); + ЗначениеВРеквизитФормы(пОбъект,"Объект"); +КонецПроцедуры + +&НаКлиенте +Процедура ДобавитьНовуюЗадачу(Элемент) + пСтатус = Элемент.ОтборСтрок.Статус; + ПараметрыНовойЗадачи = Новый Структура(); + ПараметрыНовойЗадачи.Вставить("Статус",пСтатус); + ЭлементыОтбора = КомпоновщикНастроекКомпоновкиДанных.Настройки.Отбор.Элементы; + Для каждого ЭлементОтбора из ЭлементыОтбора цикл + Если НЕ ЭлементОтбора.Использование Тогда + Продолжить; + Конецесли; + Если ЭлементОтбора.ВидСравнения <> ВидСравненияКомпоновкиДанных.Равно Тогда + Продолжить; + Конецесли; + Если СтрНайти(ЭлементОтбора.ЛевоеЗначение,".") > 0 Тогда + Продолжить; + Конецесли; + Если ТипЗнч(ЭлементОтбора) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда + ПараметрыНовойЗадачи.Вставить("" + ЭлементОтбора.ЛевоеЗначение,ЭлементОтбора.ПравоеЗначение); + Конецесли; + Конеццикла; + ДопПараметры = Новый Структура(); + ДопПараметры.Вставить("ТребоватьЗаполнитьРодителя",Истина); + ДопПараметры.Вставить("ПараметрыНовойЗадачи",ПараметрыНовойЗадачи); + ОткрытьФорму("Справочник.узЗадачи.Форма.ФормаЭлемента",ДопПараметры); +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьДействиеДляАктивнойСтраницы() + пТекущаяСтраница = Элементы.ГруппаСтраницы.ТекущаяСтраница; + Если пТекущаяСтраница = Элементы.ГруппаКанбанДоска Тогда + ОбновитьКанбанДоску(); + Конецесли; +КонецПроцедуры + +&НаСервере +Функция ПолучитьМассивЗадачПоВыделеннымСтрокам(МассивВыделенныхСтрок) + МассивЗадач = Новый Массив(); + Для каждого ЭлМассиваВыделенныхСтрок из МассивВыделенныхСтрок цикл + ИдентификаторСтроки = ЭлМассиваВыделенныхСтрок; + СтрокаТЧЗадачи = Объект.ТЧЗадачи.НайтиПоИдентификатору(ИдентификаторСтроки); + МассивЗадач.Добавить(СтрокаТЧЗадачи.Задача); + Конеццикла; + Возврат МассивЗадач; +КонецФункции + +&НаСервере +Процедура СохранитьНастройки() + НастройкиКомпоновщикаХранилище = Новый ХранилищеЗначения(КомпоновщикНастроекКомпоновкиДанных.Настройки); + + КлючНастроек = ПолучитьКлючНастроек(); + ДопПараметры = Новый Структура(); + ДопПараметры.Вставить("ТЧНастройкиКолонок",Объект.ТЧНастройкиКолонок.Выгрузить()); + ДопПараметры.Вставить("НастройкиКомпоновщикаХранилище",НастройкиКомпоновщикаХранилище); + + ХранилищеОбщихНастроек.Сохранить(КлючНастроек,КлючНастроек,ДопПараметры); +КонецПроцедуры + +#КонецОбласти + +#Область КомандыФормы + +&НаКлиенте +Процедура КомандаОбновить(Команда) + Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.ГруппаКанбанДоска; + ЗаполнитьЗадачиНаКлиенте(); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьЗадачиНаКлиенте() + ОбновитьКанбанДоску(); +КонецПроцедуры + +&НаКлиенте +Процедура ОбновитьКанбанДоску() + Объект.АдресВременногоХранилища = ПоместитьВоВременноеХранилище(КомпоновщикНастроекКомпоновкиДанных.Настройки,Новый УникальныйИдентификатор()); + ЗаполнитьЗадачиНаСервере(); + УстановитьВидимостьДоступность(); + ОчиститьАктивизацииСтрок(); + + //ОформлениеЦветаЗадачНаСервере(); +КонецПроцедуры + +&НаКлиенте +Процедура КомандаУстановитьСтандартныеНастройки(Команда) + УстановитьСтандартныеНастройкиНаСервере(); +КонецПроцедуры + +#КонецОбласти + +#Область КомандыИСобытияТЧЗадачи + +&НаКлиенте +Процедура ТЧЗадачиВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; + ПоказатьЗначение(,Элемент.ТекущиеДанные.Задача); +КонецПроцедуры + +&НаКлиенте +Процедура ТЧЗадачиПриАктивизацииЯчейки(Элемент) + ИмяТЧ = Элемент.Имя; + ИмяАктивнойТЧ = ИмяТЧ; + ОчиститьАктивизацииСтрок(ИмяТЧ); + Если НЕ НастройкиТЧДляАктивацииПервойСтроки.Свойство(ИмяТЧ) Тогда + Элемент.ВыделенныеСтроки.Очистить(); + НастройкиТЧДляАктивацииПервойСтроки.Вставить(ИмяТЧ,"Истина"); + Конецесли; +КонецПроцедуры + +&НаКлиенте +Процедура ТЧЗадачиПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр) + Отказ = Истина; + ДобавитьНовуюЗадачу(Элемент); +КонецПроцедуры + +&НаКлиенте +Процедура ТЧЗадачиПередНачаломИзменения(Элемент, Отказ) + Отказ = Ложь; +КонецПроцедуры + +&НаКлиенте +Процедура ТЧЗадачиПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле) + СменитьСтатусЗадачиНаКлиенте(Элемент,ПараметрыПеретаскивания); + ОформлениеЦветаЗадачНаСервере(); +КонецПроцедуры + +&НаКлиенте +Процедура КомандаДобавитьВСпринт(Команда) + ДобавитьУбратьВСпринтНаКлиенте(1); +КонецПроцедуры + +&НаКлиенте +Процедура КомандаУбратьИзСпринта(Команда) + ДобавитьУбратьВСпринтНаКлиенте(-1); +КонецПроцедуры + +&НаСервере +Функция ДобавитьУбратьВСпринтЗадачи(КодОперации,пСпринт,МассивЗадач) + ЭтоДобавление = КодОперации = 1; + ЭтоУдаление = КодОперации = -1; + + РезультатФункции = Новый Структура(); + МассивСообщений = Новый Массив(); + Для каждого ЭлМассиваЗадач из МассивЗадач цикл + пЗадачаСсылка = ЭлМассиваЗадач; + Если ЭтоДобавление Тогда + Если пЗадачаСсылка.Спринт <> пСпринт Тогда + ЗадачаОбъект = пЗадачаСсылка.ПолучитьОбъект(); + ЗадачаОбъект.Спринт = пСпринт; + ЗадачаОбъект.Записать(); + МассивСообщений.Добавить("Добавлена" + +" в спринт ["+пСпринт+"] " + +" задача [#"+пЗадачаСсылка.Код+" "+пЗадачаСсылка+"]"); + Иначе + МассивСообщений.Добавить("Уже указана" + +" в спринте ["+пСпринт+"] " + +" задача [#"+пЗадачаСсылка.Код+" "+пЗадачаСсылка+"]"); + Конецесли; + ИначеЕсли ЭтоУдаление Тогда + пСпринт = пЗадачаСсылка.Спринт; + Если ЗначениеЗаполнено(пСпринт) Тогда + ЗадачаОбъект = пЗадачаСсылка.ПолучитьОбъект(); + ЗадачаОбъект.Спринт = Неопределено; + ЗадачаОбъект.Записать(); + МассивСообщений.Добавить("Убрана" + +" из спринта ["+пСпринт+"] " + +" задача [#"+пЗадачаСсылка.Код+" "+пЗадачаСсылка+"]"); + Иначе + МассивСообщений.Добавить("Не указана в спринте" + +" задача [#"+пЗадачаСсылка.Код+" "+пЗадачаСсылка+"]"); + Конецесли; + Иначе + ВызватьИсключение "Неизвестный код операции " + КодОперации; + КонецЕсли; + Конеццикла; + РезультатФункции.Вставить("МассивСообщений",МассивСообщений); + РезультатФункции.Вставить("КомандаДобавитьУбратьВыполнена",Истина); + Возврат РезультатФункции; +КонецФункции + +&НаКлиенте +Процедура ДобавитьУбратьВСпринтНаКлиенте(КодОперации) + СтрокаТЧ = Элементы[ИмяАктивнойТЧ].ТекущиеДанные; + Если СтрокаТЧ = Неопределено тогда + Сообщить("Выберите задачи, которые хотите добавить в спринт"); + Возврат; + Конецесли; + МассивВыделенныхСтрок = Элементы[ИмяАктивнойТЧ].ВыделенныеСтроки; + Если МассивВыделенныхСтрок.Количество() = 0 Тогда + Сообщить("Выберите задачи, которые хотите добавить в спринт"); + Возврат; + Конецесли; + РезультатФункции = ДобавитьУбратьВСпринтНаСервере(КодОперации,МассивВыделенныхСтрок); + КомандаДобавитьУбратьВыполнена = РезультатФункции.КомандаДобавитьУбратьВыполнена; + Если НЕ КомандаДобавитьУбратьВыполнена Тогда + Если РезультатФункции.Свойство("НеобходимоВыбратьСпринт") Тогда + ДополнительныеПараметры = Новый Структура(); + ДополнительныеПараметры.Вставить("МассивВыделенныхСтрок",МассивВыделенныхСтрок); + ОповещениеОЗакрытии = Новый ОписаниеОповещения("ОбработатьВыборСпринта", ЭтаФорма, ДополнительныеПараметры); + + пОтбор = Новый Структура("СпринтЗавершен", Ложь); + ПараметрыОткрытияФормы = Новый Структура("Отбор", пОтбор); + ОткрытьФорму("Справочник.узСпринты.Форма.ФормаВыбора",ПараметрыОткрытияФормы,,,,,ОповещениеОЗакрытии); + Конецесли; + Конецесли; + ДобавитьУбратьВСпринтНаКлиентеОбработатьРезультатФункции(РезультатФункции); +КонецПроцедуры + +&НаКлиенте +Процедура ОбработатьВыборСпринта(РезультатЗакрытия, ДопПараметры) Экспорт + Если РезультатЗакрытия = Неопределено Тогда + Возврат; + Конецесли; + пСпринт = РезультатЗакрытия; + МассивВыделенныхСтрок = ДопПараметры.МассивВыделенныхСтрок; + РезультатФункции = ДобавитьУбратьВСпринтНаСервере(1,МассивВыделенныхСтрок,пСпринт); + ДобавитьУбратьВСпринтНаКлиентеОбработатьРезультатФункции(РезультатФункции); +КонецПроцедуры + +&НаКлиенте +Процедура ДобавитьУбратьВСпринтНаКлиентеОбработатьРезультатФункции(РезультатФункции) + Если РезультатФункции.Свойство("МассивСообщений") Тогда + МассивСообщений = РезультатФункции.МассивСообщений; + Для каждого ЭлМассиваСообщения из МассивСообщений цикл + Сообщить(ЭлМассиваСообщения); + Конеццикла; + Конецесли; + ЗаполнитьЗадачиНаСервере(); +КонецПроцедуры + +&НаСервере +Функция ДобавитьУбратьВСпринтНаСервере(КодОперации,МассивВыделенныхСтрок,пСпринт = Неопределено) + МассивЗадач = ПолучитьМассивЗадачПоВыделеннымСтрокам(МассивВыделенныхСтрок); + РезультатФункцииТекущийСпринт = Справочники.узСпринты.ПолучитьТекущийСпринт(); + ТекстОшибки = РезультатФункцииТекущийСпринт.ТекстОшибки; + Если ЗначениеЗаполнено(ТекстОшибки) Тогда + МассивСообщений = Новый Массив(); + МассивСообщений.Добавить(ТекстОшибки); + + РезультатФункции = Новый Структура(); + РезультатФункции.Вставить("КомандаДобавитьУбратьВыполнена",Ложь); + РезультатФункции.Вставить("МассивСообщений",МассивСообщений); + Возврат РезультатФункции; + Конецесли; + + Если КодОперации = -1 Тогда + РезультатФункции = ДобавитьУбратьВСпринтЗадачи(КодОперации,Неопределено,МассивЗадач); + Возврат РезультатФункции; + Конецесли; + + Если ЗначениеЗаполнено(пСпринт) Тогда + РезультатФункции = ДобавитьУбратьВСпринтЗадачи(КодОперации,пСпринт,МассивЗадач); + Возврат РезультатФункции; + Конецесли;; + + Только1АктивныйСпринт = РезультатФункцииТекущийСпринт.Только1АктивныйСпринт; + Если Только1АктивныйСпринт Тогда + пСпринт = РезультатФункцииТекущийСпринт.Спринт; + РезультатФункции = ДобавитьУбратьВСпринтЗадачи(КодОперации,пСпринт,МассивЗадач); + Возврат РезультатФункции; + Конецесли; + + РезультатФункции = Новый Структура(); + РезультатФункции.Вставить("КомандаДобавитьУбратьВыполнена",Ложь); + РезультатФункции.Вставить("НеобходимоВыбратьСпринт",Истина); + Возврат РезультатФункции; + +КонецФункции + +&НаКлиенте +Процедура КомандаНеСледитьЗаЗадачей(Команда) + ДобавитьУбратьНаблюдателяЗаЗадачейНаКлиенте(Ложь); +КонецПроцедуры + +&НаКлиенте +Процедура КомандаСледитьЗаЗадачей(Команда) + ДобавитьУбратьНаблюдателяЗаЗадачейНаКлиенте(Истина); +КонецПроцедуры + +&НаКлиенте +Процедура ДобавитьУбратьНаблюдателяЗаЗадачейНаКлиенте(ЭтоДобавлениеНаблюдателя) + СтрокаТЧ = Элементы[ИмяАктивнойТЧ].ТекущиеДанные; + Если СтрокаТЧ = Неопределено тогда + Сообщить("Выберите задачи, которые за которыми хотите следить"); + Возврат; + Конецесли; + МассивВыделенныхСтрок = Элементы[ИмяАктивнойТЧ].ВыделенныеСтроки; + Если МассивВыделенныхСтрок.Количество() = 0 Тогда + Сообщить("Выберите задачи, которые за которыми хотите следить"); + Возврат; + Конецесли; + ДобавитьУбратьНаблюдателяЗаЗадачейНаСервере(МассивВыделенныхСтрок,ЭтоДобавлениеНаблюдателя); + Оповестить("ДобавленУбранНаблюдатель"); +КонецПроцедуры + +&НаСервере +Процедура ДобавитьУбратьНаблюдателяЗаЗадачейНаСервере(МассивВыделенныхСтрок,ЭтоДобавлениеНаблюдателя) + МассивЗадач = ПолучитьМассивЗадачПоВыделеннымСтрокам(МассивВыделенныхСтрок); + ДопПараметры = Новый Структура(); + ДопПараметры.Вставить("Пользователь",Пользователи.ТекущийПользователь()); + ДопПараметры.Вставить("МассивЗадач",МассивЗадач); + Если ЭтоДобавлениеНаблюдателя Тогда + РегистрыСведений.узНаблюдателиЗаЗадачами.СледитьЗаЗадачей(ДопПараметры); + Иначе + РегистрыСведений.узНаблюдателиЗаЗадачами.ПерестатьСледитьЗаЗадачей(ДопПараметры); + Конецесли; +КонецПроцедуры + +#КонецОбласти + +#Область ОформлениеКанбанДоски + +&НаСервере +Процедура ОформлениеЦветаЗадачНаСервере() + //Сообщить("ОформлениеЦветаЗадачНаСервере"); + УстановитьБазовоеОформлениеЗадачНаСервере(); + + Для Каждого ТекЭлементФормы Из Элементы Цикл + Если ТипЗнч(ТекЭлементФормы) = Тип("ТаблицаФормы") И ТекЭлементФормы.ПутьКДанным = "Объект.ТЧЗадачи" Тогда + Для Каждого СтрокаЗадача Из Объект.ТЧЗадачи Цикл + ТекЗадача = СтрокаЗадача.Задача; + + //+ УЗ_Иванов А.Б. 2016-11-26 + //ИмяТЧЗадачи = "ТЧЗадачи" + СтрокаЗадача.Статус.ИмяПредопределенныхДанных; + ИмяКолонки = ПолучитьИмяКолонки(СтрокаЗадача.Статус); + ИмяТЧЗадачи = ИмяКолонки + "_ТЧЗадачи"; + //- УЗ_Иванов А.Б. 2016-11-26 + + + Если ТекЭлементФормы.Имя <> ИмяТЧЗадачи Тогда + Продолжить; + КонецЕсли; + + ТекЦвет = ПолучитьПриоритетныйЦветЗадачиНаСервере(СтрокаЗадача); + ЦветЗаполнен = ПроверитьЗаполнениеЦвета(ТекЦвет); + + Если ЦветЗаполнен Тогда + ОформлениеЗадачи = УсловноеОформление.Элементы.Добавить(); + Отбор = ОформлениеЗадачи.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; + Отбор.Использование = ИСТИНА; + Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ТЧЗадачи.Задача"); + Отбор.ПравоеЗначение = ТекЗадача; + + Поля = ОформлениеЗадачи.Поля.Элементы.Добавить(); + Поля.Использование = ИСТИНА; + Поля.Поле = Новый ПолеКомпоновкиДанных(ИмяТЧЗадачи + "НомерЗадачиПредставление"); + + ОформлениеЗадачи.Оформление.УстановитьЗначениеПараметра("ЦветФона", ТекЦвет); + КонецЕсли; + КонецЦикла; + КонецЕсли; + КонецЦикла; +КонецПроцедуры + +&НаСервере +Процедура УстановитьБазовоеОформлениеЗадачНаСервере() + УсловноеОформление.Элементы.Очистить(); + + ОформлениеЗадачи = УсловноеОформление.Элементы.Добавить(); + Отбор = ОформлениеЗадачи.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; + Отбор.Использование = ИСТИНА; + Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ТЧЗадачи.ВажностьЧисло"); + Отбор.ПравоеЗначение = 1; + + ЗаполнитьПоляОформленияЗадачНаСервере(ОформлениеЗадачи); + ОформлениеЗадачи.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(255,102,102)); + + ОформлениеЗадачи = УсловноеОформление.Элементы.Добавить(); + ОтборГруппа = ОформлениеЗадачи.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных")); + ОтборГруппа.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли; + ОтборЭлементы = ОтборГруппа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ОтборЭлементы.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; + ОтборЭлементы.Использование = ИСТИНА; + ОтборЭлементы.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ТЧЗадачи.ВажностьЧисло"); + ОтборЭлементы.ПравоеЗначение = 2; + + ОтборЭлементы = ОтборГруппа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ОтборЭлементы.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено; + ОтборЭлементы.Использование = ИСТИНА; + ОтборЭлементы.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ТЧЗадачи.ВажностьЧисло"); + + ЗаполнитьПоляОформленияЗадачНаСервере(ОформлениеЗадачи); + ОформлениеЗадачи.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(153,204,0)); + + ОформлениеЗадачи = УсловноеОформление.Элементы.Добавить(); + Отбор = ОформлениеЗадачи.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; + Отбор.Использование = ИСТИНА; + Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ТЧЗадачи.ВажностьЧисло"); + Отбор.ПравоеЗначение = 3; + + ЗаполнитьПоляОформленияЗадачНаСервере(ОформлениеЗадачи); + ОформлениеЗадачи.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(207,238,0)); + +КонецПроцедуры + +&НаСервере +Процедура ЗаполнитьПоляОформленияЗадачНаСервере(ОформлениеЗадачи) + Для Каждого ТекЭлементФормы Из Элементы Цикл + Если ТипЗнч(ТекЭлементФормы) = Тип("ТаблицаФормы") И ТекЭлементФормы.ПутьКДанным = "Объект.ТЧЗадачи" Тогда + ИмяТЧЗадачи = ТекЭлементФормы.Имя; + + Если ТекЭлементФормы.Имя <> ИмяТЧЗадачи Тогда + Продолжить; + КонецЕсли; + + Поля = ОформлениеЗадачи.Поля.Элементы.Добавить(); + Поля.Использование = ИСТИНА; + Поля.Поле = Новый ПолеКомпоновкиДанных(ИмяТЧЗадачи + "_ВерхняяЧасть_НомерЗадачиПредставление"); + + //ТЧЗадачи_ВерхняяЧасть_НомерЗадачиПредставление_В_процессе_выполнения + //Элементы.В_процессе_выполнения_ТЧЗадачи_ВерхняяЧасть_НомерЗадачиПредставление_ + КонецЕсли; + КонецЦикла; +КонецПроцедуры + +&НаКлиентеНаСервереБезКонтекста +Функция ПроверитьЗаполнениеЦвета(ТекЦвет) + Если ТекЦвет = Неопределено ИЛИ ТекЦвет = Новый Цвет(0,0,0) Тогда + Возврат ЛОЖЬ; + Иначе + Возврат ИСТИНА; + КонецЕсли; +КонецФункции + +&НаСервере +Функция ПолучитьПриоритетныйЦветЗадачиНаСервере(СтрокаЗадача) + Для Каждого ВидПриоритета Из ПолучитьМассивПриоритетовЦветаЗадач() Цикл + ТекЦвет = ПолучитьЦветЗадачиПоВидуПриоритета(СтрокаЗадача, ВидПриоритета); + ЦветЗаполнен = ПроверитьЗаполнениеЦвета(ТекЦвет); + Если ЦветЗаполнен Тогда + Прервать; + КонецЕсли; + КонецЦикла; + + Возврат ТекЦвет; +КонецФункции + +&НаСервере +Функция ПолучитьЦветЗадачиПоВидуПриоритета(СтрокаЗадача, ВидПриоритета) + НужныйЦвет = Неопределено; + Задача = СтрокаЗадача.Задача; + + Если ВидПриоритета = ВидыПриоритетаЦвета().Задача Тогда + НужныйЦвет = Задача.ЦветЗадачи.Получить(); + ИначеЕсли ВидПриоритета = ВидыПриоритетаЦвета().Спринт Тогда + НужныйЦвет = Задача.Спринт.ЦветСпринта.Получить(); + ИначеЕсли ВидПриоритета = ВидыПриоритетаЦвета().ОсновнаяЗадача Тогда + НужныйЦвет = Задача.ОсновнаяЗадача.ЦветЗадачи.Получить(); + ИначеЕсли ВидПриоритета = ВидыПриоритетаЦвета().Важность Тогда + НужныйЦвет = Задача.Важность.ЦветВажности.Получить(); + КонецЕсли; + + Возврат НужныйЦвет; +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ПолучитьМассивПриоритетовЦветаЗадач() + Приоритеты = Новый Массив; + Приоритеты.Добавить(ВидыПриоритетаЦвета().Задача); + Приоритеты.Добавить(ВидыПриоритетаЦвета().Спринт); + Приоритеты.Добавить(ВидыПриоритетаЦвета().ОсновнаяЗадача); + Приоритеты.Добавить(ВидыПриоритетаЦвета().Важность); + + Возврат Новый ФиксированныйМассив(Приоритеты); +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ВидыПриоритетаЦвета() + Виды = Новый Структура(); + Виды.Вставить("Важность" , "Важность"); + Виды.Вставить("ОсновнаяЗадача", "ОсновнаяЗадача"); + Виды.Вставить("Спринт" , "Спринт"); + Виды.Вставить("Задача" , "Задача"); + + Возврат Новый ФиксированнаяСтруктура(Виды); +КонецФункции + +#КонецОбласти + + + + diff --git a/src/cf/Reports/АнализЖурналаРегистрации/Templates/ПродолжительностьРаботыРегламентныхЗаданий/Ext/Template.xml b/src/cf/Reports/АнализЖурналаРегистрации/Templates/ПродолжительностьРаботыРегламентныхЗаданий/Ext/Template.xml index 8cc538180..20906e7d6 100644 --- a/src/cf/Reports/АнализЖурналаРегистрации/Templates/ПродолжительностьРаботыРегламентныхЗаданий/Ext/Template.xml +++ b/src/cf/Reports/АнализЖурналаРегистрации/Templates/ПродолжительностьРаботыРегламентныхЗаданий/Ext/Template.xml @@ -2982,9 +2982,9 @@ Day 1 true - 2016-09-05T08:00:00 - 2016-09-14T09:59:59 - 2016-09-05T08:00:00 + 2016-09-05T07:00:00 + 2016-09-14T08:59:59 + 2016-09-05T07:00:00 Gradient 3 Day