Show/Hide Toolbars

Руководство администратора

Методы для работы с ДП и основными параметрами задачи

Ссылки Назад Вверх Вперед

В карточке задачи вся бизнес-логика (проверка значений на корректность и т.п.) срабатывает при вызове метода save().

Вставки для работы с ДП оформляются следующим образом:

без использования jQuery

с использованием jQuery

в карточке задачи:

window.addEventListener('MTFMainLoadFinished', function() { JS-вставка})

в карточке задачи:

$window.on('MTFMainLoadFinished', function() { JS-вставка });

в карточке новой задачи:

window.addEventListener('NewTaskLoadFinished', function() { JS-вставка })

в карточке новой задачи:

$window.on('NewTaskLoadFinished', function() { JS-вставка });

warning_icon При переходе на новый МТФ для работы с карточкой задачи с использованием JS-вставки обязательно должно быть использовано событие MTFMainDestroyed. Для карточки создания новой задачи (НТФ) должно быть использовано событие 'NewTaskLoadFinished'. Подробнее

warning_icon В карточке новой задачи методы save() и update() недоступны, т.к. задача еще не существует (нет соответствующей записи в БД).

Если в JS-вставке для карточки задачи или для карточки создания новой задачи привязано событие change(), то callback-функция срабатывает на следующие пользовательские действия:

установка значения через кнопку выбора;
lookup_change

установка автодополнением (когда пользователь набирает в окне ввода часть значения и затем выбирает нужную запись из выпадающего списка, который автоматически предлагает ему система);
lookup_autocomplete

установка через .val("abc"), когда значение назначается в самой JS-вставке;

удаление значения с помощью значка удаления;
lookup_del

вызов ep.change().

Обращение к основным параметрам

В JS вставках в карточке задачи можно обращаться к номеру задачи — taskId, и статусу задачи — StateID.

ID пользователя, от имени которого ведется работа, доступно в SessionUserID.

warning_icon  Названия основных параметров регистрозависимые.

Методы для работы с ДП

Метод

Что делает

var ep = new ExtParam(1234)

Получает JS-объект для управления ДП с ID=1234 (обращения к jQuery или к DOM на данном этапе еще не производится, объект находится на стадии формирования)

ep.get()

Возвращает jQ-объект, содержащий ДП

ep.label()

Возвращает jQ-объект подписи

ep.label().html()

Возвращает текст подписи

ep.label("text")

Меняет текст подписи к ДП и возвращает jQ-объект

ep.show()

Показывает ДП и подпись и возвращает объект управления

ep.hide()

Скрывает ДП и подпись, а также и возвращает объект управления


ep.val()

Получает значение ДП

ep.textVal();

Получает значение ДП в текстовом виде

ep.val(param)

Устанавливает значение ДП, вызывает событие change

ep.getAvailableValues(handler)

Получает список возможных значений ДП Lookup и  Multilookup.

handler — метод, принимающий массив элементов типа { text, value }, где text — список текстов задач, а value — список ID задач

(см. пример использования)


ep.change()

Запускает обработчик change() для ДП.

warning_icon  Для ДП "Выпадающий список" и "Выпадающий список с редактированием" в режиме только для чтения событие, вызванное смарт-автоматизацией, запускается дважды. Чтобы отследить это в JS-вставке, можно проверять new ExtParam().val() – первый раз оно возвращает старое значение ДП, а второй раз новое.

warning_icon Если на карточке расположены два связанных ДП, доступных для редактирования, то при вызове обработчика change() для родительского ДП значение подчиненного ДП сбрасывается. Пример JS-вставки для работы со связанными ДП можно посмотреть здесь

ep.change(handler)

Подписывает на изменение ДП

ep.change(null)

Отписывает все обработчики на изменение ДП


ep.save()

Сохраняет изменения ДП на сервере

ep.save(handler)

Подписывает на сохранение ДП

ep.save(null)

Отписывает все обработчики на сохранение ДП


ep.update()

Обновляет ДП с сервера

ep.update(handler)

Подписывает на обновление ДП с сервера

ep.update(null)

Отписывает все обработчики на обновление ДП с сервера


(new ExtParam(1234)).val("123").save(handler).save().hide()

Если логика не предусматривает иного, то повторно возвращает объект управления ДП

SaveEPsWithIDs([1234, 1235])

Сохраняет все ДП по массиву индексов. Срабатывают триггеры на save() для каждого из ДП


ep.isHidden()

Принимает значение "true", если ДП нет на форме или он скрыт настройками категории

ep.freeze()

Делает ДП доступным только на чтение (принимает на вход значения "true" или "false")

ep.adaptDesign()

При установке значения "true" при скрытии/показе ДП верстка будет адаптироваться, при скрытии/показе ДП будет адаптироваться автоматически

warning_icon  Особенности работы со сквозными ДП:

ДП типа "Сквозной" создается методом new ExtParam(ID сквозного ДП). ID сквозного ДП формируется как строковое соединение ID текущего ДП и ID финального ДП. Например, если в категории есть сквозной ДП с ID=5555, который смотрит на ДП в другой категории с ID=9999, то для сквозного ДП ID будет равным 55559999. Если такой ДП уже существует в задаче, обертка сработает некорректно.

Таблица совместимости методов и типов ДП в карточке задачи

Методы, не указанные в таблице совместимости, работают для всех ДП.

Тип ДП

ep.val();

ep.val("text");

ep.save();

ep.update();

Флажок (checkbox)

green

green ("да"/"on"/true/1)

green

green

Дата

green

green

green

green

Дата и время

green

green

green

green

Файл

red

red

red

red

Lookup

green (ID задачи)

green (ID задачи)

green

green

Деньги

green

green

green

green

Выбор нескольких задач из категории (multilookup)

green (JSON массив ID задач)

green (JSON массив ID задач)

green

green

Нумератор

green

red

red

red

Число

green

green

green

green

Выпадающий список

green

green

green

green

Выбор нескольких задач из категории

green (ID задачи)

green (ID задачи)

green

green

Выбор пользователей

green (JSON массив)

red

green

green

Таблица

green (html таблица)

red

red

red

Текст

green

green (без шаблона номера телефона)

green

green

Большой текст с форматированием

green

green

green

green

Большой текст без форматирования

green

green

green

green

Сквозной

green

green

green

green

Дерево

red

red

red

red

URL

green

green

green

green