1
0
mirror of https://github.com/BlizD/Tasks.git synced 2025-04-23 12:08:57 +02:00

#225 Оптимизирован запрос данных для канбан-доски.

Постобработка полученных запросом данных удалена, необходимые поля включены в вычисляемые поля СКД.
Расчет сложных полей также вынесен в вычиляемые поля, для которых реализованы внешние функции.
Исправлены типы полей для признаков наличия файлов и писем. Для их отображение используются формат представления.
This commit is contained in:
d-hurricane 2020-07-06 18:07:49 +05:00
parent 3ff097065b
commit ab4f4e88ed
5 changed files with 354 additions and 375 deletions

View File

@ -792,11 +792,7 @@
</Synonym> </Synonym>
<Comment/> <Comment/>
<Type> <Type>
<v8:Type>xs:string</v8:Type> <v8:Type>xs:boolean</v8:Type>
<v8:StringQualifiers>
<v8:Length>1</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type> </Type>
<PasswordMode>false</PasswordMode> <PasswordMode>false</PasswordMode>
<Format/> <Format/>
@ -832,11 +828,7 @@
</Synonym> </Synonym>
<Comment/> <Comment/>
<Type> <Type>
<v8:Type>xs:string</v8:Type> <v8:Type>xs:boolean</v8:Type>
<v8:StringQualifiers>
<v8:Length>1</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type> </Type>
<PasswordMode>false</PasswordMode> <PasswordMode>false</PasswordMode>
<Format/> <Format/>
@ -849,7 +841,7 @@
<MinValue xsi:nil="true"/> <MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/> <MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue> <FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:type="xs:string"/> <FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking> <FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems> <ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/> <ChoiceParameterLinks/>

View File

@ -0,0 +1,106 @@
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныйПрограммныйИнтерфейс
Функция ПорядковыйНомерЦветаЗадачи(Знач Важность, Знач СрокИсполнения, Знач НачалоРабот, Знач ОкончаниеРабот) Экспорт
Результат = 4;
Если Важность = ПредопределенноеЗначение("Справочник.узВариантыВажностиЗадачи.Высокая") Тогда
Результат = 2;
ИначеЕсли Важность = ПредопределенноеЗначение("Справочник.узВариантыВажностиЗадачи.Обычная") Тогда
БуферПроцент = 0;
Если ЗначениеЗаполнено(СрокИсполнения) Тогда
Если Не ЗначениеЗаполнено(ОкончаниеРабот) Тогда
ОкончаниеРабот = ТекущаяДатаСеанса();
КонецЕсли;
БуферПроцент = Цел((ОкончаниеРабот - НачалоРабот) / (СрокИсполнения - НачалоРабот) * 100);
КонецЕсли;
Если БуферПроцент < 30 Тогда
Результат = 4;
ИначеЕсли БуферПроцент < 60 Тогда
Результат = 3;
ИначеЕсли БуферПроцент < 100 Тогда
Результат = 2;
ИначеЕсли БуферПроцент = 100 Тогда
Результат = 1;
КонецЕсли;
ИначеЕсли Важность = ПредопределенноеЗначение("Справочник.узВариантыВажностиЗадачи.Низкая") Тогда
Результат = 10;
КонецЕсли;
Возврат Результат;
КонецФункции
Функция ЧекЛистВыполнение(Знач Выполнено, Знач Всего) Экспорт
Если Не ЗначениеЗаполнено(Выполнено)
Или Не ЗначениеЗаполнено(Всего) Тогда
Возврат "";
КонецЕсли;
Возврат СтрШаблон("%1/%2",
Формат(Выполнено, "ЧН=; ЧГ="),
Формат(Всего, "ЧН=; ЧГ="));
КонецФункции
Функция ЧекЛистВыполнениеПроцент(Знач Выполнено, Знач Всего) Экспорт
Если Не ЗначениеЗаполнено(Выполнено)
Или Не ЗначениеЗаполнено(Всего) Тогда
Возврат "";
КонецЕсли;
Возврат Формат(Окр(Выполнено / Всего * 100, 1), "ЧН=; ЧГ=; ЧФ=Ч%");
КонецФункции
Функция УстановитьПараметр(НастройкиКомпоновки, Параметр, Значение = Неопределено, Использование = Истина) Экспорт
Если ТипЗнч(Параметр) = Тип("Строка") Тогда
ПараметрКомпоновки = Новый ПараметрКомпоновкиДанных(Параметр);
Иначе
ПараметрКомпоновки = Параметр;
КонецЕсли;
ЗначениеПараметра = НастройкиКомпоновки.ПараметрыДанных.НайтиЗначениеПараметра(ПараметрКомпоновки);
Если ЗначениеПараметра <> Неопределено Тогда
ЗначениеПараметра.Использование = Использование;
ЗначениеПараметра.Значение = Значение;
Конецесли;
Возврат ЗначениеПараметра;
КонецФункции
Функция ДобавитьВыбранноеПоле(НастройкиКомпоновки, Поле, Использование = Истина) Экспорт
Если ТипЗнч(Поле) = Тип("Строка") Тогда
ПолеКомпоновки = Новый ПолеКомпоновкиДанных(Поле);
Иначе
ПолеКомпоновки = Поле;
КонецЕсли;
ВыбранноеПоле = НастройкиКомпоновки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
ВыбранноеПоле.Поле = ПолеКомпоновки;
ВыбранноеПоле.Использование = Использование;
Возврат ВыбранноеПоле;
КонецФункции
#КонецОбласти
#КонецЕсли

