mirror of
https://github.com/BlizD/Tasks.git
synced 2025-04-23 12:08:57 +02:00
#225 Оптимизирован запрос данных для канбан-доски.
Постобработка полученных запросом данных удалена, необходимые поля включены в вычисляемые поля СКД. Расчет сложных полей также вынесен в вычиляемые поля, для которых реализованы внешние функции. Исправлены типы полей для признаков наличия файлов и писем. Для их отображение используются формат представления.
This commit is contained in:
parent
3ff097065b
commit
ab4f4e88ed
@ -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/>
|
||||||
|
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;
|
пЭлементПолеЗадачиВКарточкеЗадачиЕстьФайл.Ширина = 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
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
@ -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>ВЫБРАТЬ РАЗРЕШЕННЫЕ
|
||||||
узНаблюдателиЗаЗадачами.Задача КАК Задача
|
НаблюдателиЗаЗадачами.Задача КАК Задача,
|
||||||
|
ИСТИНА КАК ИспользоватьОтборПоНаблюдателю
|
||||||
ПОМЕСТИТЬ ВТОтборЗадачПоНаблюдателю
|
ПОМЕСТИТЬ ВТОтборЗадачПоНаблюдателю
|
||||||
ИЗ
|
ИЗ
|
||||||
РегистрСведений.узНаблюдателиЗаЗадачами КАК узНаблюдателиЗаЗадачами
|
РегистрСведений.узНаблюдателиЗаЗадачами КАК НаблюдателиЗаЗадачами
|
||||||
ГДЕ
|
ГДЕ
|
||||||
ВЫБОР
|
НаблюдателиЗаЗадачами.Пользователь = &Наблюдатель
|
||||||
КОГДА &ИспользоватьОтборПоНаблюдателю
|
|
||||||
ТОГДА узНаблюдателиЗаЗадачами.Пользователь = &Наблюдатель
|
|
||||||
ИНАЧЕ ИСТИНА
|
|
||||||
КОНЕЦ
|
|
||||||
|
|
||||||
ИНДЕКСИРОВАТЬ ПО
|
ИНДЕКСИРОВАТЬ ПО
|
||||||
Задача
|
Задача,
|
||||||
;
|
ИспользоватьОтборПоНаблюдателю
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
ВЫБРАТЬ РАЗРЕШЕННЫЕ
|
|
||||||
узЗадачиКомментарии.Ссылка КАК Ссылка,
|
|
||||||
СУММА(ВЫБОР
|
|
||||||
КОГДА узЗадачиКомментарии.Выполнено
|
|
||||||
ТОГДА 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(СпринтыЗадач.Спринт, ЗНАЧЕНИЕ(Справочник.узСпринты.ПустаяСсылка)) КАК Спринт
|
||||||
ИЗ
|
ИЗ
|
||||||
Справочник.узЗадачи КАК узЗадачи
|
Справочник.узЗадачи КАК узЗадачи
|
||||||
|
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.узСостояниеВзаимодействийПоЗадачам КАК ВзаимодействияПоЗадачам
|
||||||
|
ПО узЗадачи.Ссылка = ВзаимодействияПоЗадачам.Задача}
|
||||||
|
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.узСпринтыЗадач.СрезПоследних КАК СпринтыЗадач
|
||||||
|
ПО узЗадачи.Ссылка = СпринтыЗадач.Задача}
|
||||||
ГДЕ
|
ГДЕ
|
||||||
узЗадачи.ПоказыватьВОтчетахИКанбанДоске
|
узЗадачи.ПоказыватьВОтчетахИКанбанДоске
|
||||||
И ВЫБОР
|
И узЗадачи.Статус В(&МассивВыбранныхСтатусовКолонок)
|
||||||
КОГДА &ИспользоватьОтборПоНаблюдателю
|
{ГДЕ
|
||||||
ТОГДА узЗадачи.Ссылка В
|
узЗадачи.Ссылка В
|
||||||
(ВЫБРАТЬ
|
(ВЫБРАТЬ
|
||||||
ВТОтборЗадачПоНаблюдателю.Задача
|
ВТОтборЗадачПоНаблюдателю.Задача
|
||||||
ИЗ
|
ИЗ
|
||||||
ВТОтборЗадачПоНаблюдателю)
|
ВТОтборЗадачПоНаблюдателю
|
||||||
ИНАЧЕ ИСТИНА
|
|
||||||
КОНЕЦ
|
|
||||||
И узЗадачи.Статус В(&МассивВыбранныхСтатусовКолонок)
|
|
||||||
;
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ
|
|
||||||
ВТРезультат.Задача КАК Задача
|
|
||||||
ПОМЕСТИТЬ ВТЗадачиСФайламиПредв
|
|
||||||
ИЗ
|
|
||||||
ВТРезультат КАК ВТРезультат
|
|
||||||
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.узЗадачиПрисоединенныеФайлы КАК узЗадачиПрисоединенныеФайлы
|
|
||||||
ПО ВТРезультат.Задача = узЗадачиПрисоединенныеФайлы.ВладелецФайла
|
|
||||||
|
|
||||||
ОБЪЕДИНИТЬ
|
|
||||||
|
|
||||||
ВЫБРАТЬ РАЗЛИЧНЫЕ
|
|
||||||
ВТРезультат.Задача
|
|
||||||
ИЗ
|
|
||||||
ВТРезультат КАК ВТРезультат
|
|
||||||
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПредметыПапкиВзаимодействий КАК ПредметыПапкиВзаимодействий
|
|
||||||
ПО ВТРезультат.Задача = ПредметыПапкиВзаимодействий.Предмет
|
|
||||||
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ЭлектронноеПисьмоВходящееПрисоединенныеФайлы КАК ЭлектронноеПисьмоВходящееПрисоединенныеФайлы
|
|
||||||
ПО ПредметыПапкиВзаимодействий.Взаимодействие = ЭлектронноеПисьмоВходящееПрисоединенныеФайлы.ВладелецФайла
|
|
||||||
И (ЭлектронноеПисьмоВходящееПрисоединенныеФайлы.ИДФайлаЭлектронногоПисьма = "")
|
|
||||||
|
|
||||||
ОБЪЕДИНИТЬ
|
|
||||||
|
|
||||||
ВЫБРАТЬ РАЗЛИЧНЫЕ
|
|
||||||
ВТРезультат.Задача
|
|
||||||
ИЗ
|
|
||||||
ВТРезультат КАК ВТРезультат
|
|
||||||
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПредметыПапкиВзаимодействий КАК ПредметыПапкиВзаимодействий
|
|
||||||
ПО ВТРезультат.Задача = ПредметыПапкиВзаимодействий.Предмет
|
|
||||||
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы КАК ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы
|
|
||||||
ПО ПредметыПапкиВзаимодействий.Взаимодействие = ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы.ВладелецФайла
|
|
||||||
И (ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы.ИДФайлаЭлектронногоПисьма = "")
|
|
||||||
;
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ
|
|
||||||
ВТЗадачиСФайламиПредв.Задача
|
|
||||||
ПОМЕСТИТЬ ВТЗадачиСФайлами
|
|
||||||
ИЗ
|
|
||||||
ВТЗадачиСФайламиПредв КАК ВТЗадачиСФайламиПредв
|
|
||||||
;
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ
|
|
||||||
ВТРезультат.Задача
|
|
||||||
ПОМЕСТИТЬ ВТЗадачиСПисьмами
|
|
||||||
ИЗ
|
|
||||||
ВТРезультат КАК ВТРезультат
|
|
||||||
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПредметыПапкиВзаимодействий КАК ПредметыПапкиВзаимодействий
|
|
||||||
ПО ВТРезультат.Задача = ПредметыПапкиВзаимодействий.Предмет
|
|
||||||
ГДЕ
|
ГДЕ
|
||||||
ПредметыПапкиВзаимодействий.Предмет ССЫЛКА Справочник.узЗадачи
|
ВТОтборЗадачПоНаблюдателю.ИспользоватьОтборПоНаблюдателю = &ИспользоватьОтборПоНаблюдателю)}</query>
|
||||||
И (ПредметыПапкиВзаимодействий.Взаимодействие ССЫЛКА Документ.ЭлектронноеПисьмоВходящее
|
|
||||||
ИЛИ ПредметыПапкиВзаимодействий.Взаимодействие ССЫЛКА Документ.ЭлектронноеПисьмоИсходящее)
|
|
||||||
;
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
ВЫБРАТЬ РАЗРЕШЕННЫЕ
|
|
||||||
узСпринтыЗадачСрезПоследних.Задача,
|
|
||||||
МАКСИМУМ(узСпринтыЗадачСрезПоследних.Спринт) КАК Спринт
|
|
||||||
ПОМЕСТИТЬ ВТСпринтыЗадач
|
|
||||||
ИЗ
|
|
||||||
РегистрСведений.узСпринтыЗадач.СрезПоследних(
|
|
||||||
,
|
|
||||||
Задача В
|
|
||||||
(ВЫБРАТЬ
|
|
||||||
ВТРезультат.Задача
|
|
||||||
ИЗ
|
|
||||||
ВТРезультат)) КАК узСпринтыЗадачСрезПоследних
|
|
||||||
|
|
||||||
СГРУППИРОВАТЬ ПО
|
|
||||||
узСпринтыЗадачСрезПоследних.Задача
|
|
||||||
;
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
ВЫБРАТЬ РАЗРЕШЕННЫЕ
|
|
||||||
ВТРезультат.Задача КАК Задача,
|
|
||||||
ВТРезультат.ЗадачаПредставление КАК ЗадачаПредставление,
|
|
||||||
ВТРезультат.НомерЗадачи КАК НомерЗадачи,
|
|
||||||
ВТРезультат.Статус КАК Статус,
|
|
||||||
ВТРезультат.РеквизитДопУпорядочивания КАК РеквизитДопУпорядочивания,
|
|
||||||
ВТРезультат.Исполнитель КАК Исполнитель,
|
|
||||||
ВТРезультат.КороткоеИмя КАК КороткоеИмя,
|
|
||||||
ВТРезультат.ОсновнаяЗадачаПредставление КАК ОсновнаяЗадачаПредставление,
|
|
||||||
ВТРезультат.СрокИсполнения КАК СрокИсполнения,
|
|
||||||
ВТРезультат.Конфигурация КАК Конфигурация,
|
|
||||||
ВТРезультат.Важность КАК Важность,
|
|
||||||
ВТРезультат.НомерВнешнейЗаявки КАК НомерВнешнейЗаявки,
|
|
||||||
ВТРезультат.ОсновнаяЗадача КАК ОсновнаяЗадача,
|
|
||||||
ВТРезультат.ДатаНачалаРаботПоЗадаче КАК ДатаНачалаРаботПоЗадаче,
|
|
||||||
ВТРезультат.ДатаПередачиИсполнителю КАК ДатаПередачиИсполнителю,
|
|
||||||
ВТРезультат.ДатаПоследнегоИзменения КАК ДатаПоследнегоИзменения,
|
|
||||||
ВТРезультат.ДатаВыполнения КАК ДатаВыполнения,
|
|
||||||
ВЫБОР
|
|
||||||
КОГДА ВТРезультат.Важность = ЗНАЧЕНИЕ(Справочник.узВариантыВажностиЗадачи.Высокая)
|
|
||||||
ТОГДА 2
|
|
||||||
КОГДА ВТРезультат.Важность = ЗНАЧЕНИЕ(Справочник.узВариантыВажностиЗадачи.Обычная)
|
|
||||||
ТОГДА ВЫБОР
|
|
||||||
КОГДА ВТРезультат.БуферПроцент < 30
|
|
||||||
ТОГДА 4
|
|
||||||
КОГДА 30 <= ВТРезультат.БуферПроцент
|
|
||||||
И ВТРезультат.БуферПроцент < 60
|
|
||||||
ТОГДА 3
|
|
||||||
КОГДА 60 <= ВТРезультат.БуферПроцент
|
|
||||||
И ВТРезультат.БуферПроцент < 100
|
|
||||||
ТОГДА 2
|
|
||||||
КОГДА 100 <= ВТРезультат.БуферПроцент
|
|
||||||
ТОГДА 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>КоличествоПрисоединенныхФайлов + КоличествоВложенийПисем > 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>
|
<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>ЗНАЧЕНИЕЗАПОЛНЕНО(&Наблюдатель)</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>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user