mirror of
https://github.com/BlizD/Tasks.git
synced 2025-01-14 03:20:16 +02:00
#2 Динамическая форма канбан доски
This commit is contained in:
parent
0055ae2b1a
commit
9b7cd098f2
@ -95,9 +95,6 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<SavedData>true</SavedData>
|
||||
<UseAlways>
|
||||
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
|
||||
</UseAlways>
|
||||
</Attribute>
|
||||
<Attribute name="ЛогинДляОтправкиSMS" id="2">
|
||||
<Title>
|
||||
|
@ -415,7 +415,6 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<UseAlways>
|
||||
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
|
||||
<Field>НаборКонстант.ЗаголовокСистемы</Field>
|
||||
</UseAlways>
|
||||
</Attribute>
|
||||
|
@ -653,6 +653,7 @@
|
||||
<Field>НаборКонстант.СписокРасширенийФайловOpenDocumentОбластиДанных</Field>
|
||||
<Field>НаборКонстант.СписокРасширенийТекстовыхФайлов</Field>
|
||||
<Field>НаборКонстант.СписокЗапрещенныхРасширенийОбластиДанных</Field>
|
||||
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
|
||||
<Field>НаборКонстант.ПрефиксУзлаРаспределеннойИнформационнойБазы</Field>
|
||||
<Field>НаборКонстант.ОтправлятьПисьмаВФорматеHTML</Field>
|
||||
<Field>НаборКонстант.ОграничиватьДоступНаУровнеЗаписей</Field>
|
||||
|
@ -742,6 +742,7 @@
|
||||
<Field>НаборКонстант.СписокРасширенийФайловOpenDocumentОбластиДанных</Field>
|
||||
<Field>НаборКонстант.СписокРасширенийТекстовыхФайлов</Field>
|
||||
<Field>НаборКонстант.СписокЗапрещенныхРасширенийОбластиДанных</Field>
|
||||
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
|
||||
<Field>НаборКонстант.ПрефиксУзлаРаспределеннойИнформационнойБазы</Field>
|
||||
<Field>НаборКонстант.ОтправлятьПисьмаВФорматеHTML</Field>
|
||||
<Field>НаборКонстант.ОграничиватьДоступНаУровнеЗаписей</Field>
|
||||
|
@ -432,6 +432,7 @@
|
||||
<Field>НаборКонстант.СписокРасширенийФайловOpenDocumentОбластиДанных</Field>
|
||||
<Field>НаборКонстант.СписокРасширенийТекстовыхФайлов</Field>
|
||||
<Field>НаборКонстант.СписокЗапрещенныхРасширенийОбластиДанных</Field>
|
||||
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
|
||||
<Field>НаборКонстант.ПрефиксУзлаРаспределеннойИнформационнойБазы</Field>
|
||||
<Field>НаборКонстант.ОтправлятьПисьмаВФорматеHTML</Field>
|
||||
<Field>НаборКонстант.ОграничиватьДоступНаУровнеЗаписей</Field>
|
||||
|
@ -873,6 +873,7 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<UseAlways>
|
||||
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
|
||||
<Field>НаборКонстант.ИспользоватьРазделениеПоОбластямДанных</Field>
|
||||
</UseAlways>
|
||||
</Attribute>
|
||||
|
@ -1037,6 +1037,7 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<UseAlways>
|
||||
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
|
||||
<Field>НаборКонстант.ЗаголовокСистемы</Field>
|
||||
<Field>НаборКонстант.АдресПубликацииИнформационнойБазыВИнтернете</Field>
|
||||
</UseAlways>
|
||||
|
@ -400,6 +400,7 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<UseAlways>
|
||||
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
|
||||
<Field>НаборКонстант.ЗаголовокСистемы</Field>
|
||||
</UseAlways>
|
||||
</Attribute>
|
||||
|
@ -2040,6 +2040,7 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<UseAlways>
|
||||
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
|
||||
<Field>НаборКонстант.ИспользоватьРазделениеПоОбластямДанных</Field>
|
||||
<Field>НаборКонстант.ИспользоватьПолнотекстовыйПоиск</Field>
|
||||
<Field>НаборКонстант.ИспользоватьДополнительныеОтчетыИОбработки</Field>
|
||||
|
@ -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>
|
||||
|
@ -377,6 +377,7 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<UseAlways>
|
||||
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
|
||||
<Field>НаборКонстант.ИспользоватьПолнотекстовыйПоиск</Field>
|
||||
<Field>НаборКонстант.ИзвлекатьТекстыФайловНаСервере</Field>
|
||||
</UseAlways>
|
||||
|
@ -634,6 +634,7 @@
|
||||
</ChildObjects>
|
||||
</TabularSection>
|
||||
<Form>Форма</Form>
|
||||
<Form>ФормаДинамическая</Form>
|
||||
<Template>СхемаКомпоновкиДанных</Template>
|
||||
<Command uuid="ab189899-73fe-4879-8f31-035adab3f53c">
|
||||
<Properties>
|
||||
|
@ -1,4 +1,6 @@
|
||||
Процедура ЗаполнитьЗадачи() Экспорт
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Процедура ЗаполнитьЗадачи() Экспорт
|
||||
пНастройкиКомпоновщика = ПолучитьИзВременногоХранилища(АдресВременногоХранилища);
|
||||
|
||||
ТЗЗадачи = ПолучитьТЗЗадачи(пНастройкиКомпоновщика);
|
||||
@ -58,8 +60,7 @@
|
||||
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
|
||||
|
||||
Возврат ТЗЗадачи;
|
||||
КонецФункции //ПолучитьМакетКомпоновкиДанных()
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура СменитьСтатусЗадачи(ДопПараметры) Экспорт
|
||||
НовыйСтатус = ДопПараметры.НовыйСтатус;
|
||||
@ -83,11 +84,15 @@
|
||||
| узСтатусыЗадачи.ИмяПредопределенныхДанных
|
||||
|ИЗ
|
||||
| Справочник.узСтатусыЗадачи КАК узСтатусыЗадачи
|
||||
|ГДЕ
|
||||
| узСтатусыЗадачи.Предопределенный
|
||||
//|ГДЕ
|
||||
//| узСтатусыЗадачи.Предопределенный
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| узСтатусыЗадачи.РеквизитДопУпорядочивания";
|
||||
|
||||
ТЧНастройкиКолонок.Загрузить(Запрос.Выполнить().Выгрузить());
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
|
||||
|
@ -9,7 +9,11 @@
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
//{Код для декомпиляции управляемой формы
|
||||
Если ЭтаФорма.Параметры.Свойство("ДекомпиляцияЭлементов") Тогда
|
||||
ВнешниеОбработки.Создать(ЭтаФорма.Параметры.ДекомпиляцияЭлементов.ИмяПодключеннойОбработки,Ложь).ОпределитьВнутренниеСвойстваЭлементов(ЭтаФорма);
|
||||
КонецЕсли;
|
||||
//}Код для декомпиляции управляемой формы
|
||||
|
||||
пНастройкиКомпоновщика = Неопределено;
|
||||
|
||||
@ -472,11 +476,6 @@
|
||||
Конецесли;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ТЧЗадачиАнализПриАктивизацииЯчейки(Элемент)
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ТЧЗадачиВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
|
||||
СтандартнаяОбработка = Ложь;
|
||||
|
@ -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>
|
@ -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>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Группа страницы</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<ExtendedTooltip name="ГруппаСтраницыРасширеннаяПодсказка" id="2"/>
|
||||
<Events>
|
||||
<Event name="OnCurrentPageChange">ГруппаСтраницыПриСменеСтраницы</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<Page name="ГруппаКанбанДоска" id="3">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Задачи</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Группа канбан доска</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Group>Horizontal</Group>
|
||||
<ExtendedTooltip name="ГруппаКанбанДоскаРасширеннаяПодсказка" id="4"/>
|
||||
</Page>
|
||||
<Page name="ГруппаНастройки" id="456">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Настройки</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Группа настройки</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<ExtendedTooltip name="ГруппаНастройкиРасширеннаяПодсказка" id="457"/>
|
||||
<ChildItems>
|
||||
<UsualGroup name="Группа3" id="458">
|
||||
<Representation>None</Representation>
|
||||
<ShowTitle>false</ShowTitle>
|
||||
<ExtendedTooltip name="Группа3РасширеннаяПодсказка" id="459"/>
|
||||
<ChildItems>
|
||||
<Button name="КомандаОбновить" id="507">
|
||||
<Type>UsualButton</Type>
|
||||
<CommandName>Form.Command.КомандаОбновить</CommandName>
|
||||
<ExtendedTooltip name="КомандаОбновитьРасширеннаяПодсказка" id="508"/>
|
||||
</Button>
|
||||
<UsualGroup name="Группа2" id="462">
|
||||
<Group>Horizontal</Group>
|
||||
<Representation>None</Representation>
|
||||
<ShowTitle>false</ShowTitle>
|
||||
<ExtendedTooltip name="Группа2РасширеннаяПодсказка" id="463"/>
|
||||
<ChildItems>
|
||||
<Button name="КомандаУстановитьСтандартныеНастройки" id="509">
|
||||
<Type>UsualButton</Type>
|
||||
<CommandName>Form.Command.КомандаУстановитьСтандартныеНастройки</CommandName>
|
||||
<ExtendedTooltip name="КомандаУстановитьСтандартныеНастройкиРасширеннаяПодсказка" id="510"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</UsualGroup>
|
||||
</ChildItems>
|
||||
</UsualGroup>
|
||||
<InputField name="Наблюдатель" id="466">
|
||||
<DataPath>Объект.Наблюдатель</DataPath>
|
||||
<ClearButton>true</ClearButton>
|
||||
<ContextMenu name="НаблюдательКонтекстноеМеню" id="467"/>
|
||||
<ExtendedTooltip name="НаблюдательРасширеннаяПодсказка" id="468"/>
|
||||
</InputField>
|
||||
<UsualGroup name="Группа1" id="469">
|
||||
<Group>Horizontal</Group>
|
||||
<Representation>None</Representation>
|
||||
<ShowTitle>false</ShowTitle>
|
||||
<ExtendedTooltip name="Группа1РасширеннаяПодсказка" id="470"/>
|
||||
<ChildItems>
|
||||
<UsualGroup name="ГруппаОтборы" id="471">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Отборы</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Группа отборы</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<ExtendedTooltip name="ГруппаОтборыРасширеннаяПодсказка" id="472"/>
|
||||
<ChildItems>
|
||||
<Table name="КомпоновщикНастроекКомпоновкиДанныхНастройкиОтбор" id="473">
|
||||
<Representation>Tree</Representation>
|
||||
<Autofill>true</Autofill>
|
||||
<InitialTreeView>ExpandAllLevels</InitialTreeView>
|
||||
<VerticalStretch>false</VerticalStretch>
|
||||
<EnableStartDrag>true</EnableStartDrag>
|
||||
<EnableDrag>true</EnableDrag>
|
||||
<DataPath>КомпоновщикНастроекКомпоновкиДанных.Settings.Filter</DataPath>
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Отборы</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ViewMode>All</ViewMode>
|
||||
<SettingsNamedItemDetailedRepresentation>false</SettingsNamedItemDetailedRepresentation>
|
||||
<ContextMenu name="КомпоновщикНастроекКомпоновкиДанныхНастройкиОтборКонтекстноеМеню" id="474"/>
|
||||
<AutoCommandBar name="КомпоновщикНастроекКомпоновкиДанныхНастройкиОтборКоманднаяПанель" id="475"/>
|
||||
<ExtendedTooltip name="КомпоновщикНастроекКомпоновкиДанныхНастройкиОтборРасширеннаяПодсказка" id="476"/>
|
||||
<SearchStringAddition name="КомпоновщикНастроекКомпоновкиДанныхНастройкиОтборСтрокаПоиска" id="477">
|
||||
<AdditionSource>
|
||||
<Item>КомпоновщикНастроекКомпоновкиДанныхНастройкиОтбор</Item>
|
||||
<Type>SearchStringRepresentation</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="КомпоновщикНастроекКомпоновкиДанныхНастройкиОтборСтрокаПоискаКонтекстноеМеню" id="478"/>
|
||||
<ExtendedTooltip name="КомпоновщикНастроекКомпоновкиДанныхНастройкиОтборСтрокаПоискаРасширеннаяПодсказка" id="479"/>
|
||||
</SearchStringAddition>
|
||||
<ViewStatusAddition name="КомпоновщикНастроекКомпоновкиДанныхНастройкиОтборСостояниеПросмотра" id="480">
|
||||
<AdditionSource>
|
||||
<Item>КомпоновщикНастроекКомпоновкиДанныхНастройкиОтбор</Item>
|
||||
<Type>ViewStatusRepresentation</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="КомпоновщикНастроекКомпоновкиДанныхНастройкиОтборСостояниеПросмотраКонтекстноеМеню" id="481"/>
|
||||
<ExtendedTooltip name="КомпоновщикНастроекКомпоновкиДанныхНастройкиОтборСостояниеПросмотраРасширеннаяПодсказка" id="482"/>
|
||||
</ViewStatusAddition>
|
||||
<SearchControlAddition name="КомпоновщикНастроекКомпоновкиДанныхНастройкиОтборУправлениеПоиском" id="483">
|
||||
<AdditionSource>
|
||||
<Item>КомпоновщикНастроекКомпоновкиДанныхНастройкиОтбор</Item>
|
||||
<Type>SearchControl</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="КомпоновщикНастроекКомпоновкиДанныхНастройкиОтборУправлениеПоискомКонтекстноеМеню" id="484"/>
|
||||
<ExtendedTooltip name="КомпоновщикНастроекКомпоновкиДанныхНастройкиОтборУправлениеПоискомРасширеннаяПодсказка" id="485"/>
|
||||
</SearchControlAddition>
|
||||
</Table>
|
||||
</ChildItems>
|
||||
</UsualGroup>
|
||||
<UsualGroup name="ГруппаВидимостьКолонок" id="486">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Видимость колонок</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Группа видимость колонок</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<ExtendedTooltip name="ГруппаВидимостьКолонокРасширеннаяПодсказка" id="487"/>
|
||||
<ChildItems>
|
||||
<Table name="ТЧНастройкиКолонок" id="488">
|
||||
<ChangeRowSet>false</ChangeRowSet>
|
||||
<ChangeRowOrder>false</ChangeRowOrder>
|
||||
<MaxWidth>3</MaxWidth>
|
||||
<MaxHeight>4</MaxHeight>
|
||||
<AutoInsertNewRow>true</AutoInsertNewRow>
|
||||
<HorizontalStretch>false</HorizontalStretch>
|
||||
<VerticalStretch>false</VerticalStretch>
|
||||
<EnableStartDrag>true</EnableStartDrag>
|
||||
<EnableDrag>true</EnableDrag>
|
||||
<DataPath>Объект.ТЧНастройкиКолонок</DataPath>
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Видимость колонок</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<RowFilter xsi:nil="true"/>
|
||||
<ContextMenu name="ТЧНастройкиКолонокКонтекстноеМеню" id="489"/>
|
||||
<AutoCommandBar name="ТЧНастройкиКолонокКоманднаяПанель" id="490"/>
|
||||
<ExtendedTooltip name="ТЧНастройкиКолонокРасширеннаяПодсказка" id="491"/>
|
||||
<SearchStringAddition name="ТЧНастройкиКолонокСтрокаПоиска" id="492">
|
||||
<AdditionSource>
|
||||
<Item>ТЧНастройкиКолонок</Item>
|
||||
<Type>SearchStringRepresentation</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="ТЧНастройкиКолонокСтрокаПоискаКонтекстноеМеню" id="493"/>
|
||||
<ExtendedTooltip name="ТЧНастройкиКолонокСтрокаПоискаРасширеннаяПодсказка" id="494"/>
|
||||
</SearchStringAddition>
|
||||
<ViewStatusAddition name="ТЧНастройкиКолонокСостояниеПросмотра" id="495">
|
||||
<AdditionSource>
|
||||
<Item>ТЧНастройкиКолонок</Item>
|
||||
<Type>ViewStatusRepresentation</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="ТЧНастройкиКолонокСостояниеПросмотраКонтекстноеМеню" id="496"/>
|
||||
<ExtendedTooltip name="ТЧНастройкиКолонокСостояниеПросмотраРасширеннаяПодсказка" id="497"/>
|
||||
</ViewStatusAddition>
|
||||
<SearchControlAddition name="ТЧНастройкиКолонокУправлениеПоиском" id="498">
|
||||
<AdditionSource>
|
||||
<Item>ТЧНастройкиКолонок</Item>
|
||||
<Type>SearchControl</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="ТЧНастройкиКолонокУправлениеПоискомКонтекстноеМеню" id="499"/>
|
||||
<ExtendedTooltip name="ТЧНастройкиКолонокУправлениеПоискомРасширеннаяПодсказка" id="500"/>
|
||||
</SearchControlAddition>
|
||||
<Events>
|
||||
<Event name="OnChange">ТЧНастройкиКолонокПриИзменении</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<InputField name="ТЧНастройкиКолонокСтатус" id="501">
|
||||
<DataPath>Объект.ТЧНастройкиКолонок.Статус</DataPath>
|
||||
<ReadOnly>true</ReadOnly>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<ContextMenu name="ТЧНастройкиКолонокСтатусКонтекстноеМеню" id="502"/>
|
||||
<ExtendedTooltip name="ТЧНастройкиКолонокСтатусРасширеннаяПодсказка" id="503"/>
|
||||
</InputField>
|
||||
<CheckBoxField name="ТЧНастройкиКолонокВидимость" id="504">
|
||||
<DataPath>Объект.ТЧНастройкиКолонок.Видимость</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<CheckBoxType>Auto</CheckBoxType>
|
||||
<ContextMenu name="ТЧНастройкиКолонокВидимостьКонтекстноеМеню" id="505"/>
|
||||
<ExtendedTooltip name="ТЧНастройкиКолонокВидимостьРасширеннаяПодсказка" id="506"/>
|
||||
</CheckBoxField>
|
||||
</ChildItems>
|
||||
</Table>
|
||||
</ChildItems>
|
||||
</UsualGroup>
|
||||
</ChildItems>
|
||||
</UsualGroup>
|
||||
</ChildItems>
|
||||
</Page>
|
||||
</ChildItems>
|
||||
</Pages>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
<Attribute name="Объект" id="1">
|
||||
<Type>
|
||||
<v8:Type>cfg:DataProcessorObject.узКанбанДоска</v8:Type>
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
</Attribute>
|
||||
<Attribute name="ИмяАктивнойТЧ" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Имя активной ТЧ</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="КомпоновщикНастроекКомпоновкиДанных" id="3">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Компоновщик настроек компоновки данных</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>dcsset:SettingsComposer</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="НастройкиТЧДляАктивацииПервойСтроки" id="4">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Настройки ТЧДля активации первой строки</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type/>
|
||||
</Attribute>
|
||||
<Attribute name="СгенирироватьФормуЗаново" id="5">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Сгенирировать форму заново</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:boolean</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
<Commands>
|
||||
<Command name="КомандаДобавитьВСпринт" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Добавить в спринт</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Добавить в спринт</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Picture>
|
||||
<xr:Ref>CommonPicture.узСпринт</xr:Ref>
|
||||
<xr:LoadTransparent>true</xr:LoadTransparent>
|
||||
</Picture>
|
||||
<Action>КомандаДобавитьВСпринт</Action>
|
||||
<Representation>TextPicture</Representation>
|
||||
</Command>
|
||||
<Command name="КомандаОбновить" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Обновить</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Обновить</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Shortcut>F5</Shortcut>
|
||||
<Picture>
|
||||
<xr:Ref>StdPicture.Refresh</xr:Ref>
|
||||
<xr:LoadTransparent>true</xr:LoadTransparent>
|
||||
</Picture>
|
||||
<Action>КомандаОбновить</Action>
|
||||
<Representation>TextPicture</Representation>
|
||||
</Command>
|
||||
<Command name="КомандаУстановитьСтандартныеНастройки" id="3">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Установить стандартные настройки</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Команда установить стандартные настройки</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>КомандаУстановитьСтандартныеНастройки</Action>
|
||||
</Command>
|
||||
<Command name="КомандаНеСледитьЗаЗадачей" id="4">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Не следить за задачей</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Не следить за задачей</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Picture>
|
||||
<xr:Ref>CommonPicture.узНеСледитьЗаЗадачей</xr:Ref>
|
||||
<xr:LoadTransparent>true</xr:LoadTransparent>
|
||||
</Picture>
|
||||
<Action>КомандаНеСледитьЗаЗадачей</Action>
|
||||
<Representation>TextPicture</Representation>
|
||||
</Command>
|
||||
<Command name="КомандаСледитьЗаЗадачей" id="5">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Следить за задачей</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Следить за задачей</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Picture>
|
||||
<xr:Ref>CommonPicture.узСледитьЗаЗадачей</xr:Ref>
|
||||
<xr:LoadTransparent>true</xr:LoadTransparent>
|
||||
</Picture>
|
||||
<Action>КомандаСледитьЗаЗадачей</Action>
|
||||
<Representation>TextPicture</Representation>
|
||||
</Command>
|
||||
<Command name="КомандаУбратьИзСпринта" id="6">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Убрать из спринта</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Убрать из спринта</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>КомандаУбратьИзСпринта</Action>
|
||||
</Command>
|
||||
</Commands>
|
||||
</Form>
|
@ -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) Тогда
|
||||
Возврат ЛОЖЬ;
|
||||
Иначе
|
||||
Возврат ИСТИНА;
|
||||
КонецЕсли;
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ПолучитьПриоритетныйЦветЗадачиНаСервере(СтрокаЗадача)
|
||||
Для Каждого ВидПриоритета Из ПолучитьМассивПриоритетовЦветаЗадач() Цикл
|
||||
ТекЦвет = ПолучитьЦветЗадачиПоВидуПриоритета(СтрокаЗадача, ВидПриоритета);
|
||||
ЦветЗаполнен = ПроверитьЗаполнениеЦвета(ТекЦвет);
|
||||
Если ЦветЗаполнен Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ТекЦвет;
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ПолучитьЦветЗадачиПоВидуПриоритета(СтрокаЗадача, ВидПриоритета)
|
||||
НужныйЦвет = Неопределено;
|
||||
Задача = СтрокаЗадача.Задача;
|
||||
|
||||
Если ВидПриоритета = ВидыПриоритетаЦвета().Задача Тогда
|
||||
НужныйЦвет = Задача.ЦветЗадачи.Получить();
|
||||
ИначеЕсли ВидПриоритета = ВидыПриоритетаЦвета().Спринт Тогда
|
||||
НужныйЦвет = Задача.Спринт.ЦветСпринта.Получить();
|
||||
ИначеЕсли ВидПриоритета = ВидыПриоритетаЦвета().ОсновнаяЗадача Тогда
|
||||
НужныйЦвет = Задача.ОсновнаяЗадача.ЦветЗадачи.Получить();
|
||||
ИначеЕсли ВидПриоритета = ВидыПриоритетаЦвета().Важность Тогда
|
||||
НужныйЦвет = Задача.Важность.ЦветВажности.Получить();
|
||||
КонецЕсли;
|
||||
|
||||
Возврат НужныйЦвет;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Функция ПолучитьМассивПриоритетовЦветаЗадач()
|
||||
Приоритеты = Новый Массив;
|
||||
Приоритеты.Добавить(ВидыПриоритетаЦвета().Задача);
|
||||
Приоритеты.Добавить(ВидыПриоритетаЦвета().Спринт);
|
||||
Приоритеты.Добавить(ВидыПриоритетаЦвета().ОсновнаяЗадача);
|
||||
Приоритеты.Добавить(ВидыПриоритетаЦвета().Важность);
|
||||
|
||||
Возврат Новый ФиксированныйМассив(Приоритеты);
|
||||
КонецФункции
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Функция ВидыПриоритетаЦвета()
|
||||
Виды = Новый Структура();
|
||||
Виды.Вставить("Важность" , "Важность");
|
||||
Виды.Вставить("ОсновнаяЗадача", "ОсновнаяЗадача");
|
||||
Виды.Вставить("Спринт" , "Спринт");
|
||||
Виды.Вставить("Задача" , "Задача");
|
||||
|
||||
Возврат Новый ФиксированнаяСтруктура(Виды);
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
|
||||
|
||||
|
@ -2982,9 +2982,9 @@
|
||||
<d3p1:fixedVariantMeasure>Day</d3p1:fixedVariantMeasure>
|
||||
<d3p1:fixedVariantInterval>1</d3p1:fixedVariantInterval>
|
||||
<d3p1:autoFullInterval>true</d3p1:autoFullInterval>
|
||||
<d3p1:fullIntervalBegin>2016-09-05T08:00:00</d3p1:fullIntervalBegin>
|
||||
<d3p1:fullIntervalEnd>2016-09-14T09:59:59</d3p1:fullIntervalEnd>
|
||||
<d3p1:visualBegin>2016-09-05T08:00:00</d3p1:visualBegin>
|
||||
<d3p1:fullIntervalBegin>2016-09-05T07:00:00</d3p1:fullIntervalBegin>
|
||||
<d3p1:fullIntervalEnd>2016-09-14T08:59:59</d3p1:fullIntervalEnd>
|
||||
<d3p1:visualBegin>2016-09-05T07:00:00</d3p1:visualBegin>
|
||||
<d3p1:intervalDrawType>Gradient</d3p1:intervalDrawType>
|
||||
<d3p1:noneVariantChars>3</d3p1:noneVariantChars>
|
||||
<d3p1:noneVariantMeasure>Day</d3p1:noneVariantMeasure>
|
||||
|
Loading…
Reference in New Issue
Block a user