View File

@ -4,33 +4,6 @@
пНастройкиКомпоновщика = ПолучитьИзВременногоХранилища(АдресВременногоХранилища); пНастройкиКомпоновщика = ПолучитьИзВременногоХранилища(АдресВременногоХранилища);
ТЗЗадачи = ПолучитьТЗЗадачи(пНастройкиКомпоновщика); ТЗЗадачи = ПолучитьТЗЗадачи(пНастройкиКомпоновщика);
ЕстьКолонкаЧекЛистВыполнено = ТЗЗадачи.Колонки.Найти("ЧекЛистВыполнено") <> Неопределено;
ТЗЗадачи.Колонки.Добавить("ЧекЛистВыполнение",Новый ОписаниеТипов("Строка"));
//+ #108 Дзеса Ігор (capitoshko) 05.10.2018
ТЗЗадачи.Колонки.Добавить("ЧекЛистВыполнениеПроцент",Новый ОписаниеТипов("Строка"));
ЕстьКолонкаЧекЛистВыполненоПроцент = ТЗЗадачи.Колонки.Найти("ЧекЛистВыполнениеПроцент") <> Неопределено;
//- #108 Дзеса Ігор (capitoshko) 05.10.2018
Для каждого СтрокаТЗЗадачи из ТЗЗадачи цикл
СтрокаТЗЗадачи.ОсновнаяЗадачаПредставление = СокрЛП(СтрокаТЗЗадачи.ОсновнаяЗадачаПредставление);
Если ЕстьКолонкаЧекЛистВыполнено
И ЗначениеЗаполнено(СтрокаТЗЗадачи.ЧекЛистВыполнено)
И ЗначениеЗаполнено(СтрокаТЗЗадачи.ЧекЛистВсего) Тогда
СтрокаТЗЗадачи.ЧекЛистВыполнение = "" + СтрокаТЗЗадачи.ЧекЛистВыполнено
+ "/" + СтрокаТЗЗадачи.ЧекЛистВсего;
Конецесли;
//+ #108 Дзеса Ігор (capitoshko) 05.10.2018
Если ЕстьКолонкаЧекЛистВыполненоПроцент
И ЗначениеЗаполнено(СтрокаТЗЗадачи.ЧекЛистВыполнено)
И ЗначениеЗаполнено(СтрокаТЗЗадачи.ЧекЛистВсего) Тогда
//+ #181 Хадиятов Алексей (xan333) 09.07.2019
//ЧекЛистВыполнениеПроцент = СтрокаТЗЗадачи.ЧекЛистВыполнено/СтрокаТЗЗадачи.ЧекЛистВсего * 100;
ЧекЛистВыполнениеПроцент = Окр(СтрокаТЗЗадачи.ЧекЛистВыполнено/СтрокаТЗЗадачи.ЧекЛистВсего * 100,1);
//- #181 Хадиятов Алексей (xan333) 09.07.2019
СтрокаТЗЗадачи.ЧекЛистВыполнениеПроцент = Формат(ЧекЛистВыполнениеПроцент, "ЧГ=0") + " %";
Конецесли;
//- #108 Дзеса Ігор (capitoshko) 05.10.2018
Конеццикла;
ТЧЗадачи.Загрузить(ТЗЗадачи); ТЧЗадачи.Загрузить(ТЗЗадачи);
КонецПроцедуры КонецПроцедуры
@ -40,33 +13,6 @@
ИсполняемыеНастройки = НастройкиКомпоновщика; ИсполняемыеНастройки = НастройкиКомпоновщика;
СписокВыбранныхСтатусов = Новый СписокЗначений;
Для каждого СтрокаТЧНастройкиКолонок из ТЧНастройкиКолонок цикл
Если НЕ СтрокаТЧНастройкиКолонок.Видимость Тогда
Продолжить;
Конецесли;
СписокВыбранныхСтатусов.Добавить(СтрокаТЧНастройкиКолонок.Статус);
Конеццикла;
ЗначениеПараметра = ИсполняемыеНастройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Наблюдатель"));
Если ЗначениеПараметра <> Неопределено Тогда
ЗначениеПараметра.Использование = Истина;
ЗначениеПараметра.Значение = Наблюдатель;
Конецесли;
ЗначениеПараметра = ИсполняемыеНастройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ИспользоватьОтборПоНаблюдателю"));
Если ЗначениеПараметра <> Неопределено Тогда
ЗначениеПараметра.Значение = ЗначениеЗаполнено(Наблюдатель);
ЗначениеПараметра.Использование=Истина;
Конецесли;
ЗначениеПараметра = ИсполняемыеНастройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ТекущаяДата"));
Если ЗначениеПараметра <> Неопределено Тогда
ЗначениеПараметра.Значение = ТекущаяДата();
ЗначениеПараметра.Использование=Истина;
Конецесли;
МассивВыбранныхСтатусовКолонок = Новый Массив(); МассивВыбранныхСтатусовКолонок = Новый Массив();
Для каждого СтрокаТЧНастройкиКолонок из ТЧНастройкиКолонок цикл Для каждого СтрокаТЧНастройкиКолонок из ТЧНастройкиКолонок цикл
Если НЕ СтрокаТЧНастройкиКолонок.Видимость Тогда Если НЕ СтрокаТЧНастройкиКолонок.Видимость Тогда
@ -75,18 +21,47 @@
МассивВыбранныхСтатусовКолонок.Добавить(СтрокаТЧНастройкиКолонок.Статус); МассивВыбранныхСтатусовКолонок.Добавить(СтрокаТЧНастройкиКолонок.Статус);
Конеццикла; Конеццикла;
ЗначениеПараметра = ИсполняемыеНастройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("МассивВыбранныхСтатусовКолонок")); // + #225 Урянский Д. 2020-07-06
Если ЗначениеПараметра <> Неопределено Тогда Обработки.узКанбанДоска.УстановитьПараметр(ИсполняемыеНастройки,
ЗначениеПараметра.Значение = МассивВыбранныхСтатусовКолонок; "Наблюдатель", Наблюдатель);
ЗначениеПараметра.Использование=Истина;
Конецесли; Обработки.узКанбанДоска.УстановитьПараметр(ИсполняемыеНастройки,
"ИспользоватьОтборПоНаблюдателю", Истина, ЗначениеЗаполнено(Наблюдатель));
Обработки.узКанбанДоска.УстановитьПараметр(ИсполняемыеНастройки,
"ТекущаяДата", ТекущаяДатаСеанса());
Обработки.узКанбанДоска.УстановитьПараметр(ИсполняемыеНастройки,
"МассивВыбранныхСтатусовКолонок", МассивВыбранныхСтатусовКолонок);
ИсполняемыеНастройки.Выбор.Элементы.Очистить();
Обработки.узКанбанДоска.ДобавитьВыбранноеПоле(ИсполняемыеНастройки, "Задача");
Обработки.узКанбанДоска.ДобавитьВыбранноеПоле(ИсполняемыеНастройки, "ЗадачаПредставление");
Обработки.узКанбанДоска.ДобавитьВыбранноеПоле(ИсполняемыеНастройки, "Статус");
Обработки.узКанбанДоска.ДобавитьВыбранноеПоле(ИсполняемыеНастройки, "КороткоеИмя");
Обработки.узКанбанДоска.ДобавитьВыбранноеПоле(ИсполняемыеНастройки, "ОсновнаяЗадача");
Обработки.узКанбанДоска.ДобавитьВыбранноеПоле(ИсполняемыеНастройки, "ОсновнаяЗадачаПредставление");
Обработки.узКанбанДоска.ДобавитьВыбранноеПоле(ИсполняемыеНастройки, "НомерЗадачиПредставление");
Обработки.узКанбанДоска.ДобавитьВыбранноеПоле(ИсполняемыеНастройки, "ЦветДляЗадачиЧисло");
Обработки.узКанбанДоска.ДобавитьВыбранноеПоле(ИсполняемыеНастройки, "ИзмененЦветПоУмолчанию");
Если Показывать3СтрокуВКарточкеЗадачи Тогда
Обработки.узКанбанДоска.ДобавитьВыбранноеПоле(ИсполняемыеНастройки, "КороткоеИмяЗаказчик", ПоказыватьЗаказчика);
Обработки.узКанбанДоска.ДобавитьВыбранноеПоле(ИсполняемыеНастройки, "ЕстьПисьма", ПоказыватьПризнакЕстьПисьмаПоЗадаче);
Обработки.узКанбанДоска.ДобавитьВыбранноеПоле(ИсполняемыеНастройки, "ЕстьФайлы", ПоказыватьПризнакЕстьФайлыПоЗадаче);
Обработки.узКанбанДоска.ДобавитьВыбранноеПоле(ИсполняемыеНастройки, "ЧекЛистВыполнение", ПоказыватьВыполнениеЧеклистаДробь);
Обработки.узКанбанДоска.ДобавитьВыбранноеПоле(ИсполняемыеНастройки, "ЧекЛистВыполнениеПроцент", ПоказыватьВыполнениеЧеклистаПроцент);
КонецЕсли;
// - #225 Урянский Д. 2020-07-06
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанныхКонсоли, ИсполняемыеНастройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанныхКонсоли, ИсполняемыеНастройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных); // + #225 Урянский Д. 2020-07-06
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных, , , Истина);
// - #225 Урянский Д. 2020-07-06
ПроцессорВывода.УстановитьОбъект(ТЗЗадачи); ПроцессорВывода.УстановитьОбъект(ТЗЗадачи);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

