1
0
mirror of https://github.com/BlizD/Tasks.git synced 2025-03-19 21:07:53 +02:00

#58 @capitoshko отображение выполнение чеклиста в формате 5/9 в 3 строки карточки задачи

This commit is contained in:
Anton Ivanov 2018-09-30 17:22:45 +03:00
parent ca39d25671
commit 98a85ab3ac
4 changed files with 210 additions and 4 deletions

View File

@ -138,7 +138,8 @@
<v8:content>Показывать 3 строку в карточке задачи: <v8:content>Показывать 3 строку в карточке задачи:
* § - есть файлы по задаче; * § - есть файлы по задаче;
* ✉ - есть письма по задаче; * ✉ - есть письма по задаче;
* заказчик.</v8:content> * заказчик.
* 2/3- чеклиста</v8:content>
</v8:item> </v8:item>
</ToolTip> </ToolTip>
<MarkNegatives>false</MarkNegatives> <MarkNegatives>false</MarkNegatives>
@ -740,6 +741,128 @@
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput> <ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
</Properties> </Properties>
</Attribute> </Attribute>
<Attribute uuid="64374d6d-9b51-49ef-abbf-b085c435ce18">
<Properties>
<Name>ЧекЛистВыполнено</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Чек лист выполнено</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>10</v8:Digits>
<v8:FractionDigits>0</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
</Properties>
</Attribute>
<Attribute uuid="7abac868-bae5-4540-82b6-24f56075e8f3">
<Properties>
<Name>ЧекЛистВсего</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Чек лист всего</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>10</v8:Digits>
<v8:FractionDigits>0</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
</Properties>
</Attribute>
<Attribute uuid="ceceb848-117a-492a-8252-a20976ca40b3">
<Properties>
<Name>ЧекЛистВыполнение</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Чек лист выполнение</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>20</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:type="xs:string"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
</Properties>
</Attribute>
</ChildObjects> </ChildObjects>
</TabularSection> </TabularSection>
<TabularSection uuid="fc9c0693-c970-4285-be29-6fac7fdd05e6"> <TabularSection uuid="fc9c0693-c970-4285-be29-6fac7fdd05e6">

View File

@ -4,8 +4,17 @@
пНастройкиКомпоновщика = ПолучитьИзВременногоХранилища(АдресВременногоХранилища); пНастройкиКомпоновщика = ПолучитьИзВременногоХранилища(АдресВременногоХранилища);
ТЗЗадачи = ПолучитьТЗЗадачи(пНастройкиКомпоновщика); ТЗЗадачи = ПолучитьТЗЗадачи(пНастройкиКомпоновщика);
ЕстьКолонкаЧекЛистВыполнено = ТЗЗадачи.Колонки.Найти("ЧекЛистВыполнено") <> Неопределено;
ТЗЗадачи.Колонки.Добавить("ЧекЛистВыполнение",Новый ОписаниеТипов("Строка"));
Для каждого СтрокаТЗЗадачи из ТЗЗадачи цикл Для каждого СтрокаТЗЗадачи из ТЗЗадачи цикл
СтрокаТЗЗадачи.ОсновнаяЗадачаПредставление = СокрЛП(СтрокаТЗЗадачи.ОсновнаяЗадачаПредставление); СтрокаТЗЗадачи.ОсновнаяЗадачаПредставление = СокрЛП(СтрокаТЗЗадачи.ОсновнаяЗадачаПредставление);
Если ЕстьКолонкаЧекЛистВыполнено
И ЗначениеЗаполнено(СтрокаТЗЗадачи.ЧекЛистВыполнено)
И ЗначениеЗаполнено(СтрокаТЗЗадачи.ЧекЛистВсего) Тогда
СтрокаТЗЗадачи.ЧекЛистВыполнение = "" + СтрокаТЗЗадачи.ЧекЛистВыполнено
+ "/" + СтрокаТЗЗадачи.ЧекЛистВсего;
Конецесли;
Конеццикла; Конеццикла;
ТЧЗадачи.Загрузить(ТЗЗадачи); ТЧЗадачи.Загрузить(ТЗЗадачи);
КонецПроцедуры КонецПроцедуры

View File

