Сообщество LeaderTask

Ресурсы => Плагины => Разработка плагинов / Обсуждение API => Тема начата: Maks-jamo от 19 Сентября 2016, 12:31:11

Название: Работа с дополнитльными полями
Отправлено: Maks-jamo от 19 Сентября 2016, 12:31:11
Ребят, кто разобрался расскажите про них: как правильно добавить, где они появляются, вообще как с ними работать?
Пытаюсь добавить через AddinLT_Task_SetCustomField.
Выставляю в GetAdditionalTaskFieldVisibleAtTasks все время возвращать TRUE. т.е. чтобы наши поля были видимыми, но в самой программе их не могу найти...

В общем подскажите схему добавления и работы с доп. полями. и где они отображаются в основной программе
Название: Re: Работа с дополнитльными полями
Отправлено: Maks-jamo от 22 Сентября 2016, 11:38:55
Забавно. Доп поля сохраняются только в локальной версии Базы Данных, если обратиться к ним на другом компьютере получишь фигу.

P.S. Неужели затрачивая усилия на введение новых функций для плагинного API нельзя потрать еще каплю, чтобы объяснить как оно работает и для чего задумывалось. Думаю поэтому раздел Плагинов "мертвый". C таким API даже самый начинающий программист способен запилить что нибудь полезное, но тыкаться в потьмах определяя что функция может, а что нет это слишком :( Очень жаль
Название: Re: Работа с дополнитльными полями
Отправлено: Дмитрий Маслов от 14 Октября 2016, 12:30:29
Нужно указать сколько дополнительных полей вы используете с помощью функции GetAdditionalTaskFieldsCount - (вернуть например 3)
У каждого поля должен быть уникальный текстовый идентификатор (название) - программа будет запрашивать их у вас с помощью функции GetAdditionalTaskFieldUID - где на входе порядковый номер входа (если вы выше указали 3 то по порядку будет запрошено сначала 0, потом 1, потом 2)
Функция GetAdditionalTaskFieldVisibleAtTasks говорит в программе что нужно отображать столбец с данным параметром в списке задач, ширина столбца задается функцией GetAdditionalTaskFieldWidthAtTasks, если вы хотите отлавливать нажатия по столбцу то нада задать функцией GetAdditionalTaskFieldEditableAtTasks TRUE - при нажатии будет вызываться ExecuteAdditionalTaskField
У дополнительного поля надо задать заголовок - название GetAdditionalTaskFieldTitle (название столбца, или если вы ставите VisibleAtProps то название в свойствах задачи)
Также можно задать цвет у поля GetAdditionalTaskFieldColor
Эти все функции касаются отображения дополнительных полей в программе, значения можно не хранить, а например вычислять или запрашивать с сервера

Также для удобства мы сделали функцию AddinLT_Task_SetCustomField и AddinLT_Task_GetCustomField - это для того чтобы хранить данные в базе данных программы, а не как то самому организовывать хранение. С вышеописанными функциями они никак не связаны.
Данные хранятся локально и на сервер не передаются - такое пока только в планах

Эти функции по сути пока экспериментальные, да и направление по развитию плагинов пока у нас не приоритетное.