View File

@ -378,6 +378,7 @@
пЭлементПолеЗадачиВКарточкеЗадачиЕстьФайл.Вид = ВидПоляФормы.ПолеВвода; пЭлементПолеЗадачиВКарточкеЗадачиЕстьФайл.Вид = ВидПоляФормы.ПолеВвода;
пЭлементПолеЗадачиВКарточкеЗадачиЕстьФайл.ПутьКДанным = "Объект.ТЧЗадачи.ЕстьФайлы"; пЭлементПолеЗадачиВКарточкеЗадачиЕстьФайл.ПутьКДанным = "Объект.ТЧЗадачи.ЕстьФайлы";
пЭлементПолеЗадачиВКарточкеЗадачиЕстьФайл.Ширина = 1; пЭлементПолеЗадачиВКарточкеЗадачиЕстьФайл.Ширина = 1;
пЭлементПолеЗадачиВКарточкеЗадачиЕстьФайл.Формат = "БЛ=; БИ=§";
//+ #108 Дзеса Ігор (capitoshko) 05.10.2018 //+ #108 Дзеса Ігор (capitoshko) 05.10.2018
КонецЕсли; КонецЕсли;
@ -398,6 +399,7 @@
пЭлементПолеЗадачиВКарточкеЗадачиЕстьПисьма.Вид = ВидПоляФормы.ПолеВвода; пЭлементПолеЗадачиВКарточкеЗадачиЕстьПисьма.Вид = ВидПоляФормы.ПолеВвода;
пЭлементПолеЗадачиВКарточкеЗадачиЕстьПисьма.ПутьКДанным = "Объект.ТЧЗадачи.ЕстьПисьма"; пЭлементПолеЗадачиВКарточкеЗадачиЕстьПисьма.ПутьКДанным = "Объект.ТЧЗадачи.ЕстьПисьма";
пЭлементПолеЗадачиВКарточкеЗадачиЕстьПисьма.Ширина = 1; пЭлементПолеЗадачиВКарточкеЗадачиЕстьПисьма.Ширина = 1;
пЭлементПолеЗадачиВКарточкеЗадачиЕстьПисьма.Формат = "БЛ=; БИ=✉";
//+ #108 Дзеса Ігор (capitoshko) 05.10.2018 //+ #108 Дзеса Ігор (capitoshko) 05.10.2018
КонецЕсли; КонецЕсли;