@ -383,6 +383,19 @@
пЭлементПолеЗаказчикПредставлениеВКарточкеЗадачи.ПутьКДанным = "Объект.ТЧЗадачи.КороткоеИмяЗаказчик"; пЭлементПолеЗаказчикПредставлениеВКарточкеЗадачи.ПутьКДанным = "Объект.ТЧЗадачи.КороткоеИмяЗаказчик";
пЭлементПолеЗаказчикПредставлениеВКарточкеЗадачи.Ширина = 3; пЭлементПолеЗаказчикПредставлениеВКарточкеЗадачи.Ширина = 3;
//+ #58 Дзеса Ігор (capitoshko)
//// ****** Поле формы "Процент выполнения согласно чек - листу" ***********
пЭлементПоляЧекЛистВыполнениеВКарточкеЗадачи = пЭлементыФормы.Вставить(
ИменаЭлементов.ИмяПоляЧекЛистВыполнение,
Тип("ПолеФормы"),
пЭлементКарточкаЗадачи_НижняяЧасть3Строка,
);
пЭлементПоляЧекЛистВыполнениеВКарточкеЗадачи.Вид = ВидПоляФормы.ПолеВвода;
пЭлементПоляЧекЛистВыполнениеВКарточкеЗадачи.ПутьКДанным = "Объект.ТЧЗадачи.ЧекЛистВыполнение";
пЭлементПоляЧекЛистВыполнениеВКарточкеЗадачи.Ширина = 5;
//- #58 Дзеса Ігор (capitoshko)
Конецесли; Конецесли;
////Павлюков - конец ////Павлюков - конец
@ -420,6 +433,10 @@
ИмяПоляЕстьПисьмаВКарточкеЗадачи = ИмяКолонки + "_ТЧЗадачи_НижняяЧасть3Строка_ЕстьПисьма"; ИмяПоляЕстьПисьмаВКарточкеЗадачи = ИмяКолонки + "_ТЧЗадачи_НижняяЧасть3Строка_ЕстьПисьма";
ИмяПоляЗаказчикВКарточкеЗадачи = ИмяКолонки +"_ТЧЗадачи_НижняяЧасть3Строка_Заказчик"; ИмяПоляЗаказчикВКарточкеЗадачи = ИмяКолонки +"_ТЧЗадачи_НижняяЧасть3Строка_Заказчик";
//+ #58 Дзеса Ігор (capitoshko)
ИмяПоляЧекЛистВыполнение = ИмяКолонки +"_ТЧЗадачи_НижняяЧасть3Строка_ЧекЛистВыполнение";
//- #58 Дзеса Ігор (capitoshko)
РезультатФункции = Новый Структура(); РезультатФункции = Новый Структура();
РезультатФункции.Вставить("ИмяГруппыКолонки",ИмяГруппыКолонки); РезультатФункции.Вставить("ИмяГруппыКолонки",ИмяГруппыКолонки);
РезультатФункции.Вставить("ИмяТЧЗадачи",ИмяТЧЗадачи); РезультатФункции.Вставить("ИмяТЧЗадачи",ИмяТЧЗадачи);
@ -444,6 +461,10 @@
РезультатФункции.Вставить("ИмяПоляОсновнаяЗадачаПредставлениеВКарточкеЗадачи",ИмяПоляОсновнаяЗадачаПредставлениеВКарточкеЗадачи); РезультатФункции.Вставить("ИмяПоляОсновнаяЗадачаПредставлениеВКарточкеЗадачи",ИмяПоляОсновнаяЗадачаПредставлениеВКарточкеЗадачи);
РезультатФункции.Вставить("ИмяПоляЗаказчикВКарточкеЗадачи",ИмяПоляЗаказчикВКарточкеЗадачи); РезультатФункции.Вставить("ИмяПоляЗаказчикВКарточкеЗадачи",ИмяПоляЗаказчикВКарточкеЗадачи);
РезультатФункции.Вставить("ИмяПоляНомерЗадачиПредставлениеВКарточкеЗадачи",ИмяПоляНомерЗадачиПредставлениеВКарточкеЗадачи); РезультатФункции.Вставить("ИмяПоляНомерЗадачиПредставлениеВКарточкеЗадачи",ИмяПоляНомерЗадачиПредставлениеВКарточкеЗадачи);
//+ #58 Дзеса Ігор (capitoshko)
РезультатФункции.Вставить("ИмяПоляЧекЛистВыполнение",ИмяПоляЧекЛистВыполнение);
//- #58 Дзеса Ігор (capitoshko)
Возврат РезультатФункции; Возврат РезультатФункции;
КонецФункции КонецФункции

