mirror of
https://github.com/BlizD/Tasks.git
synced 2025-04-15 11:47:01 +02:00
#225 Оптимизирован запрос данных для канбан-доски.
Постобработка полученных запросом данных удалена, необходимые поля включены в вычисляемые поля СКД. Расчет сложных полей также вынесен в вычиляемые поля, для которых реализованы внешние функции. Исправлены типы полей для признаков наличия файлов и писем. Для их отображение используются формат представления.
This commit is contained in:
parent
3ff097065b
commit
ab4f4e88ed
@ -792,11 +792,7 @@
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>1</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
<v8:Type>xs:boolean</v8:Type>
|
||||
</Type>
|
||||
<PasswordMode>false</PasswordMode>
|
||||
<Format/>
|
||||
@ -832,11 +828,7 @@
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>1</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
<v8:Type>xs:boolean</v8:Type>
|
||||
</Type>
|
||||
<PasswordMode>false</PasswordMode>
|
||||
<Format/>
|
||||
@ -849,7 +841,7 @@
|
||||
<MinValue xsi:nil="true"/>
|
||||
<MaxValue xsi:nil="true"/>
|
||||
<FillFromFillingValue>false</FillFromFillingValue>
|
||||
<FillValue xsi:type="xs:string"/>
|
||||
<FillValue xsi:nil="true"/>
|
||||
<FillChecking>DontCheck</FillChecking>
|
||||
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||
<ChoiceParameterLinks/>
|
||||
|
106
src/cf/DataProcessors/узКанбанДоска/Ext/ManagerModule.bsl
Normal file
106
src/cf/DataProcessors/узКанбанДоска/Ext/ManagerModule.bsl
Normal file
@ -0,0 +1,106 @@
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
Функция ПорядковыйНомерЦветаЗадачи(Знач Важность, Знач СрокИсполнения, Знач НачалоРабот, Знач ОкончаниеРабот) Экспорт
|
||||
|
||||
Результат = 4;
|
||||
|
||||
Если Важность = ПредопределенноеЗначение("Справочник.узВариантыВажностиЗадачи.Высокая") Тогда
|
||||
|
||||
Результат = 2;
|
||||
|
||||
ИначеЕсли Важность = ПредопределенноеЗначение("Справочник.узВариантыВажностиЗадачи.Обычная") Тогда
|
||||
|
||||
БуферПроцент = 0;
|
||||
Если ЗначениеЗаполнено(СрокИсполнения) Тогда
|
||||
Если Не ЗначениеЗаполнено(ОкончаниеРабот) Тогда
|
||||
ОкончаниеРабот = ТекущаяДатаСеанса();
|
||||
КонецЕсли;
|
||||
БуферПроцент = Цел((ОкончаниеРабот - НачалоРабот) / (СрокИсполнения - НачалоРабот) * 100);
|
||||
КонецЕсли;
|
||||
|
||||
Если БуферПроцент < 30 Тогда
|
||||
Результат = 4;
|
||||
ИначеЕсли БуферПроцент < 60 Тогда
|
||||
Результат = 3;
|
||||
ИначеЕсли БуферПроцент < 100 Тогда
|
||||
Результат = 2;
|
||||
ИначеЕсли БуферПроцент = 100 Тогда
|
||||
Результат = 1;
|
||||
КонецЕсли;
|
||||
|
||||
ИначеЕсли Важность = ПредопределенноеЗначение("Справочник.узВариантыВажностиЗадачи.Низкая") Тогда
|
||||
|
||||
Результат = 10;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЧекЛистВыполнение(Знач Выполнено, Знач Всего) Экспорт
|
||||
|
||||
Если Не ЗначениеЗаполнено(Выполнено)
|
||||
Или Не ЗначениеЗаполнено(Всего) Тогда
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат СтрШаблон("%1/%2",
|
||||
Формат(Выполнено, "ЧН=; ЧГ="),
|
||||
Формат(Всего, "ЧН=; ЧГ="));
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЧекЛистВыполнениеПроцент(Знач Выполнено, Знач Всего) Экспорт
|
||||
|
||||
Если Не ЗначениеЗаполнено(Выполнено)
|
||||
Или Не ЗначениеЗаполнено(Всего) Тогда
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Формат(Окр(Выполнено / Всего * 100, 1), "ЧН=; ЧГ=; ЧФ=Ч%");
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция УстановитьПараметр(НастройкиКомпоновки, Параметр, Значение = Неопределено, Использование = Истина) Экспорт
|
||||
|
||||
Если ТипЗнч(Параметр) = Тип("Строка") Тогда
|
||||
ПараметрКомпоновки = Новый ПараметрКомпоновкиДанных(Параметр);
|
||||
Иначе
|
||||
ПараметрКомпоновки = Параметр;
|
||||
КонецЕсли;
|
||||
|
||||
ЗначениеПараметра = НастройкиКомпоновки.ПараметрыДанных.НайтиЗначениеПараметра(ПараметрКомпоновки);
|
||||
|
||||
Если ЗначениеПараметра <> Неопределено Тогда
|
||||
|
||||
ЗначениеПараметра.Использование = Использование;
|
||||
ЗначениеПараметра.Значение = Значение;
|
||||
|
||||
Конецесли;
|
||||
|
||||
Возврат ЗначениеПараметра;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДобавитьВыбранноеПоле(НастройкиКомпоновки, Поле, Использование = Истина) Экспорт
|
||||
|
||||
Если ТипЗнч(Поле) = Тип("Строка") Тогда
|
||||
ПолеКомпоновки = Новый ПолеКомпоновкиДанных(Поле);
|
||||
Иначе
|
||||
ПолеКомпоновки = Поле;
|
||||
КонецЕсли;
|
||||
|
||||
ВыбранноеПоле = НастройкиКомпоновки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
|
||||
ВыбранноеПоле.Поле = ПолеКомпоновки;
|
||||
ВыбранноеПоле.Использование = Использование;
|
||||
|
||||
Возврат ВыбранноеПоле;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецЕсли
|
@ -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
|
||||
ПроцессорВывода.УстановитьОбъект(ТЗЗадачи);
|
||||
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
|
||||
|
||||
|
@ -378,6 +378,7 @@
|
||||
пЭлементПолеЗадачиВКарточкеЗадачиЕстьФайл.Вид = ВидПоляФормы.ПолеВвода;
|
||||
пЭлементПолеЗадачиВКарточкеЗадачиЕстьФайл.ПутьКДанным = "Объект.ТЧЗадачи.ЕстьФайлы";
|
||||
пЭлементПолеЗадачиВКарточкеЗадачиЕстьФайл.Ширина = 1;
|
||||
пЭлементПолеЗадачиВКарточкеЗадачиЕстьФайл.Формат = "БЛ=; БИ=§";
|
||||
|
||||
//+ #108 Дзеса Ігор (capitoshko) 05.10.2018
|
||||
КонецЕсли;
|
||||
@ -398,6 +399,7 @@
|
||||
пЭлементПолеЗадачиВКарточкеЗадачиЕстьПисьма.Вид = ВидПоляФормы.ПолеВвода;
|
||||
пЭлементПолеЗадачиВКарточкеЗадачиЕстьПисьма.ПутьКДанным = "Объект.ТЧЗадачи.ЕстьПисьма";
|
||||
пЭлементПолеЗадачиВКарточкеЗадачиЕстьПисьма.Ширина = 1;
|
||||
пЭлементПолеЗадачиВКарточкеЗадачиЕстьПисьма.Формат = "БЛ=; БИ=✉";
|
||||
|
||||
//+ #108 Дзеса Ігор (capitoshko) 05.10.2018
|
||||
КонецЕсли;
|
||||
|
@ -122,40 +122,10 @@
|
||||
<dataPath>ИзмененЦветПоУмолчанию</dataPath>
|
||||
<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">
|
||||
<dataPath>ДатаНачалаРаботПоЗадаче</dataPath>
|
||||
<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>
|
||||
@ -166,16 +136,6 @@
|
||||
</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>
|
||||
@ -206,41 +166,79 @@
|
||||
</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>
|
||||
<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>
|
||||
<query>ВЫБРАТЬ РАЗРЕШЕННЫЕ
|
||||
узНаблюдателиЗаЗадачами.Задача КАК Задача
|
||||
НаблюдателиЗаЗадачами.Задача КАК Задача,
|
||||
ИСТИНА КАК ИспользоватьОтборПоНаблюдателю
|
||||
ПОМЕСТИТЬ ВТОтборЗадачПоНаблюдателю
|
||||
ИЗ
|
||||
РегистрСведений.узНаблюдателиЗаЗадачами КАК узНаблюдателиЗаЗадачами
|
||||
РегистрСведений.узНаблюдателиЗаЗадачами КАК НаблюдателиЗаЗадачами
|
||||
ГДЕ
|
||||
ВЫБОР
|
||||
КОГДА &ИспользоватьОтборПоНаблюдателю
|
||||
ТОГДА узНаблюдателиЗаЗадачами.Пользователь = &Наблюдатель
|
||||
ИНАЧЕ ИСТИНА
|
||||
КОНЕЦ
|
||||
НаблюдателиЗаЗадачами.Пользователь = &Наблюдатель
|
||||
|
||||
ИНДЕКСИРОВАТЬ ПО
|
||||
Задача
|
||||
;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
ВЫБРАТЬ РАЗРЕШЕННЫЕ
|
||||
узЗадачиКомментарии.Ссылка КАК Ссылка,
|
||||
СУММА(ВЫБОР
|
||||
КОГДА узЗадачиКомментарии.Выполнено
|
||||
ТОГДА 1
|
||||
ИНАЧЕ 0
|
||||
КОНЕЦ) КАК Выполнено,
|
||||
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ узЗадачиКомментарии.НомерСтроки) КАК Всего
|
||||
ПОМЕСТИТЬ ВТЧекЛист
|
||||
ИЗ
|
||||
Справочник.узЗадачи.Комментарии КАК узЗадачиКомментарии
|
||||
|
||||
СГРУППИРОВАТЬ ПО
|
||||
узЗадачиКомментарии.Ссылка
|
||||
|
||||
ИНДЕКСИРОВАТЬ ПО
|
||||
Ссылка
|
||||
Задача,
|
||||
ИспользоватьОтборПоНаблюдателю
|
||||
;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
@ -252,10 +250,9 @@
|
||||
узЗадачи.РеквизитДопУпорядочивания КАК РеквизитДопУпорядочивания,
|
||||
узЗадачи.Исполнитель КАК Исполнитель,
|
||||
узЗадачи.Исполнитель.узКороткоеИмя КАК КороткоеИмя,
|
||||
ПОДСТРОКА(узЗадачи.ОсновнаяЗадача.Наименование, 1, 25) КАК ОсновнаяЗадачаПредставление,
|
||||
узЗадачи.ОсновнаяЗадача.Наименование КАК ОсновнаяЗадачаПредставление,
|
||||
узЗадачи.СрокИсполнения КАК СрокИсполнения,
|
||||
узЗадачи.Конфигурация КАК Конфигурация,
|
||||
//узЗадачи.Удалить_Спринт КАК Спринт,
|
||||
узЗадачи.Важность КАК Важность,
|
||||
узЗадачи.НомерВнешнейЗаявки КАК НомерВнешнейЗаявки,
|
||||
узЗадачи.ОсновнаяЗадача КАК ОсновнаяЗадача,
|
||||
@ -263,172 +260,35 @@
|
||||
узЗадачи.ДатаПередачиИсполнителю КАК ДатаПередачиИсполнителю,
|
||||
узЗадачи.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения,
|
||||
узЗадачи.ДатаВыполнения КАК ДатаВыполнения,
|
||||
ВЫБОР
|
||||
КОГДА узЗадачи.СрокИсполнения = ДАТАВРЕМЯ(1, 1, 1)
|
||||
ТОГДА 0
|
||||
КОГДА узЗадачи.ДатаВыполнения <> ДАТАВРЕМЯ(1, 1, 1)
|
||||
ТОГДА ВЫРАЗИТЬ(РАЗНОСТЬДАТ(узЗадачи.ДатаНачалаРаботПоЗадаче, узЗадачи.ДатаВыполнения, СЕКУНДА) / РАЗНОСТЬДАТ(узЗадачи.ДатаНачалаРаботПоЗадаче, узЗадачи.СрокИсполнения, СЕКУНДА) * 100 КАК ЧИСЛО(15, 2))
|
||||
ИНАЧЕ ВЫРАЗИТЬ(РАЗНОСТЬДАТ(узЗадачи.ДатаНачалаРаботПоЗадаче, &ТекущаяДата, СЕКУНДА) / РАЗНОСТЬДАТ(узЗадачи.ДатаНачалаРаботПоЗадаче, узЗадачи.СрокИсполнения, СЕКУНДА) * 100 КАК ЧИСЛО(15, 2))
|
||||
КОНЕЦ КАК БуферПроцент,
|
||||
узЗадачи.ИзмененЦветПоУмолчанию КАК ИзмененЦветПоУмолчанию,
|
||||
узЗадачи.Контрагент КАК Заказчик
|
||||
ПОМЕСТИТЬ ВТРезультат
|
||||
узЗадачи.Контрагент КАК Заказчик,
|
||||
узЗадачи.Контрагент.узКороткоеИмя КАК КороткоеИмяЗаказчик,
|
||||
узЗадачи.КоличествоЗадачЧекЛиста КАК ЧекЛистВсего,
|
||||
узЗадачи.КоличествоВыполненныхЗадачЧекЛиста КАК ЧекЛистВыполнено,
|
||||
ЕСТЬNULL(ВзаимодействияПоЗадачам.КоличествоПрисоединенныхФайлов, 0) КАК КоличествоПрисоединенныхФайлов,
|
||||
ЕСТЬNULL(ВзаимодействияПоЗадачам.КоличествоВходящихПисем, 0) КАК КоличествоВходящихПисем,
|
||||
ЕСТЬNULL(ВзаимодействияПоЗадачам.КоличествоИсходящихПисем, 0) КАК КоличествоИсходящихПисем,
|
||||
ЕСТЬNULL(ВзаимодействияПоЗадачам.ДатаПоследнегоВходящегоПисьма, ДАТАВРЕМЯ(1,1,1)) КАК ДатаПоследнегоВходящегоПисьма,
|
||||
ЕСТЬNULL(ВзаимодействияПоЗадачам.ДатаПоследнегоИсходящегоПисьма, ДАТАВРЕМЯ(1,1,1)) КАК ДатаПоследнегоИсходящегоПисьма,
|
||||
ЕСТЬNULL(ВзаимодействияПоЗадачам.КоличествоВложенийПисем, 0) КАК КоличествоВложенийПисем,
|
||||
ЕСТЬNULL(СпринтыЗадач.Спринт, ЗНАЧЕНИЕ(Справочник.узСпринты.ПустаяСсылка)) КАК Спринт
|
||||
ИЗ
|
||||
Справочник.узЗадачи КАК узЗадачи
|
||||
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.узСостояниеВзаимодействийПоЗадачам КАК ВзаимодействияПоЗадачам
|
||||
ПО узЗадачи.Ссылка = ВзаимодействияПоЗадачам.Задача}
|
||||
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.узСпринтыЗадач.СрезПоследних КАК СпринтыЗадач
|
||||
ПО узЗадачи.Ссылка = СпринтыЗадач.Задача}
|
||||
ГДЕ
|
||||
узЗадачи.ПоказыватьВОтчетахИКанбанДоске
|
||||
И ВЫБОР
|
||||
КОГДА &ИспользоватьОтборПоНаблюдателю
|
||||
ТОГДА узЗадачи.Ссылка В
|
||||
(ВЫБРАТЬ
|
||||
ВТОтборЗадачПоНаблюдателю.Задача
|
||||
ИЗ
|
||||
ВТОтборЗадачПоНаблюдателю)
|
||||
ИНАЧЕ ИСТИНА
|
||||
КОНЕЦ
|
||||
И узЗадачи.Статус В(&МассивВыбранныхСтатусовКолонок)
|
||||
;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ
|
||||
ВТРезультат.Задача КАК Задача
|
||||
ПОМЕСТИТЬ ВТЗадачиСФайламиПредв
|
||||
ИЗ
|
||||
ВТРезультат КАК ВТРезультат
|
||||
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.узЗадачиПрисоединенныеФайлы КАК узЗадачиПрисоединенныеФайлы
|
||||
ПО ВТРезультат.Задача = узЗадачиПрисоединенныеФайлы.ВладелецФайла
|
||||
|
||||
ОБЪЕДИНИТЬ
|
||||
|
||||
ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
ВТРезультат.Задача
|
||||
ИЗ
|
||||
ВТРезультат КАК ВТРезультат
|
||||
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПредметыПапкиВзаимодействий КАК ПредметыПапкиВзаимодействий
|
||||
ПО ВТРезультат.Задача = ПредметыПапкиВзаимодействий.Предмет
|
||||
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ЭлектронноеПисьмоВходящееПрисоединенныеФайлы КАК ЭлектронноеПисьмоВходящееПрисоединенныеФайлы
|
||||
ПО ПредметыПапкиВзаимодействий.Взаимодействие = ЭлектронноеПисьмоВходящееПрисоединенныеФайлы.ВладелецФайла
|
||||
И (ЭлектронноеПисьмоВходящееПрисоединенныеФайлы.ИДФайлаЭлектронногоПисьма = "")
|
||||
|
||||
ОБЪЕДИНИТЬ
|
||||
|
||||
ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
ВТРезультат.Задача
|
||||
ИЗ
|
||||
ВТРезультат КАК ВТРезультат
|
||||
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПредметыПапкиВзаимодействий КАК ПредметыПапкиВзаимодействий
|
||||
ПО ВТРезультат.Задача = ПредметыПапкиВзаимодействий.Предмет
|
||||
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы КАК ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы
|
||||
ПО ПредметыПапкиВзаимодействий.Взаимодействие = ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы.ВладелецФайла
|
||||
И (ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы.ИДФайлаЭлектронногоПисьма = "")
|
||||
;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ
|
||||
ВТЗадачиСФайламиПредв.Задача
|
||||
ПОМЕСТИТЬ ВТЗадачиСФайлами
|
||||
ИЗ
|
||||
ВТЗадачиСФайламиПредв КАК ВТЗадачиСФайламиПредв
|
||||
;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ
|
||||
ВТРезультат.Задача
|
||||
ПОМЕСТИТЬ ВТЗадачиСПисьмами
|
||||
ИЗ
|
||||
ВТРезультат КАК ВТРезультат
|
||||
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПредметыПапкиВзаимодействий КАК ПредметыПапкиВзаимодействий
|
||||
ПО ВТРезультат.Задача = ПредметыПапкиВзаимодействий.Предмет
|
||||
ГДЕ
|
||||
ПредметыПапкиВзаимодействий.Предмет ССЫЛКА Справочник.узЗадачи
|
||||
И (ПредметыПапкиВзаимодействий.Взаимодействие ССЫЛКА Документ.ЭлектронноеПисьмоВходящее
|
||||
ИЛИ ПредметыПапкиВзаимодействий.Взаимодействие ССЫЛКА Документ.ЭлектронноеПисьмоИсходящее)
|
||||
;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
ВЫБРАТЬ РАЗРЕШЕННЫЕ
|
||||
узСпринтыЗадачСрезПоследних.Задача,
|
||||
МАКСИМУМ(узСпринтыЗадачСрезПоследних.Спринт) КАК Спринт
|
||||
ПОМЕСТИТЬ ВТСпринтыЗадач
|
||||
ИЗ
|
||||
РегистрСведений.узСпринтыЗадач.СрезПоследних(
|
||||
,
|
||||
Задача В
|
||||
(ВЫБРАТЬ
|
||||
ВТРезультат.Задача
|
||||
ИЗ
|
||||
ВТРезультат)) КАК узСпринтыЗадачСрезПоследних
|
||||
|
||||
СГРУППИРОВАТЬ ПО
|
||||
узСпринтыЗадачСрезПоследних.Задача
|
||||
;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
ВЫБРАТЬ РАЗРЕШЕННЫЕ
|
||||
ВТРезультат.Задача КАК Задача,
|
||||
ВТРезультат.ЗадачаПредставление КАК ЗадачаПредставление,
|
||||
ВТРезультат.НомерЗадачи КАК НомерЗадачи,
|
||||
ВТРезультат.Статус КАК Статус,
|
||||
ВТРезультат.РеквизитДопУпорядочивания КАК РеквизитДопУпорядочивания,
|
||||
ВТРезультат.Исполнитель КАК Исполнитель,
|
||||
ВТРезультат.КороткоеИмя КАК КороткоеИмя,
|
||||
ВТРезультат.ОсновнаяЗадачаПредставление КАК ОсновнаяЗадачаПредставление,
|
||||
ВТРезультат.СрокИсполнения КАК СрокИсполнения,
|
||||
ВТРезультат.Конфигурация КАК Конфигурация,
|
||||
ВТРезультат.Важность КАК Важность,
|
||||
ВТРезультат.НомерВнешнейЗаявки КАК НомерВнешнейЗаявки,
|
||||
ВТРезультат.ОсновнаяЗадача КАК ОсновнаяЗадача,
|
||||
ВТРезультат.ДатаНачалаРаботПоЗадаче КАК ДатаНачалаРаботПоЗадаче,
|
||||
ВТРезультат.ДатаПередачиИсполнителю КАК ДатаПередачиИсполнителю,
|
||||
ВТРезультат.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения,
|
||||
ВТРезультат.ДатаВыполнения КАК ДатаВыполнения,
|
||||
ВЫБОР
|
||||
КОГДА ВТРезультат.Важность = ЗНАЧЕНИЕ(Справочник.узВариантыВажностиЗадачи.Высокая)
|
||||
ТОГДА 2
|
||||
КОГДА ВТРезультат.Важность = ЗНАЧЕНИЕ(Справочник.узВариантыВажностиЗадачи.Обычная)
|
||||
ТОГДА ВЫБОР
|
||||
КОГДА ВТРезультат.БуферПроцент < 30
|
||||
ТОГДА 4
|
||||
КОГДА 30 <= ВТРезультат.БуферПроцент
|
||||
И ВТРезультат.БуферПроцент < 60
|
||||
ТОГДА 3
|
||||
КОГДА 60 <= ВТРезультат.БуферПроцент
|
||||
И ВТРезультат.БуферПроцент < 100
|
||||
ТОГДА 2
|
||||
КОГДА 100 <= ВТРезультат.БуферПроцент
|
||||
ТОГДА 1
|
||||
КОНЕЦ
|
||||
КОГДА ВТРезультат.Важность = ЗНАЧЕНИЕ(Справочник.узВариантыВажностиЗадачи.Низкая)
|
||||
ТОГДА 10
|
||||
ИНАЧЕ 4
|
||||
КОНЕЦ КАК ЦветДляЗадачиЧисло,
|
||||
ВТРезультат.БуферПроцент КАК БуферПроцент,
|
||||
ВТРезультат.ИзмененЦветПоУмолчанию КАК ИзмененЦветПоУмолчанию,
|
||||
ВЫБОР
|
||||
КОГДА ЕСТЬNULL(ВТЗадачиСФайлами.Задача, ЛОЖЬ) = ЛОЖЬ
|
||||
ТОГДА ""
|
||||
ИНАЧЕ "§"
|
||||
КОНЕЦ КАК ЕстьФайлы,
|
||||
ВЫБОР
|
||||
КОГДА ЕСТЬNULL(ВТЗадачиСПисьмами.Задача, ЛОЖЬ) = ЛОЖЬ
|
||||
ТОГДА ""
|
||||
ИНАЧЕ "✉"
|
||||
КОНЕЦ КАК ЕстьПисьма,
|
||||
ВТРезультат.Заказчик КАК Заказчик,
|
||||
ВТРезультат.Заказчик.узКороткоеИмя КАК КороткоеИмяЗаказчик,
|
||||
ЕСТЬNULL(ВТЧекЛист.Выполнено, 0) КАК ЧекЛистВыполнено,
|
||||
ЕСТЬNULL(ВТЧекЛист.Всего, 0) КАК ЧекЛистВсего,
|
||||
ВТСпринтыЗадач.Спринт КАК Спринт
|
||||
ИЗ
|
||||
ВТРезультат КАК ВТРезультат
|
||||
ЛЕВОЕ СОЕДИНЕНИЕ ВТЗадачиСФайлами КАК ВТЗадачиСФайлами
|
||||
ПО ВТРезультат.Задача = ВТЗадачиСФайлами.Задача
|
||||
ЛЕВОЕ СОЕДИНЕНИЕ ВТЗадачиСПисьмами КАК ВТЗадачиСПисьмами
|
||||
ПО ВТРезультат.Задача = ВТЗадачиСПисьмами.Задача
|
||||
ЛЕВОЕ СОЕДИНЕНИЕ ВТЧекЛист КАК ВТЧекЛист
|
||||
ПО ВТРезультат.Задача = ВТЧекЛист.Ссылка
|
||||
ЛЕВОЕ СОЕДИНЕНИЕ ВТСпринтыЗадач КАК ВТСпринтыЗадач
|
||||
ПО ВТРезультат.Задача = ВТСпринтыЗадач.Задача</query>
|
||||
{ГДЕ
|
||||
узЗадачи.Ссылка В
|
||||
(ВЫБРАТЬ
|
||||
ВТОтборЗадачПоНаблюдателю.Задача
|
||||
ИЗ
|
||||
ВТОтборЗадачПоНаблюдателю
|
||||
ГДЕ
|
||||
ВТОтборЗадачПоНаблюдателю.ИспользоватьОтборПоНаблюдателю = &ИспользоватьОтборПоНаблюдателю)}</query>
|
||||
</dataSet>
|
||||
<calculatedField>
|
||||
<dataPath>НомерЗадачиПредставление</dataPath>
|
||||
@ -440,6 +300,120 @@
|
||||
</v8:item>
|
||||
</title>
|
||||
</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>КоличествоПрисоединенныхФайлов + КоличествоВложенийПисем > 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>КоличествоВходящихПисем + КоличествоИсходящихПисем > 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>
|
||||
<name>ИспользоватьОтборПоНаблюдателю</name>
|
||||
<title xsi:type="v8:LocalStringType">
|
||||
@ -453,7 +427,7 @@
|
||||
</valueType>
|
||||
<value xsi:type="xs:boolean">false</value>
|
||||
<useRestriction>true</useRestriction>
|
||||
<expression>ЗНАЧЕНИЕЗАПОЛНЕНО(&Наблюдатель)</expression>
|
||||
<availableAsField>false</availableAsField>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>Наблюдатель</name>
|
||||
@ -482,31 +456,7 @@
|
||||
</valueType>
|
||||
<value xsi:nil="true"/>
|
||||
<useRestriction>true</useRestriction>
|
||||
</parameter>
|
||||
<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>
|
||||
<availableAsField>false</availableAsField>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>Период</name>
|
||||
@ -523,59 +473,13 @@
|
||||
</v8:DateQualifiers>
|
||||
</valueType>
|
||||
<value xsi:type="xs:dateTime">0001-01-01T00:00:00</value>
|
||||
<useRestriction>false</useRestriction>
|
||||
<useRestriction>true</useRestriction>
|
||||
<availableAsField>false</availableAsField>
|
||||
</parameter>
|
||||
<settingsVariant>
|
||||
<dcsset:name>Основной</dcsset:name>
|
||||
<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: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:item xsi:type="dcsset:FilterItemComparison">
|
||||
<dcsset:use>false</dcsset:use>
|
||||
|
Loading…
x
Reference in New Issue
Block a user