View File

@ -122,40 +122,10 @@
<dataPath>ИзмененЦветПоУмолчанию</dataPath> <dataPath>ИзмененЦветПоУмолчанию</dataPath>
<field>ИзмененЦветПоУмолчанию</field> <field>ИзмененЦветПоУмолчанию</field>
</field> </field>
<field xsi:type="DataSetFieldField">
<dataPath>БуферПроцент</dataPath>
<field>БуферПроцент</field>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Буфер процент</v8:content>
</v8:item>
</title>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>ЦветДляЗадачиЧисло</dataPath>
<field>ЦветДляЗадачиЧисло</field>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Цвет для задачи число</v8:content>
</v8:item>
</title>
</field>
<field xsi:type="DataSetFieldField"> <field xsi:type="DataSetFieldField">
<dataPath>ДатаНачалаРаботПоЗадаче</dataPath> <dataPath>ДатаНачалаРаботПоЗадаче</dataPath>
<field>ДатаНачалаРаботПоЗадаче</field> <field>ДатаНачалаРаботПоЗадаче</field>
</field> </field>
<field xsi:type="DataSetFieldField">
<dataPath>ЕстьФайлы</dataPath>
<field>ЕстьФайлы</field>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Есть файлы</v8:content>
</v8:item>
</title>
</field>
<field xsi:type="DataSetFieldField"> <field xsi:type="DataSetFieldField">
<dataPath>Заказчик</dataPath> <dataPath>Заказчик</dataPath>
<field>Заказчик</field> <field>Заказчик</field>
@ -166,16 +136,6 @@
</v8:item> </v8:item>
</title> </title>
</field> </field>
<field xsi:type="DataSetFieldField">
<dataPath>ЕстьПисьма</dataPath>
<field>ЕстьПисьма</field>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Есть письма</v8:content>
</v8:item>
</title>
</field>
<field xsi:type="DataSetFieldField"> <field xsi:type="DataSetFieldField">
<dataPath>КороткоеИмяЗаказчик</dataPath> <dataPath>КороткоеИмяЗаказчик</dataPath>
<field>КороткоеИмяЗаказчик</field> <field>КороткоеИмяЗаказчик</field>
@ -206,41 +166,79 @@
</v8:item> </v8:item>
</title> </title>
</field> </field>
<field xsi:type="DataSetFieldField">
<dataPath>КоличествоПрисоединенныхФайлов</dataPath>
<field>КоличествоПрисоединенныхФайлов</field>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Количество присоединенных файлов</v8:content>
</v8:item>
</title>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>ДатаПоследнегоИсходящегоПисьма</dataPath>
<field>ДатаПоследнегоИсходящегоПисьма</field>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дата последнего исходящего письма</v8:content>
</v8:item>
</title>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>КоличествоВходящихПисем</dataPath>
<field>КоличествоВходящихПисем</field>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Количество входящих писем</v8:content>
</v8:item>
</title>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>КоличествоИсходящихПисем</dataPath>
<field>КоличествоИсходящихПисем</field>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Количество исходящих писем</v8:content>
</v8:item>
</title>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>ДатаПоследнегоВходящегоПисьма</dataPath>
<field>ДатаПоследнегоВходящегоПисьма</field>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дата последнего входящего письма</v8:content>
</v8:item>
</title>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>КоличествоВложенийПисем</dataPath>
<field>КоличествоВложенийПисем</field>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Количество вложений писем</v8:content>
</v8:item>
</title>
</field>
<dataSource>ИсточникДанных1</dataSource> <dataSource>ИсточникДанных1</dataSource>
<query>ВЫБРАТЬ РАЗРЕШЕННЫЕ <query>ВЫБРАТЬ РАЗРЕШЕННЫЕ
узНаблюдателиЗаЗадачами.Задача КАК Задача НаблюдателиЗаЗадачами.Задача КАК Задача,
ИСТИНА КАК ИспользоватьОтборПоНаблюдателю
ПОМЕСТИТЬ ВТОтборЗадачПоНаблюдателю ПОМЕСТИТЬ ВТОтборЗадачПоНаблюдателю
ИЗ ИЗ
РегистрСведений.узНаблюдателиЗаЗадачами КАК узНаблюдателиЗаЗадачами РегистрСведений.узНаблюдателиЗаЗадачами КАК НаблюдателиЗаЗадачами
ГДЕ ГДЕ
ВЫБОР НаблюдателиЗаЗадачами.Пользователь = &amp;Наблюдатель
КОГДА &amp;ИспользоватьОтборПоНаблюдателю
ТОГДА узНаблюдателиЗаЗадачами.Пользователь = &amp;Наблюдатель
ИНАЧЕ ИСТИНА
КОНЕЦ
ИНДЕКСИРОВАТЬ ПО ИНДЕКСИРОВАТЬ ПО
Задача Задача,
; ИспользоватьОтборПоНаблюдателю
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
узЗадачиКомментарии.Ссылка КАК Ссылка,
СУММА(ВЫБОР
КОГДА узЗадачиКомментарии.Выполнено
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ) КАК Выполнено,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ узЗадачиКомментарии.НомерСтроки) КАК Всего
ПОМЕСТИТЬ ВТЧекЛист
ИЗ
Справочник.узЗадачи.Комментарии КАК узЗадачиКомментарии
СГРУППИРОВАТЬ ПО
узЗадачиКомментарии.Ссылка
ИНДЕКСИРОВАТЬ ПО
Ссылка
; ;
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
@ -252,10 +250,9 @@
узЗадачи.РеквизитДопУпорядочивания КАК РеквизитДопУпорядочивания, узЗадачи.РеквизитДопУпорядочивания КАК РеквизитДопУпорядочивания,
узЗадачи.Исполнитель КАК Исполнитель, узЗадачи.Исполнитель КАК Исполнитель,
узЗадачи.Исполнитель.узКороткоеИмя КАК КороткоеИмя, узЗадачи.Исполнитель.узКороткоеИмя КАК КороткоеИмя,
ПОДСТРОКА(узЗадачи.ОсновнаяЗадача.Наименование, 1, 25) КАК ОсновнаяЗадачаПредставление, узЗадачи.ОсновнаяЗадача.Наименование КАК ОсновнаяЗадачаПредставление,
узЗадачи.СрокИсполнения КАК СрокИсполнения, узЗадачи.СрокИсполнения КАК СрокИсполнения,
узЗадачи.Конфигурация КАК Конфигурация, узЗадачи.Конфигурация КАК Конфигурация,
//узЗадачи.Удалить_Спринт КАК Спринт,
узЗадачи.Важность КАК Важность, узЗадачи.Важность КАК Важность,
узЗадачи.НомерВнешнейЗаявки КАК НомерВнешнейЗаявки, узЗадачи.НомерВнешнейЗаявки КАК НомерВнешнейЗаявки,
узЗадачи.ОсновнаяЗадача КАК ОсновнаяЗадача, узЗадачи.ОсновнаяЗадача КАК ОсновнаяЗадача,
@ -263,172 +260,35 @@
узЗадачи.ДатаПередачиИсполнителю КАК ДатаПередачиИсполнителю, узЗадачи.ДатаПередачиИсполнителю КАК ДатаПередачиИсполнителю,
узЗадачи.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения, узЗадачи.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения,
узЗадачи.ДатаВыполнения КАК ДатаВыполнения, узЗадачи.ДатаВыполнения КАК ДатаВыполнения,
ВЫБОР
КОГДА узЗадачи.СрокИсполнения = ДАТАВРЕМЯ(1, 1, 1)
ТОГДА 0
КОГДА узЗадачи.ДатаВыполнения &lt;&gt; ДАТАВРЕМЯ(1, 1, 1)
ТОГДА ВЫРАЗИТЬ(РАЗНОСТЬДАТ(узЗадачи.ДатаНачалаРаботПоЗадаче, узЗадачи.ДатаВыполнения, СЕКУНДА) / РАЗНОСТЬДАТ(узЗадачи.ДатаНачалаРаботПоЗадаче, узЗадачи.СрокИсполнения, СЕКУНДА) * 100 КАК ЧИСЛО(15, 2))
ИНАЧЕ ВЫРАЗИТЬ(РАЗНОСТЬДАТ(узЗадачи.ДатаНачалаРаботПоЗадаче, &amp;ТекущаяДата, СЕКУНДА) / РАЗНОСТЬДАТ(узЗадачи.ДатаНачалаРаботПоЗадаче, узЗадачи.СрокИсполнения, СЕКУНДА) * 100 КАК ЧИСЛО(15, 2))
КОНЕЦ КАК БуферПроцент,
узЗадачи.ИзмененЦветПоУмолчанию КАК ИзмененЦветПоУмолчанию, узЗадачи.ИзмененЦветПоУмолчанию КАК ИзмененЦветПоУмолчанию,
узЗадачи.Контрагент КАК Заказчик узЗадачи.Контрагент КАК Заказчик,
ПОМЕСТИТЬ ВТРезультат узЗадачи.Контрагент.узКороткоеИмя КАК КороткоеИмяЗаказчик,
узЗадачи.КоличествоЗадачЧекЛиста КАК ЧекЛистВсего,
узЗадачи.КоличествоВыполненныхЗадачЧекЛиста КАК ЧекЛистВыполнено,
ЕСТЬNULL(ВзаимодействияПоЗадачам.КоличествоПрисоединенныхФайлов, 0) КАК КоличествоПрисоединенныхФайлов,
ЕСТЬNULL(ВзаимодействияПоЗадачам.КоличествоВходящихПисем, 0) КАК КоличествоВходящихПисем,
ЕСТЬNULL(ВзаимодействияПоЗадачам.КоличествоИсходящихПисем, 0) КАК КоличествоИсходящихПисем,
ЕСТЬNULL(ВзаимодействияПоЗадачам.ДатаПоследнегоВходящегоПисьма, ДАТАВРЕМЯ(1,1,1)) КАК ДатаПоследнегоВходящегоПисьма,
ЕСТЬNULL(ВзаимодействияПоЗадачам.ДатаПоследнегоИсходящегоПисьма, ДАТАВРЕМЯ(1,1,1)) КАК ДатаПоследнегоИсходящегоПисьма,
ЕСТЬNULL(ВзаимодействияПоЗадачам.КоличествоВложенийПисем, 0) КАК КоличествоВложенийПисем,
ЕСТЬNULL(СпринтыЗадач.Спринт, ЗНАЧЕНИЕ(Справочник.узСпринты.ПустаяСсылка)) КАК Спринт
ИЗ ИЗ
Справочник.узЗадачи КАК узЗадачи Справочник.узЗадачи КАК узЗадачи
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.узСостояниеВзаимодействийПоЗадачам КАК ВзаимодействияПоЗадачам
ПО узЗадачи.Ссылка = ВзаимодействияПоЗадачам.Задача}
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.узСпринтыЗадач.СрезПоследних КАК СпринтыЗадач
ПО узЗадачи.Ссылка = СпринтыЗадач.Задача}
ГДЕ ГДЕ
узЗадачи.ПоказыватьВОтчетахИКанбанДоске узЗадачи.ПоказыватьВОтчетахИКанбанДоске
И ВЫБОР И узЗадачи.Статус В(&amp;МассивВыбранныхСтатусовКолонок)
КОГДА &amp;ИспользоватьОтборПоНаблюдателю {ГДЕ
ТОГДА узЗадачи.Ссылка В узЗадачи.Ссылка В
(ВЫБРАТЬ (ВЫБРАТЬ
ВТОтборЗадачПоНаблюдателю.Задача ВТОтборЗадачПоНаблюдателю.Задача
ИЗ ИЗ
ВТОтборЗадачПоНаблюдателю) ВТОтборЗадачПоНаблюдателю
ИНАЧЕ ИСТИНА
КОНЕЦ
И узЗадачи.Статус В(&amp;МассивВыбранныхСтатусовКолонок)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ
ВТРезультат.Задача КАК Задача
ПОМЕСТИТЬ ВТЗадачиСФайламиПредв
ИЗ
ВТРезультат КАК ВТРезультат
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.узЗадачиПрисоединенныеФайлы КАК узЗадачиПрисоединенныеФайлы
ПО ВТРезультат.Задача = узЗадачиПрисоединенныеФайлы.ВладелецФайла
ОБЪЕДИНИТЬ
ВЫБРАТЬ РАЗЛИЧНЫЕ
ВТРезультат.Задача
ИЗ
ВТРезультат КАК ВТРезультат
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПредметыПапкиВзаимодействий КАК ПредметыПапкиВзаимодействий
ПО ВТРезультат.Задача = ПредметыПапкиВзаимодействий.Предмет
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ЭлектронноеПисьмоВходящееПрисоединенныеФайлы КАК ЭлектронноеПисьмоВходящееПрисоединенныеФайлы
ПО ПредметыПапкиВзаимодействий.Взаимодействие = ЭлектронноеПисьмоВходящееПрисоединенныеФайлы.ВладелецФайла
И (ЭлектронноеПисьмоВходящееПрисоединенныеФайлы.ИДФайлаЭлектронногоПисьма = "")
ОБЪЕДИНИТЬ
ВЫБРАТЬ РАЗЛИЧНЫЕ
ВТРезультат.Задача
ИЗ
ВТРезультат КАК ВТРезультат
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПредметыПапкиВзаимодействий КАК ПредметыПапкиВзаимодействий
ПО ВТРезультат.Задача = ПредметыПапкиВзаимодействий.Предмет
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы КАК ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы
ПО ПредметыПапкиВзаимодействий.Взаимодействие = ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы.ВладелецФайла
И (ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы.ИДФайлаЭлектронногоПисьма = "")
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ
ВТЗадачиСФайламиПредв.Задача
ПОМЕСТИТЬ ВТЗадачиСФайлами
ИЗ
ВТЗадачиСФайламиПредв КАК ВТЗадачиСФайламиПредв
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ
ВТРезультат.Задача
ПОМЕСТИТЬ ВТЗадачиСПисьмами
ИЗ
ВТРезультат КАК ВТРезультат
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПредметыПапкиВзаимодействий КАК ПредметыПапкиВзаимодействий
ПО ВТРезультат.Задача = ПредметыПапкиВзаимодействий.Предмет
ГДЕ ГДЕ
ПредметыПапкиВзаимодействий.Предмет ССЫЛКА Справочник.узЗадачи ВТОтборЗадачПоНаблюдателю.ИспользоватьОтборПоНаблюдателю = &amp;ИспользоватьОтборПоНаблюдателю)}</query>
И (ПредметыПапкиВзаимодействий.Взаимодействие ССЫЛКА Документ.ЭлектронноеПисьмоВходящее
ИЛИ ПредметыПапкиВзаимодействий.Взаимодействие ССЫЛКА Документ.ЭлектронноеПисьмоИсходящее)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
узСпринтыЗадачСрезПоследних.Задача,
МАКСИМУМ(узСпринтыЗадачСрезПоследних.Спринт) КАК Спринт
ПОМЕСТИТЬ ВТСпринтыЗадач
ИЗ
РегистрСведений.узСпринтыЗадач.СрезПоследних(
,
Задача В
(ВЫБРАТЬ
ВТРезультат.Задача
ИЗ
ВТРезультат)) КАК узСпринтыЗадачСрезПоследних
СГРУППИРОВАТЬ ПО
узСпринтыЗадачСрезПоследних.Задача
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ВТРезультат.Задача КАК Задача,
ВТРезультат.ЗадачаПредставление КАК ЗадачаПредставление,
ВТРезультат.НомерЗадачи КАК НомерЗадачи,
ВТРезультат.Статус КАК Статус,
ВТРезультат.РеквизитДопУпорядочивания КАК РеквизитДопУпорядочивания,
ВТРезультат.Исполнитель КАК Исполнитель,
ВТРезультат.КороткоеИмя КАК КороткоеИмя,
ВТРезультат.ОсновнаяЗадачаПредставление КАК ОсновнаяЗадачаПредставление,
ВТРезультат.СрокИсполнения КАК СрокИсполнения,
ВТРезультат.Конфигурация КАК Конфигурация,
ВТРезультат.Важность КАК Важность,
ВТРезультат.НомерВнешнейЗаявки КАК НомерВнешнейЗаявки,
ВТРезультат.ОсновнаяЗадача КАК ОсновнаяЗадача,
ВТРезультат.ДатаНачалаРаботПоЗадаче КАК ДатаНачалаРаботПоЗадаче,
ВТРезультат.ДатаПередачиИсполнителю КАК ДатаПередачиИсполнителю,
ВТРезультат.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения,
ВТРезультат.ДатаВыполнения КАК ДатаВыполнения,
ВЫБОР
КОГДА ВТРезультат.Важность = ЗНАЧЕНИЕ(Справочник.узВариантыВажностиЗадачи.Высокая)
ТОГДА 2
КОГДА ВТРезультат.Важность = ЗНАЧЕНИЕ(Справочник.узВариантыВажностиЗадачи.Обычная)
ТОГДА ВЫБОР
КОГДА ВТРезультат.БуферПроцент &lt; 30
ТОГДА 4
КОГДА 30 &lt;= ВТРезультат.БуферПроцент
И ВТРезультат.БуферПроцент &lt; 60
ТОГДА 3
КОГДА 60 &lt;= ВТРезультат.БуферПроцент
И ВТРезультат.БуферПроцент &lt; 100
ТОГДА 2
КОГДА 100 &lt;= ВТРезультат.БуферПроцент
ТОГДА 1
КОНЕЦ
КОГДА ВТРезультат.Важность = ЗНАЧЕНИЕ(Справочник.узВариантыВажностиЗадачи.Низкая)
ТОГДА 10
ИНАЧЕ 4
КОНЕЦ КАК ЦветДляЗадачиЧисло,
ВТРезультат.БуферПроцент КАК БуферПроцент,
ВТРезультат.ИзмененЦветПоУмолчанию КАК ИзмененЦветПоУмолчанию,
ВЫБОР
КОГДА ЕСТЬNULL(ВТЗадачиСФайлами.Задача, ЛОЖЬ) = ЛОЖЬ
ТОГДА ""
ИНАЧЕ "§"
КОНЕЦ КАК ЕстьФайлы,
ВЫБОР
КОГДА ЕСТЬNULL(ВТЗадачиСПисьмами.Задача, ЛОЖЬ) = ЛОЖЬ
ТОГДА ""
ИНАЧЕ "✉"
КОНЕЦ КАК ЕстьПисьма,
ВТРезультат.Заказчик КАК Заказчик,
ВТРезультат.Заказчик.узКороткоеИмя КАК КороткоеИмяЗаказчик,
ЕСТЬNULL(ВТЧекЛист.Выполнено, 0) КАК ЧекЛистВыполнено,
ЕСТЬNULL(ВТЧекЛист.Всего, 0) КАК ЧекЛистВсего,
ВТСпринтыЗадач.Спринт КАК Спринт
ИЗ
ВТРезультат КАК ВТРезультат
ЛЕВОЕ СОЕДИНЕНИЕ ВТЗадачиСФайлами КАК ВТЗадачиСФайлами
ПО ВТРезультат.Задача = ВТЗадачиСФайлами.Задача
ЛЕВОЕ СОЕДИНЕНИЕ ВТЗадачиСПисьмами КАК ВТЗадачиСПисьмами
ПО ВТРезультат.Задача = ВТЗадачиСПисьмами.Задача
ЛЕВОЕ СОЕДИНЕНИЕ ВТЧекЛист КАК ВТЧекЛист
ПО ВТРезультат.Задача = ВТЧекЛист.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ ВТСпринтыЗадач КАК ВТСпринтыЗадач
ПО ВТРезультат.Задача = ВТСпринтыЗадач.Задача</query>
</dataSet> </dataSet>
<calculatedField> <calculatedField>
<dataPath>НомерЗадачиПредставление</dataPath> <dataPath>НомерЗадачиПредставление</dataPath>
@ -440,6 +300,120 @@
</v8:item> </v8:item>
</title> </title>
</calculatedField> </calculatedField>
<calculatedField>
<dataPath>КоличествоФайлов</dataPath>
<expression>КоличествоПрисоединенныхФайлов + КоличествоВложенийПисем</expression>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Количество файлов</v8:content>
</v8:item>
</title>
<valueType>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>0</v8:Digits>
<v8:FractionDigits>0</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
</valueType>
</calculatedField>
<calculatedField>
<dataPath>ЕстьФайлы</dataPath>
<expression>КоличествоПрисоединенныхФайлов + КоличествоВложенийПисем &gt; 0</expression>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Есть файлы</v8:content>
</v8:item>
</title>
<valueType>
<v8:Type>xs:boolean</v8:Type>
</valueType>
</calculatedField>
<calculatedField>
<dataPath>КоличествоПисем</dataPath>
<expression>КоличествоВходящихПисем + КоличествоИсходящихПисем</expression>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Количество писем</v8:content>
</v8:item>
</title>
<valueType>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>0</v8:Digits>
<v8:FractionDigits>0</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
</valueType>
</calculatedField>
<calculatedField>
<dataPath>ЕстьПисьма</dataPath>
<expression>КоличествоВходящихПисем + КоличествоИсходящихПисем &gt; 0</expression>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Есть письма</v8:content>
</v8:item>
</title>
<valueType>
<v8:Type>xs:boolean</v8:Type>
</valueType>
</calculatedField>
<calculatedField>
<dataPath>ЦветДляЗадачиЧисло</dataPath>
<expression>Обработки.узКанбанДоска.ПорядковыйНомерЦветаЗадачи(Важность, СрокИсполнения, ДатаНачалаРаботПоЗадаче, ДатаВыполнения)</expression>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Цвет для задачи число</v8:content>
</v8:item>
</title>
<valueType>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>0</v8:Digits>
<v8:FractionDigits>0</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
</valueType>
</calculatedField>
<calculatedField>
<dataPath>ЧекЛистВыполнение</dataPath>
<expression>Обработки.узКанбанДоска.ЧекЛистВыполнение(ЧекЛистВыполнено, ЧекЛистВсего)</expression>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Чек лист выполнение</v8:content>
</v8:item>
</title>
<valueType>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</valueType>
</calculatedField>
<calculatedField>
<dataPath>ЧекЛистВыполнениеПроцент</dataPath>
<expression>Обработки.узКанбанДоска.ЧекЛистВыполнениеПроцент(ЧекЛистВыполнено, ЧекЛистВсего)</expression>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Чек лист выполнение процент</v8:content>
</v8:item>
</title>
<valueType>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</valueType>
</calculatedField>
<parameter> <parameter>
<name>ИспользоватьОтборПоНаблюдателю</name> <name>ИспользоватьОтборПоНаблюдателю</name>
<title xsi:type="v8:LocalStringType"> <title xsi:type="v8:LocalStringType">
@ -453,7 +427,7 @@
</valueType> </valueType>
<value xsi:type="xs:boolean">false</value> <value xsi:type="xs:boolean">false</value>
<useRestriction>true</useRestriction> <useRestriction>true</useRestriction>
<expression>ЗНАЧЕНИЕЗАПОЛНЕНО(&amp;Наблюдатель)</expression> <availableAsField>false</availableAsField>
</parameter> </parameter>
<parameter> <parameter>
<name>Наблюдатель</name> <name>Наблюдатель</name>
@ -482,31 +456,7 @@
</valueType> </valueType>
<value xsi:nil="true"/> <value xsi:nil="true"/>
<useRestriction>true</useRestriction> <useRestriction>true</useRestriction>
</parameter> <availableAsField>false</availableAsField>
<parameter>
<name>ТекущаяДата</name>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Текущая дата</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Current date</v8:content>
</v8:item>
<v8:item>
<v8:lang>ro</v8:lang>
<v8:content>Data curentă</v8:content>
</v8:item>
</title>
<valueType>
<v8:Type>xs:dateTime</v8:Type>
<v8:DateQualifiers>
<v8:DateFractions>DateTime</v8:DateFractions>
</v8:DateQualifiers>
</valueType>
<value xsi:type="xs:dateTime">0001-01-01T00:00:00</value>
<useRestriction>true</useRestriction>
</parameter> </parameter>
<parameter> <parameter>
<name>Период</name> <name>Период</name>
@ -523,59 +473,13 @@
</v8:DateQualifiers> </v8:DateQualifiers>
</valueType> </valueType>
<value xsi:type="xs:dateTime">0001-01-01T00:00:00</value> <value xsi:type="xs:dateTime">0001-01-01T00:00:00</value>
<useRestriction>false</useRestriction> <useRestriction>true</useRestriction>
<availableAsField>false</availableAsField>
</parameter> </parameter>
<settingsVariant> <settingsVariant>
<dcsset:name>Основной</dcsset:name> <dcsset:name>Основной</dcsset:name>
<dcsset:presentation xsi:type="xs:string">Основной</dcsset:presentation> <dcsset:presentation xsi:type="xs:string">Основной</dcsset:presentation>
<dcsset:settings xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows"> <dcsset:settings xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows">
<dcsset:selection>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>Задача</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>Статус</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>КороткоеИмя</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>ОсновнаяЗадачаПредставление</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>НомерЗадачиПредставление</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>ЗадачаПредставление</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>ОсновнаяЗадача</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>ЦветДляЗадачиЧисло</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>ИзмененЦветПоУмолчанию</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>ЕстьФайлы</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>ЕстьПисьма</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>Заказчик</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>КороткоеИмяЗаказчик</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>ЧекЛистВсего</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>ЧекЛистВыполнено</dcsset:field>
</dcsset:item>
</dcsset:selection>
<dcsset:filter> <dcsset:filter>
<dcsset:item xsi:type="dcsset:FilterItemComparison"> <dcsset:item xsi:type="dcsset:FilterItemComparison">
<dcsset:use>false</dcsset:use> <dcsset:use>false</dcsset:use>