View File

@ -186,6 +186,26 @@
</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>
<dataSource>ИсточникДанных1</dataSource> <dataSource>ИсточникДанных1</dataSource>
<query>ВЫБРАТЬ <query>ВЫБРАТЬ
узНаблюдателиЗаЗадачами.Задача КАК Задача узНаблюдателиЗаЗадачами.Задача КАК Задача
@ -198,6 +218,29 @@
ТОГДА узНаблюдателиЗаЗадачами.Пользователь = &amp;Наблюдатель ТОГДА узНаблюдателиЗаЗадачами.Пользователь = &amp;Наблюдатель
ИНАЧЕ ИСТИНА ИНАЧЕ ИСТИНА
КОНЕЦ КОНЕЦ
ИНДЕКСИРОВАТЬ ПО
Задача
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
узЗадачиКомментарии.Ссылка КАК Ссылка,
СУММА(ВЫБОР
КОГДА узЗадачиКомментарии.Выполнено
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ) КАК Выполнено,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ узЗадачиКомментарии.НомерСтроки) КАК Всего
ПОМЕСТИТЬ ВТЧекЛист
ИЗ
Справочник.узЗадачи.Комментарии КАК узЗадачиКомментарии
СГРУППИРОВАТЬ ПО
узЗадачиКомментарии.Ссылка
ИНДЕКСИРОВАТЬ ПО
Ссылка
; ;
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
@ -352,14 +395,18 @@
ТОГДА "" ТОГДА ""
ИНАЧЕ "✉" ИНАЧЕ "✉"
КОНЕЦ КАК ЕстьПисьма, КОНЕЦ КАК ЕстьПисьма,
ВТРезультат.Заказчик, ВТРезультат.Заказчик КАК Заказчик,
ВТРезультат.Заказчик.узКороткоеИмя КАК КороткоеИмяЗаказчик ВТРезультат.Заказчик.узКороткоеИмя КАК КороткоеИмяЗаказчик,
ЕСТЬNULL(ВТЧекЛист.Выполнено, 0) КАК ЧекЛистВыполнено,
ЕСТЬNULL(ВТЧекЛист.Всего, 0) КАК ЧекЛистВсего
ИЗ ИЗ
ВТРезультат КАК ВТРезультат ВТРезультат КАК ВТРезультат
ЛЕВОЕ СОЕДИНЕНИЕ ВТЗадачиСФайлами КАК ВТЗадачиСФайлами ЛЕВОЕ СОЕДИНЕНИЕ ВТЗадачиСФайлами КАК ВТЗадачиСФайлами
ПО ВТРезультат.Задача = ВТЗадачиСФайлами.Задача ПО ВТРезультат.Задача = ВТЗадачиСФайлами.Задача
ЛЕВОЕ СОЕДИНЕНИЕ ВТЗадачиСПисьмами КАК ВТЗадачиСПисьмами ЛЕВОЕ СОЕДИНЕНИЕ ВТЗадачиСПисьмами КАК ВТЗадачиСПисьмами
ПО ВТРезультат.Задача = ВТЗадачиСПисьмами.Задача</query> ПО ВТРезультат.Задача = ВТЗадачиСПисьмами.Задача
ЛЕВОЕ СОЕДИНЕНИЕ ВТЧекЛист КАК ВТЧекЛист
ПО ВТРезультат.Задача = ВТЧекЛист.Ссылка</query>
</dataSet> </dataSet>
<calculatedField> <calculatedField>
<dataPath>НомерЗадачиПредставление</dataPath> <dataPath>НомерЗадачиПредставление</dataPath>
@ -483,6 +530,12 @@
<dcsset:item xsi:type="dcsset:SelectedItemField"> <dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>КороткоеИмяЗаказчик</dcsset:field> <dcsset:field>КороткоеИмяЗаказчик</dcsset:field>
</dcsset:item> </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:selection>
<dcsset:filter> <dcsset:filter>
<dcsset:item xsi:type="dcsset:FilterItemComparison"> <dcsset:item xsi:type="dcsset:FilterItemComparison">