diff --git a/bin/ClockifyToBitrix24.epf b/bin/ClockifyToBitrix24.epf index 658deea..3f0794f 100644 Binary files a/bin/ClockifyToBitrix24.epf and b/bin/ClockifyToBitrix24.epf differ diff --git a/src/ClockifyToBitrix24/Ext/ObjectModule.bsl b/src/ClockifyToBitrix24/Ext/ObjectModule.bsl index 0c62b51..463e520 100644 --- a/src/ClockifyToBitrix24/Ext/ObjectModule.bsl +++ b/src/ClockifyToBitrix24/Ext/ObjectModule.bsl @@ -236,13 +236,13 @@ Функция Bitrix_Задача_ПолучитьИнформацию(URL, Вебхук, НомераЗадач, - ПолучитьНазваниеЗадачи = Истина, - ПолучитьОписаниеЗадачи = Ложь, - ПолучитьСтатусЗадачи = Ложь, - ПолучитьПостановщика = Ложь, - ПолучитьОтветственного = Ложь, - ПолучитьСоисполнителей = Ложь, - ПолучитьНаблюдателей = Ложь) Экспорт + ПолучитьНазваниеЗадачи = Истина, + ПолучитьОписаниеЗадачи = Ложь, + ПолучитьСтатусЗадачи = Ложь, + ПолучитьПостановщика = Ложь, + ПолучитьОтветственного = Ложь, + ПолучитьСоисполнителей = Ложь, + ПолучитьНаблюдателей = Ложь) Экспорт Если НЕ ТипЗнч(НомераЗадач) = Тип("Массив") Тогда Возврат Неопределено; @@ -272,6 +272,9 @@ Если ПолучитьНаблюдателей Тогда ТЗ.Колонки.Добавить("Наблюдатели"); КонецЕсли; + Если ПолучитьСтатусЗадачи Тогда + ТЗ.Колонки.Добавить("Завершена"); + КонецЕсли; МассивПолучаемыхПолей = Новый Массив; @@ -296,6 +299,7 @@ Если ПолучитьНаблюдателей Тогда МассивПолучаемыхПолей.Добавить("AUDITORS"); КонецЕсли; + СтрПолучаемыеПоля = СтрСоединить(МассивПолучаемыхПолей, "&select[]="); СтрНомераЗадач = СтрСоединить(НомераЗадач, "&filter[ID][]="); @@ -363,6 +367,10 @@ КонецЦикла; СтрТЗ.Наблюдатели = СтрСоединить(МассивФИОНаблюдатели, ", "); КонецЕсли; + Если ПолучитьСтатусЗадачи Тогда + СтрТЗ.Завершена = ЗадачаБитрикс.Получить("status") = "5"; + КонецЕсли; + КонецЦикла; diff --git "a/src/ClockifyToBitrix24/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/src/ClockifyToBitrix24/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" index 44a449b..cf51f7b 100644 --- "a/src/ClockifyToBitrix24/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" +++ "b/src/ClockifyToBitrix24/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -73,62 +73,96 @@ ДатаС + Left true - - ФильтрПоНевыгруженнымВБитрикс - None - Tumbler - - - - 0 - - - - ru - Все - - - 0 - - - - - 0 - - - - ru - Не выгруженные - - - 1 - - - - - - - ФильтрПоНевыгруженнымВБитриксПриИзменении - - - - БитриксСписокЗадач - false - 18 - false - true - true - - - - БитриксСписокЗадачПриИзменении - БитриксСписокЗадачАвтоПодбор - - + + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа фильтров затраченное время</v8:content> + </v8:item> + + + + ru + Группа фильтров затраченное время + + + AlwaysHorizontal + Usual + None + false + + + + ФильтрПоНевыгруженнымВБитрикс + None + Tumbler + + + + 0 + + + + ru + Все + + + 0 + + + + + 0 + + + + ru + Не выгруженные + + + 1 + + + + + + + ФильтрПоНевыгруженнымВБитриксПриИзменении + + + + БитриксСписокЗадач + Left + false + 18 + false + true + true + + + + БитриксСписокЗадачПриИзменении + БитриксСписокЗадачАвтоПодбор + + + + ФильтрПоЗавершеннымЗадачамБитрикс + Right + Auto + + + + ФильтрПоЗавершеннымЗадачамБитриксПриИзменении + + + + @@ -184,7 +218,7 @@ ru - Учтено в Б24 + Запись выгружена в Б24 EnterOnInput @@ -222,6 +256,23 @@ + + ЗатраченноеВремя.Завершена + + + ru + Битрикс задача в статусе завершена + + + Center + EnterOnInput + + HeaderPicture.png + false + + + + ЗатраченноеВремя.Дата EnterOnInput @@ -751,6 +802,17 @@ https://<you bitrix>.bitrix24.ru/company/personal/user/<user id>/ + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Завершена</v8:content> + </v8:item> + + + xs:boolean + + @@ -955,6 +1017,17 @@ https://<you bitrix>.bitrix24.ru/company/personal/user/<user id>/ + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Завершённые задачи</v8:content> + </v8:item> + + + xs:boolean + + diff --git "a/src/ClockifyToBitrix24/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Items/\320\227\320\260\321\202\321\200\320\260\321\207\320\265\320\275\320\275\320\276\320\265\320\222\321\200\320\265\320\274\321\217\320\227\320\260\320\262\320\265\321\200\321\210\320\265\320\275\320\260/HeaderPicture.png" "b/src/ClockifyToBitrix24/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Items/\320\227\320\260\321\202\321\200\320\260\321\207\320\265\320\275\320\275\320\276\320\265\320\222\321\200\320\265\320\274\321\217\320\227\320\260\320\262\320\265\321\200\321\210\320\265\320\275\320\260/HeaderPicture.png" new file mode 100644 index 0000000..7da9785 Binary files /dev/null and "b/src/ClockifyToBitrix24/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Items/\320\227\320\260\321\202\321\200\320\260\321\207\320\265\320\275\320\275\320\276\320\265\320\222\321\200\320\265\320\274\321\217\320\227\320\260\320\262\320\265\321\200\321\210\320\265\320\275\320\260/HeaderPicture.png" differ diff --git "a/src/ClockifyToBitrix24/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/src/ClockifyToBitrix24/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f043d43..836137b 100644 --- "a/src/ClockifyToBitrix24/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/src/ClockifyToBitrix24/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -40,6 +40,7 @@ ОчиститьСообщения(); ОчиститьЗатраченноеВремя(); ФильтрПоНевыгруженнымВБитрикс = 0; + ФильтрПоЗавершеннымЗадачамБитрикс = Ложь; Если НЕ ПроверитьЗаполнение() Тогда Возврат; @@ -50,7 +51,8 @@ ЗаполнитьБитриксСписокЗадач(); ПересчитатьПодвал(); УстановитьВидомостьОшибок(); - + УстановитьВидимостьГруппыФильтровЗатраченноеВремя(); + КонецПроцедуры &НаКлиенте @@ -224,6 +226,14 @@ КонецПроцедуры +&НаКлиенте +Процедура ФильтрПоЗавершеннымЗадачамБитриксПриИзменении(Элемент) + + ЗатраченноеВремяУстановитьОтборСтрок(); + ПересчитатьПодвал(); + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -248,13 +258,13 @@ Ошибки.Очистить(); - ТЗНазваниеЗадачБитрикс = НазваниеЗадачБитрикс(МассивНомеровЗадач); - Если НЕ ЗначениеЗаполнено(ТЗНазваниеЗадачБитрикс) Тогда + ИнформацияПоЗадачамБитрикс = ИнформацияПоЗадачамБитрикс(МассивНомеровЗадач); + Если НЕ ЗначениеЗаполнено(ИнформацияПоЗадачамБитрикс) Тогда СообщитьПользователю("В комментариях по затраченному времени Clockify, не указано ни одного номера задачи", Неопределено, Неопределено); Возврат; КонецЕсли; - МассивАктуальныхНомеровЗадач = ТЗНазваниеЗадачБитрикс.ВыгрузитьКолонку("НомерЗадачи"); + МассивАктуальныхНомеровЗадач = ИнформацияПоЗадачамБитрикс.ВыгрузитьКолонку("НомерЗадачи"); Для Каждого ClockifyДанные Из ClockifyДанныеПоЗатраченномуВремени Цикл @@ -290,10 +300,11 @@ СтрЗатраченоеВремя.УчтеноВБитрикс = ЗначениеЗаполнено(НайденноеВремяБитрикс); НомерЗадачи = СокрЛП(СтрРазделить(ClockifyДанные.description, " ", Ложь)[0]); - СтрТЗНазваниеЗадачБитрикс = ТЗНазваниеЗадачБитрикс.Найти(НомерЗадачи, "НомерЗадачи"); - Если НЕ СтрТЗНазваниеЗадачБитрикс = Неопределено Тогда - СтрЗатраченоеВремя.НомерЗадачи = СтрТЗНазваниеЗадачБитрикс.НомерЗадачи; - СтрЗатраченоеВремя.НазваниеЗадачи = СтрТЗНазваниеЗадачБитрикс.НазваниеЗадачи; + СтрИнформацияПоЗадачамБитрикс = ИнформацияПоЗадачамБитрикс.Найти(НомерЗадачи, "НомерЗадачи"); + Если НЕ СтрИнформацияПоЗадачамБитрикс = Неопределено Тогда + СтрЗатраченоеВремя.НомерЗадачи = СтрИнформацияПоЗадачамБитрикс.НомерЗадачи; + СтрЗатраченоеВремя.НазваниеЗадачи = СтрИнформацияПоЗадачамБитрикс.НазваниеЗадачи; + СтрЗатраченоеВремя.Завершена = СтрИнформацияПоЗадачамБитрикс.Завершена; КонецЕсли; КонецЦикла; @@ -563,16 +574,16 @@ КонецФункции &НаСервере -Функция НазваниеЗадачБитрикс(МассивНомеровЗадач) +Функция ИнформацияПоЗадачамБитрикс(МассивНомеровЗадач) - ТЗНазваниеЗадачБитрикс = Новый ТаблицаЗначений; + ИнформацияПоЗадачамБитрикс = Новый ТаблицаЗначений; Если ЗначениеЗаполнено(МассивНомеровЗадач) Тогда ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); - ТЗНазваниеЗадачБитрикс = ОбработкаОбъект.Bitrix_Задача_ПолучитьИнформацию(BitrixURL, Bitrix24WebHook, МассивНомеровЗадач, Истина); + ИнформацияПоЗадачамБитрикс = ОбработкаОбъект.Bitrix_Задача_ПолучитьИнформацию(BitrixURL, Bitrix24WebHook, МассивНомеровЗадач, Истина,,Истина); КонецЕсли; - Возврат ТЗНазваниеЗадачБитрикс; + Возврат ИнформацияПоЗадачамБитрикс; КонецФункции @@ -858,8 +869,19 @@ СтруктураПоиска.Вставить("УчтеноВБитрикс", Ложь); КонецЕсли; + Если ФильтрПоЗавершеннымЗадачамБитрикс Тогда + СтруктураПоиска.Вставить("Завершена", Истина); + КонецЕсли; + Элементы.ЗатраченноеВремя.ОтборСтрок = Новый ФиксированнаяСтруктура(СтруктураПоиска); КонецПроцедуры +&НаКлиенте +Процедура УстановитьВидимостьГруппыФильтровЗатраченноеВремя() + + Элементы.ГруппаФильтровЗатраченноеВремя.Доступность = ЗначениеЗаполнено(ЗатраченноеВремя); + +КонецПроцедуры + #КонецОбласти \ No newline at end of file