Перейти к содержанию

Смарт-действия

ℹ️ Символом * помечены обязательные параметры

Категории, задачи, связи

Ассоциировать задачу с ЛК

Ассоциирует задачу в "Первой Форме" с задачей в Личном кабинете (то же самое, что "Связать задачу с личным кабинетом")

Параметр Тип Описание
Задача* 1F.Task Задача в "Первой Форме"
Личный кабинет* 1F.CustomerZone Личный кабинет

Действие со встречей

Выполняет действие с календарным событием

Параметр Тип Описание
Ключ встречи* String Уникальный идентификатор встречи. Ключ может иметь форматы:
- Для пользователя, чей календарь синхронизируется с Exchange:
2157:AAMkAGY4MTUyNTA2LTNiYjMtNGJkNS1hYzMwLTExZDM5NmJkM2VmOABGAAAAAADRbVyYA/QbSaXy1Uq+II/rBwBWwaEeQic9QZatubGPOy5cAAAAAAENAABWwaEeQic9QZatubGPOy5cAACUTmMNAAA=
- Для пользователя, чей календарь не синхронизируется с Exchange и встреча создается из задачи:
1forma:{UserID}:{TaskID}, где UserID — ID пользователя, TaskID — Номер задачи. Пример: 1forma:2312:1322
Действие*
Выпадающий список действий со встречей. Возможные значения:
- Принять
- Отменить
- Под вопросом
- Отклонить
Доступ к календарю от имени пользователя 1F.User Выбор пользователя, от лица которого будет совершено действие в календаре. По умолчанию выбран системный пользователь (Робот)

ℹ️ По умолчанию у системного пользователя (Робота) нет доступа к календарю пользователей и режим синхронизации отключен. Рекомендуется указывать пользователя, обладающего соотвествующими правами. Это может быть организатор встречи, инициатор изменений и т.п.

ℹ️ Ключ встречи можно увидеть в адресной строке, если открыть её в новой вкладке

Добавить задачу в избранное

Добавляет задачу указанным пользователям в блок Избранное

Параметр Тип Описание
Кто добавляет* 1F.User Пользователь, от чьего имени выполняется действие
Кому добавляют* Collection<1F.User> Пользователи, которым добавляется задача.\ Если нужно указать группу, используйте смарт-выражение
Цвет* Integer Голубой — 1; Зеленый — 2; Изумрудный — 3; Желтый — 4; Фиолетовый — 5; Красный — 6
Задача* 1F.Task Задача в "Первой Форме"

Добавить комментарий в избранное

Добавляет комментарий указанным пользователям в блок Избранное

Параметр Тип Описание
Кто добавляет* 1F.User Пользователь, от чьего имени выполняется действие
Кому добавляют* Collection<1F.User> Пользователи, которым добавляется комментарий.\ Если нужно указать группу, используйте смарт-выражение
Цвет* Integer Цвет избранного. Доступные значения:
- Голубой — 1;
- Зеленый — 2;
- Изумрудный — 3;
- Желтый — 4;
- Фиолетовый — 5;
- Красный — 6
ID комментария* Integer ID комментария

Задать аватар задачи

Позволяет установить цвет и иконку для аватара задачи

Параметр Тип Описание
Задача* 1F.Task Пользователь, от чьего имени выполняется действие
Файл 1F.File ID файла с изображением, которое будет загружено в качестве аватара задачи
Цвет String Цвет аватара карточки задачи. Доступные значения:
- none — Цвет не выбран, по умолчанию аналогичен серому
- primary — Цвет бренда "Первой Формы", по умолчанию аналогичен синему
- red — Красный
- yellow — Желтый
- orange — Оранжевый
- green — Зеленый
- cyan — Бирюзовый
- blue — Синий
- purple — Фиолетовый
- pink — Розовый
- brown — Коричневый
- grey — Серый
Иконка String Название иконки из набора, которая будет отображаться в качестве аватара задачи. Набор доступен по адресу: /spa/content-icons

Запинить задачу

Задача (одна или несколько) добавляется в список чатов

Параметр Тип Описание
Номер задачи* Collection<1F.Task> Добавляемые задачи
Кому* Collection<1F.User> Пользователи, которые будут видеть эти задачи в списке своих чатов

ℹ️ Возможность выполнения действия ограничивается правами на категориюи доступна для подписчиков задачи или пользователей с правом "Администратор задачи".

Если задача принадлежит системной категории "Общение", то действие не выполняется, и ошибка фиксируется в журнале ошибок. При возникновении перечисленных выше ошибок для какой-то из обрабатываемых задач и для какого-то пользователя выполнение смарт-действия не прерывается, и обрабатываются остальные пользователи\задачи

Зашифровать задачу

Задача зашифровывается

Параметр Тип Описание
Задача* 1F.Task Задача, которая должна быть зашифрована
Пользователь* 1F.User Пользователь, который зашифровывает задачу

ℹ️ Шифрование работает только если в категории включен режим шифрования, иначе возвращается ошибка

Копировать задачу

Создает копию задачи (возвращает System.Data.Entity.Core.Objects.DataClasses.EntityCollection`1\TCClassLib.Orm.Task)

Параметр Тип Описание
Задача* 1F.Task Задача, которая должна быть скопирована
Категория* 1F.Subcat Категория, в которой будет создана копия
Копировать подписчиков* Boolean Если параметр активен, то все подписчики текущей задачи будут подписаны и к создаваемой копии
Копировать вложения* Boolean Если параметр активен, то файлы, вложенные в текущую задачу, будут вложены в создаваемую копию

ℹ️ В созданную копию попадут только те ДП, которые отображаются в карточке создания задачи. Если ДП при постановке не отображаются, то они не будут скопированы.

Найти встречи в периоде

Возвращает встречи пользователя в указанном периоде

Параметр Тип Описание
Владелец календаря* 1F.User Пользоваель, в календаре которого необходимо найти встречи
C* DateTime Начало периода, с которого нужно найти встречи
По* DateTime Конец периода, по который нужно найти встречи
Доступ к календарю от имени пользователя 1F.User Выбор пользователя, от лица которого будет совершено действие в календаре. По умолчанию выбран системный пользователь (Робот)

ℹ️ По умолчанию у системного пользователя (Робота) нет доступа к календарю пользователей и режим синхронизации отключен. Рекомендуется указывать пользователя, обладающего соотвествующими правами. Это может быть организатор встречи, инициатор изменений и т.п.

Найти встречу по задаче

Находит встречу по связанной с ней задаче

Параметр Тип Описание
Организатор* 1F.User Пользователь, от имени которого организована встреча
Привязать задачу* 1F.Task Задача, из которой была запланирована встреча
Доступ к календарю от имени пользователя 1F.User Выбор пользователя, от лица которого будет совершено действие в календаре. По умолчанию выбран системный пользователь (Робот)

ℹ️ По умолчанию у системного пользователя (Робота) нет доступа к календарю пользователей и режим синхронизации отключен. Рекомендуется указывать пользователя, обладающего соотвествующими правами. Это может быть организатор встречи, инициатор изменений и т.п.

Обновить встречу

Обновляет параметры в календарном событии

Параметр Тип Описание
Ключ встречи* String Уникальный идентификатор встречи. Ключ может иметь форматы:
- Для пользователя, чей календарь синхронизируется с Exchange:
2157:AAMkAGY4MTUyNTA2LTNiYjMtNGJkNS1hYzMwLTExZDM5NmJkM2VmOABGAAAAAADRbVyYA/QbSaXy1Uq+II/rBwBWwaEeQic9QZatubGPOy5cAAAAAAENAABWwaEeQic9QZatubGPOy5cAACUTmMNAAA=
- Для пользователя, чей календарь не синхронизируется с Exchange и встреча создается из задачи:
1forma:{UserID}:{TaskID}, где UserID — ID пользователя, TaskID — Номер задачи. Пример: 1forma:2312:1322
Участники Collection<1F.User> Пользователи-участники встречи
Начало DateTime Интервал "С" — время, в которое начнётся встреча
Конец DateTime Интервал "По" — время, в которое закончится встреча
Место String Место встречи
Тема String Тема встречи
Html Boolean Если настройка активна, описание встречи будет в фрмате "Html" , если нет — то в текстовом формате.
Тело String Описание встречи
Привязать задачу Boolean Задача в "Первой Форме". Будет отображена в поле "Связано с"
Статус встречи String Статус встречи. Возможные значения:
- Свободен
- Под вопросом
- Занят
- Под вопросом
Доп. email адреса участников String Дополнительные адреса электронной почты участников встречи. Содержимое добавляется строкой к полю "Участники встречи" во все созданные календарные задачи. При этом новые встерчи не создаются, так как у них нет заказчиков-пользователей.
Доступ к календарю от имени пользователя 1F.User Выбор пользователя, от лица которого будет совершено действие в календаре. По умолчанию выбран системный пользователь (Робот)

ℹ️ По умолчанию у системного пользователя (Робота) нет доступа к календарю пользователей и режим синхронизации отключен. Рекомендуется указывать пользователя, обладающего соотвествующими правами. Это может быть организатор встречи, инициатор изменений и т.п.

ℹ️ Ключ встречи можно увидеть в адресной строке, если открыть её в новой вкладке

Отпинить задачу

Задача (одна или несколько) удаляется из списка чатов

Параметр Тип Описание
Номер задачи* Collection<1F.Task> Удаляемые задачи
Кому* Collection<1F.User> Пользователи, которые больше не будут видеть эти задачи в списке своих чатов

ℹ️ Примечание

Если пользователь не является подписчиком задачи, то действие не выполняется, и ошибка фиксируется в журнале ошибок.

Если задача принадлежит системной категории "Общение", то действие также не выполняется, и ошибка фиксируется в журнале ошибок.

При возникновении перечисленных выше ошибок для какой-то из обрабатываемых задач и для какого-то пользователя выполнение смарт-действия не прерывается, и обрабатываются остальные пользователи\задачи

Перенести задачу

Переносит задачу в указанную категорию

Параметр Тип Описание
Категория* 1F.Subcat Целевая категория (куда должна быть перенесена задача)
Задача* Collection<1F.Task> Одна или несколько задач, которые должны быть перенесены
Кто переносит* 1F.User Пользователь, от чьего имени выполняется действие
Писать "тихий" комментарий (без адресата) Boolean Такой комментарий не имеет адресатов и не увеличивает счетчик индикатора непрочитанных комментариев у подписчиков задачи. "Тихий" комментарий всегда прочитывается автоматически и не отправляет push-уведомления, независимо от настроек уведомлений.

ℹ️ Пакет с данным смарт-действием будет выполняться только в исходной категории. Например, если пакет выполняется перед или после наступления какого-либо события, и в обеих категориях (исходной и целевой) для данного события настроена автоматизация, она будет выполняться только в исходной категории

Получить встречу

Возвращает все поля встречи по её ключу — используется в Lua смартах

Параметр Тип Описание
Ключ встречи* String Уникальный идентификатор встречи. Ключ может иметь форматы:
- Для пользователя, чей календарь синхронизируется с Exchange:
2157:AAMkAGY4MTUyNTA2LTNiYjMtNGJkNS1hYzMwLTExZDM5NmJkM2VmOABGAAAAAADRbVyYA/QbSaXy1Uq+II/rBwBWwaEeQic9QZatubGPOy5cAAAAAAENAABWwaEeQic9QZatubGPOy5cAACUTmMNAAA=
- Для пользователя, чей календарь не синхронизируется с Exchange и встреча создается из задачи:
1forma:{UserID}:{TaskID}, где UserID — ID пользователя, TaskID — Номер задачи. Пример: 1forma:2312:1322
Доступ к календарю от имени пользователя 1F.User Выбор пользователя, от лица которого будет совершено действие в календаре. По умолчанию выбран системный пользователь (Робот)

ℹ️ По умолчанию у системного пользователя (Робота) нет доступа к календарю пользователей и режим синхронизации отключен. Рекомендуется указывать пользователя, обладающего соотвествующими правами. Это может быть организатор встречи, инициатор изменений и т.п.

ℹ️ Ключ встречи можно увидеть в адресной строке, если открыть её в новой вкладке

Связать задачи

Устанавливает связь между двумя задачами

Параметр Тип Описание
Пользователь* 1F.User Пользователь, от чьего имени выполняется действие
Задача* 1F.Task Первая задача
Задача* 1F.Task Вторая задача
Сделать задачу не связанной, а дочерней* Boolean Если параметр активен, то первая задача станет родительской, а вторая дочерней.
Если параметр неактивен, то задачи станут связанными
Тип связи в проекте Integer Возможные значения:
- Без зависимости = 0
- Начало — начало = 1
- Начало — окончание = 2
- Окончание — начало = 3
- Окончание — окончание = 4

ℹ️ Установить связь можно только от имени пользователя, который имеет права доступа к обеим задачам. Можно устанавливать связь действие от имени системного пользователя systemrobot, который имеет максимальные права.

Связать задачу с личным кабинетом

Связывает задачу в "Первой Форме" с задачей в Личном кабинете

Параметр Тип Описание
Задача* 1F.Task Задача в "Первой Форме"
Идентификатор личного кабинета 1F.CustomerZone Личный кабинет

Создать задачу

Создает задачу или подзадачу

Параметр Тип Описание
Заказчик* 1F.User Заказчик создаваемой задачи
Категория* 1F.Subcat Категория, в которой создается задача
Текст String Текст создаваемой задачи
Сделать связанной* Boolean Если параметр активен, то создаваемая задача будет связана с текущей задачей линейной связью
Сделать подзадачей* Boolean Если параметр активен, то создаваемая задача станет подзадачей к текущей задаче
Исполнители Collection<1F.User> Исполнители создаваемой задачи
Срок DateTime Срок создаваемой задачи
Дата начала работ DateTime Дата начала работ по создаваемой задаче
Копировать подписчиков из родительской* Boolean Если параметр активен, то все подписчики текущей задачи будут подписаны и к создаваемой задаче
Копировать вложения* Boolean Если параметр активен, то файлы, вложенные в текущую задачу, будут вложены в создаваемую задачу.
Включать текст исходной* Boolean Если параметр активен, то текст исходной задачи будет добавлен к тексту создаваемой задачи
Приоритет* Integer Возможные значения:
- низкий приоритет = 0
- обычный = 1
- высокий = 3
Уведомить Collection<1F.User> Пользователи, которых необходимо уведомить о создании задачи
Подписать Collection<1F.User> Пользователи, которых надо подписать к создаваемой задаче
Каждому исполнителю отдельную копию* Boolean Если параметр активен, то каждому исполнителю будет поставлена отдельная задача
Создать ссылки на вложения Boolean Если параметр активен, то файлы не будут вложены в задачу, а на них будут созданы ссылки
Вложить письмо файлом Boolean Если параметр активен, то в созданную задачу будет вложен файл письма в формате eml. В карточке задачи файл появится в блоке "Файлы" во вкладке "Письма" .
Конфиденциальность Boolean Если параметр активен, то у задачи устанавливается признак конфиденциальности
Связать от имени 1F.User Пользователь, от имени которого устанавливается связь между задачами. Если оставлено пустое значение, связь устанавливается от имени заказчика создаваемой задачи.
От чьего имени совершается действие 1F.User Сессионный пользователь, от имени которого будет создана задача. Не является заказчиком

ℹ️ Если при создании задачи заполняются ДП и хотя бы один ДП заполняется смарт-выражением, которое возвращает список ID элементов, то будет создано столько задач, сколько элементов в списке. Подробнее см. здесь

Создать встречу

Создает календарное событие

Параметр Тип Описание
Организатор* 1F.User Пользователь, от имени которого будет организована встреча
Участники Collection<1F.User> Пользователи-участники встречи
Начало* DateTime Интервал "С" — время, в которое начнётся встреча
Конец* DateTime Интервал "По" — время, в которое закончится встреча
Место String Место встречи
Тема* String Тема встречи
Html* Boolean Если настройка активна, описание встречи будет в фрмате "Html" , если нет — то в текстовом формате.
Тело* String Описание встречи
Привязать задачу 1F.Task Задача в "Первой Форме". Будет отображена в поле "Связано с"
Статус встречи*
Статус встречи. Возможные значения:
- Свободен
- Под вопросом
- Занят
- Нет на месте
- Работаю в другом месте
- Нет данных
Проверять привязанную задачу перед созданием* Boolean Параметр отвечает за проверку на существование уже привязанных к задаче встреч во избежание дублей. Если настройка активна и связанная ранее задача существует — смарт не будет создавать новую встречу, а вернет идентификатор существующей.
Доп. email адреса участников String Дополнительные адреса электронной почты участников встречи. Содержимое добавляется строкой к полю "Участники встречи" во все созданные календарные задачи. При этом новые встерчи не создаются, так как у них нет заказчиков-пользователей.
Доступ к календарю от имени пользователя 1F.User Выбор пользователя, от лица которого будет совершено действие в календаре. По умолчанию выбран системный пользователь (Робот)

ℹ️ По умолчанию у системного пользователя (Робота) нет доступа к календарю пользователей и режим синхронизации отключен. Рекомендуется указывать пользователя, обладающего соотвествующими правами. Это может быть организатор встречи, инициатор изменений и т.п.

Удалить аватар задачи

Удаляет аватар задачи

Параметр Тип Описание
Задча* 1F.Task Задача, в которой удаляется настроенный цвет и иконка аватара. После удаления будет установлен стандартный аватар задачи

Удалить встречу

Удаляет встречу из календаря

Параметр Тип Описание
Ключ встречи* String Уникальный идентификатор встречи. Ключ может иметь форматы:
- Для пользователя, чей календарь синхронизируется с Exchange:
2157:AAMkAGY4MTUyNTA2LTNiYjMtNGJkNS1hYzMwLTExZDM5NmJkM2VmOABGAAAAAADRbVyYA/QbSaXy1Uq+II/rBwBWwaEeQic9QZatubGPOy5cAAAAAAENAABWwaEeQic9QZatubGPOy5cAACUTmMNAAA=
- Для пользователя, чей календарь не синхронизируется с Exchange и встреча создается из задачи:
1forma:{UserID}:{TaskID}, где UserID — ID пользователя, TaskID — Номер задачи. Пример: 1forma:2312:1322
Доступ к календарю от имени пользователя 1F.User Выбор пользователя, от лица которого будет совершено действие в календаре. По умолчанию выбран системный пользователь (Робот)

ℹ️ По умолчанию у системного пользователя (Робота) нет доступа к календарю пользователей и режим синхронизации отключен. Рекомендуется указывать пользователя, обладающего соотвествующими правами. Это может быть организатор встречи, инициатор изменений и т.п.

ℹ️ Ключ встречи можно увидеть в адресной строке, если открыть её в новой вкладке

Удалить задачу из избранного

Удаляет задачу из блока Избранное у указанных пользователей

Параметр Тип Описание
Кому удаляют* Collection<1F.User> Пользователи, у которых удаляется задача.\ Если нужно указать группу, используйте смарт-выражение
Задача* 1F.Task Задача в "Первой Форме"

Удалить комментарий из избранного

Удаляет комментарий из блока Избранное у указанных пользователей

Параметр Тип Описание
Кому удаляют* Collection<1F.User> Пользователи, у которых удаляется комментарий.\ Если нужно указать группу, используйте смарт-выражение
ID комментария* Integer ID комментария

Удалить связь между задачами

Разрывает связь между задачами

Параметр Тип Описание
Задача* 1F.Task Задачи, между которыми существует связь
Другая задача* 1F.Task
Кто разрывает* 1F.User Пользователь, от чьего имени выполняется действие
Писать "тихий" комментарий (без адресата) Boolean Такой комментарий не имеет адресатов и не увеличивает счетчик индикатора непрочитанных комментариев у подписчиков задачи. "Тихий" комментарий всегда прочитывается автоматически и не отправляет push-уведомления, независимо от настроек уведомлений.

Оповещения

Вызвать диалоговое окно

Вызывает диалоговое окно

Параметр Тип Описание
Задача* 1F.Task Задача, в которой будет вызвано окно
Получатели (пользователи)* Collection<1F.User> Строка с email-адресами получателей письма. Eсли получателей несколько, то email-адреса перечисляются через запятую
Тип уведомления*
Возможные значения:
- Ошибка
- Успех
- Информирование (Временно не используется)
Заголовок сообщения String Текст заголовка сообщения
Сообщение String Текст сообщения

Отображение диалогового окна в пользовательском интерфейсе

Вызывает снекбар

Параметр Тип Описание
Задача 1F.Task Задача, в которой будет вызван снекбар. Параметр необязательный, что позволяет осуществлять вызов снекбара без привязки к конкретной задаче. При выполнении действия, в котором отсутствует идентификатор задачи, снекбар с соответствующим текстовым сообщением отображается для указанных пользователей независимо от их текущего местоположения в интерфейсе
Получатели (пользователи)* Collection<1F.User> Пользователи — получатели снекбара
Сообщение String Текст сообщения

Отображение снекбара в пользовательском интерфейсе

Создает и отправляет электронное письмо. Действие выполняется от имени указанного пользователя с его пользовательскими настройками почтового провайдера

Параметр Тип Описание
Email отправителя* String Строка с email-адресом, с которого будет отправлено письмо
Получатели* String Строка с email-адресами получателей письма. Eсли получателей несколько, то email-адреса перечисляются через запятую
СС String Строка с email-адресами получателей копии письма. Eсли получателей несколько, то email-адреса перечисляются через запятую
Тема* String Тема письма
Текст письма* String Текст письма
Вложения Collection<1F.File> Файлы, вложенные в письмо
Каждому адресату отдельное письмо Boolean Если параметр активен, то отправляется отдельное письмо каждому получателю. Получатели, указанные в параметре CC, добавляются в копию каждого письма
Преобразовывать base64 картинки во вложения Boolean По умолчанию включено.
Если настройка отключена, в теле письма будет отправлено изображение, а не ссылка на вложение.
Id email report Integer Существующий отчет, который будет вложен в текст письма в виде html версии.
В качестве значения из выпадающего выбирается один из отчетов FastReport
Параметры отчета String Параметры выбранного отчета. Значения станут доступны для заполнения после того, как в параметре Id email report будет выбран отчет

ℹ️ Для отправки почтового сообщения в Общих настройках приложения должен быть включен флажок "Разрешена работа с почтой".

Отправить email на группу

Создает и отправляет электронное письмо

Параметр Тип Описание
Email отправителя* String Строка с email-адресом, с которого будет отправлено письмо
Группы получателей* String Строка с ID групп, участники которых являются получателями письма. Eсли групп несколько, то они ID перечисляются через запятую
СС String Строка с email-адресами получателей копии письма. Eсли получателей несколько, то email-адреса перечисляются через запятую
Тема* String Тема письма
Текст письма* String Текст письма
Вложения Collection<1F.File> Файлы, вложенные в письмо
Использовать внешние Email адреса Boolean Если параметр активен, то используются внешние email-адреса из профилей пользователей, если выключен — внутренние
Каждому адресату отдельное письмо Boolean Если параметр активен, то отправляется отдельное письмо каждому получателю. Получатели, указанные в параметре CC, добавляются в копию каждого письма

ℹ️ Для отправки почтового сообщения в Общих настройках приложения должен быть включен флажок Разрешена работа с почтой.

Отправить push-сообщение

Отправляет push-сообщение

Параметр Тип Описание
ID категории 1F.Subcat Категория
Кому Collection<1F.User> Пользователи, которым направляется пуш-сообщение
Сообщение String Текст сообщения
Если выбрано значение "Оставить пустым", то push-сообщение не отправляется;
если выбрано значение "Фиксированное значение" и при этом само значение не задано (поле пустое), то push-сообщение отправляется
Счетчик Integer Произвольное значение, которое будет отображаться в пуш-сообщении (на iOS).
Если выбрано значение "Оставить пустым", то push-сообщение не отправляется;
если выбрано значение "Фиксированное значение" и при этом само значение не задано (поле пустое), то push-сообщение отправляется
Звук Integer Номер мелодии (список и порядок доступных мелодий можно посмотреть в в Профиле пользователя).
Если значение не задано, то будет использованы настройки по умолчанию для данного пользователя
Тихий пуш* Boolean Если параметр активен, то передаваемое push-сообщение будет содержать параметр "content-available":1
Если параметр неактивен, то передаваемое сообщение вообще не будет содержать параметр "content-available"
ID задачи Integer Задача, к которой относится уведомление
Кастомные параметры пуша String Произвольное количество пар "ключ-значение".
Чтобы добавить новый ключ, введите его имя и нажмите кнопку Добавить. Отобразится поле для задания значения этого ключа. Имя ключа необходимо задавать как строку, а значение — либо фиксированную строку, либо смарт-выражение, возвращающее строку.
Приоритет Integer Приоритет сообщения. Возможные значения:
- 0 — низкий,
- 1 — обычный,
- 3 — высокий
Push-токен String Список токенов, на которые отправляется пуш-сообщение (через запятую).
С помощью токена можно отправить сообщение на конкретное устройство пользователя.
Актуальные токены для пользователей можно получить по таблице PushDeviceTokens в БД

ℹ️ Адресат пуш-сообщения определяется либо в поле Кому, либо в поле Push-токен. Должно быть обязательно заполнено хотя бы одно из этих полей

Отправить SMS

Отправляет SMS

Параметр Тип Описание
Номер* String 10-значный номер (можно без префикса +7 или 8)
- в виде строки цифр (в кавычках или без), если номер задается смарт-выражением,
- в формате \"9161234567"\, если номер задается фиксированным значением
Текст* String Текст сообщения
Провайдер Integer ID провайдера СМС, через которого отправляется оповещение. Если не указан, то используется провайдер, указанный в Общих настройках приложения в параметре "Сервис отправки СМС"

Отправить voip push-сообщение

Отправляет voip push-сообщение

Параметр Тип Описание
Кому* Collection<1F.User> Пользователи, которым направляется пуш-сообщение
ID задачи Integer Задача, к которой относится уведомление
Кастомные параметры пуша String Произвольное количество пар "ключ-значение".
Чтобы добавить новый ключ, введите его имя и нажмите кнопку Добавить. Отобразится поле для задания значения этого ключа. Имя ключа необходимо задавать как строку, а значение — либо фиксированную строку, либо смарт-выражение, возвращающее строку.

Отправить комментарий

Отправляет сообщение в ленту задачи

Параметр Тип Описание
Автор* 1F.User Пользователь, от чьего имени будет отправлен комментарий
Текст* String Текст комментария
Задача* 1F.Task Задача, в которой будет опубликован комментарий
Получатели (пользователи) Collection<1F.User> Пользователи — получатели комментария
Получатели (группы) Collection<1F.UserGroup> Группы пользователей — получатели комментария
Принудительно на почту* Boolean Если параметр активен, то комментарий отправляется также по электронной почте.
Письмо будет отправлено с почтового ящика пользователя, указанного в поле "Автор" + SMS* Boolean
Если параметр активен, то комментарий отправляется также по SMS на телефонные номера, указанные в профилях получателей.
Не подписывать адресатов к задаче* Boolean Если параметр неактивен, то все получатели будут подписаны к задаче
Текст в формате HTML
(Утаревшее, не используется) Boolean Если параметр активен, то при обработке комментария  будут корректно распознаваться теги в тексте
Пометить как вопрос Boolean Если параметр активен, то комментарий будет помечен как вопрос
Копия (пользователи) Collection<1F.User> Пользователи, которые будут указаны не как прямые адресаты, а как получатели копии комментария
Тип комментария
Соответствует типу комментария
Если тип комментария не указан, будет отправлен обычный пользовательский комментарий (типы комментариев можно посмотреть в разделе Справочной информации)
Видим в ленте только для настоящих адресатов Boolean Если параметр активен, комментарий будет отображаться в ленте только у тех пользователей, которые указаны в качестве адресатов (как пользователи или в составе групп).
Если параметр неактивен, комментарий будет виден всем подписчикам задачи, но будет он отображаться в ленте или нет -- зависит от их персональных настроек уведомлений
Тихий комментарий Boolean Такой комментарий не имеет адресатов и не увеличивает счетчик индикатора непрочитанных комментариев у подписчиков задачи. "Тихий" комментарий всегда прочитывается автоматически и не отправляет push-уведомления, независимо от настроек уведомлений.
RealUserId Integer Если параметр активен, то при отправке комментария в comments будет передано значение RealUserId. Если значение не указано, будет передано значение null
Тихий пуш Boolean Если параметр активен, то передаваемое push-сообщение будет содержать параметр "content-available":1;
Если параметр неактивен, то передаваемое сообщение вообще не будет содержать параметр "content-available"
Кастомные параметры пуша String Произвольное количество пар "ключ-значение".
Чтобы добавить новый ключ, введите его имя и нажмите кнопку Добавить. Отобразится поле для задания значения этого ключа. Имя ключа необходимо задавать как строку, а значение — либо фиксированную строку, либо смарт-выражение, возвращающее строку.
Файлы Collection<1F.File> Файлы, вложенные в комментарий
В ответ на комментарий Integer Сообщение будет отправлено как ответ на указанный комментарий. Параметр принимает ID комментария
Тред Integer Сообщение будет отправлено в сущестующее обсуждение. Параметр принимает ID комментария, из которого было инициировано обсуждение
Отображать найденные ссылки Boolean По умолчанию все ссылки, найденные в тексте комментария, автоматически скрываются. При явном изменении параметра на "true" все ссылки, обнаруженные в комментарии, будут отображаться. По умолчанию установлен в значение "false"

ℹ️ Для получения пуш-уведомления в МП отправитель должен обладать правом просмотра задачи, в которой будет опубликован комментарий

Отправить сигнал

Сигнализирует о входе в комнату ВКС

Параметр Тип Описание
Пользователь* String Пользователь — получатель сигнала
Текст* String Текст сигнала
Тип сигнала* String Тип сигнала — любое необходимое название события

Отправить системный email

Отправляет почтовое сообщение. В отличие от действия Отправить email выполняется в отельном классе рассылок служебных писем из "Первой Формы" с проверкой валидности системного почтового ящика и настроек всех разрешений

Параметр Тип Описание
Тема* String Тема письма
Текст письма* String Текст письма
Получатели* String Строка с email-адресами получателей письма.
Eсли получателей несколько, то email-адреса перечисляются через запятую
СС String Строка с email-адресами получателей копии письма.
Eсли получателей несколько, то email-адреса перечисляются через запятую
Email отправителя* String Строка с email-адресом, с которого будет отправлено письмо.
Вложения Collection<1F.File> Файлы, вложенные в письмо
Каждому адресату отдельное письмо Boolean Если параметр активен, то отправляется отдельное письмо каждому получателю. Получатели, указанные в параметре CC, добавляются в копию каждого письма
Id email report Integer Существующий отчет, который будет вложен в текст письма в виде html версии.
В качестве значения из выпадающего выбирается один из отчетов FastReport
Параметры отчета String Параметры выбранного отчета. Значения станут доступны для заполнения после того, как в параметре Id email report будет выбран отчет

ℹ️ Для отправки почтового сообщения в Общих настройках приложения должен быть включен флажок "Разрешена работа с почтой".

Отправить уведомление пользователю

В веб-клиент пользователя отправляется текстовое сообщение и показывается стандартное окно сообщения

Параметр Тип Описание
Пользователь* 1F.User Пользователь — получатель уведомления
Текст* String Выражение JSON для описания действия. Поддерживаемые типы:
- OpenTask — открыть карточку задачи. Пример: { "type": "OpenTask", "taskId": 12345 } - OpenUrl — открыть URL в браузере. Пример: { "type": "OpenUrl", "url": "https://example.com" } - InsertText — вставить текст в поле ввода чата для конкретной задачи. Текст подставляется в поле ввода, но не отправляется автоматически — пользователь может отредактировать его перед отправкой. Пример: { "type": "InsertText", "taskId": 12345, "text": "Предлагаемый текст ответа" }

ℹ️ Для работы смарт-действия необходимы интеграция с телефонией и настроенная инфраструктура Signal-R

Создать напоминание о задаче

Создает напоминание о задаче

Параметр Тип Описание
Задача* 1F.Task Задача, в которой создается напоминание
Пользователь* 1F.User Пользователь, которому отправляется напоминание
Дата* DateTime Дата и время напоминания
Текст* String Текст напоминания
Уведомить по SMS* Boolean Если параметр активен, то комментарий отправляется также по SMS на телефонный номер, указанный в профиле пользователя.
Создать копию в Outlook* Boolean Если параметр активен, то в календаре Outlook будет создано такое же напоминание
Получатели (пользователи) Collection<1F.User> Пользователи — получатели напоминания.
Если не указаны, то напоминание отправляется без конкретного адресата, т.е. всем подписчикам задачи

Заказчики, исполнители, подписчики

Добавить группу исполнителей

Добавляет группу пользователей в исполнители задачи

Параметр Тип Описание
Кто* 1F.User Пользователь, от имени которого выполняется действие
Кого (группа)* Collection<1F.UserGroup> Одна или несколько групп пользователей, участники которых добавляются в исполнители
Задача* 1F.Task Задача, в которую добавляются исполнители
Не слать письмо* Boolean Если параметр активен, то email с сообщением о добавлении исполнителей не отправляется
Не писать комментарий* Boolean Если параметр активен, то комментарий о добавлении исполнителей в задаче будет отправлен только автору действия

ℹ️ Для отправки почтового сообщения в Общих настройках приложения должен быть включен флажок "Разрешена работа с почтой"

Добавить группу подписчиков

Добавляет группу пользователей в подписчики задачи

Параметр Тип Описание
Кто* 1F.User Пользователь, от имени которого выполняется действие
Кого* Collection<1F.UserGroup> Одна или несколько групп пользователей, участники которых добавляются в подписчики
Задача* 1F.Task Задача, в которую добавляются подписчики
Писать "тихий" комментарий (без адресата) Boolean Такой комментарий не имеет адресатов и не увеличивает счетчик индикатора непрочитанных комментариев у подписчиков задачи. "Тихий" комментарий всегда прочитывается автоматически и не отправляет push-уведомления, независимо от настроек уведомлений.
Не писать комментарий Boolean Если параметр активен, то комментарий о добавлении подписчиков в задаче будет отправлен только автору действия

Добавить исполнителя

Добавляет пользователей в исполнители задачи

Параметр Тип Описание
Кто* 1F.User Пользователь, от имени которого выполняется действие
Кого* Collection<1F.User> Один или несколько пользователей, которые добавляются в исполнители
Задача* 1F.Task Задача, в которую добавляются исполнители
Не слать письмо* Boolean Флажок регламентирует отправку письма в случае написания комментария о назначении исполнителя.
Письмо о назначении исполнителя уходит пользователю только в том случае, если выполняются все перечисленные ниже условия:
- у пользователя включены уведомления о назначении исполнителей
- у пользователя включены уведомления на почту
- в смарт-действии не включен флажок "Не писать комментарий"
Не писать комментарий* Boolean Если параметр активен, то комментарий о добавлении исполнителей в задаче будет отправлен только автору действия
Ресурс 1F.Task Задача из системной категории "Справочник ресурсов".
Если параметр не заполнен, то система будет пытаться автоматически подобрать исполнителю ресурс: будут просматриваться записи из системного справочника ресурсов (раздел "Системный", категория "Справочник ресурсов") в поисках ресурса с данным исполнителем (сначала проверяются основные исполнители, затем дополнительные);
если такой ресурс не найден, то будет использоваться ресурс "по умолчанию", где в дополнительных исполнителях указана системная группа "Пользователи"

ℹ️ Для отправки почтового сообщения в Общих настройках приложения должен быть включен флажок "Разрешена работа с почтой"

Подписчики

Добавляет группу пользователей в подписчики задачи

Параметр Тип Описание
Кто* 1F.User Пользователь, от имени которого выполняется действие
Кого* Collection<1F.User> Один или несколько пользователей, которые добавляются в подписчики
Задача* 1F.Task Задача, в которую добавляются подписчики
Не писать комментарий* Boolean Если параметр активен, то комментарий о добавлении подписчиков в задаче будет отправлен только автору действия

Изменить заказчика

Меняет заказчика задачи

Параметр Тип Описание
Задача* 1F.Task Задача, в которой меняется заказчик
Кто* 1F.User Пользователь, от имени которого выполняется действие
Кого* 1F.User Пользователь, который назначается заказчиком
Писать "тихий" комментарий (без адресата) Boolean Такой комментарий не имеет адресатов и не увеличивает счетчик индикатора непрочитанных комментариев у подписчиков задачи. "Тихий" комментарий всегда прочитывается автоматически и не отправляет push-уведомления, независимо от настроек уведомлений.

ℹ️ Действие при событии "Перед переносом задачи из категории" применяется в той категории, в которую переносится задача

Назначить заместителя

Назначает для пользователя заместителя на период

Параметр Тип Описание
Кто назначает* 1F.User Пользователь, от имени которого выполняется действие
Заместитель* 1F.User Пользователь, который назначается заместителем
Замещаемый* 1F.User Пользователь, для которого назначается заместитель
С DateTime Дата и время начала периода замещения
По DateTime Дата и время окончания периода замещения

Назначить ответственным

Назначает пользователя ответственным исполнителем в задаче

Параметр Тип Описание
Задача* 1F.Task Задача, в которой назначается ответственный исполнитель
Кто* 1F.User Пользователь, от имени которого выполняется действие
Кого* 1F.User Пользователь, который назначается ответственным исполнителем

Удалить всех исполнителей

Удаляет всех исполнителей в задаче

Параметр Тип Описание
Кто удаляет* 1F.User Пользователь, от имени которого выполняется действие
Задача* 1F.Task Задача, в которой удаляются исполнители
Не слать письмо* Boolean Если параметр активен, то email с сообщением о добавлении исполнителей не отправляется
Писать "тихий" комментарий (без адресата) Boolean Такой комментарий не имеет адресатов и не увеличивает счетчик индикатора непрочитанных комментариев у подписчиков задачи. "Тихий" комментарий всегда прочитывается автоматически и не отправляет push-уведомления, независимо от настроек уведомлений.
Не писать комментарий Boolean Если параметр активен, то комментарий об удалении исполнителей в задаче будет отправлен только автору действия

ℹ️ Для отправки почтового сообщения в Общих настройках приложения должен быть включен флажок "Разрешена работа с почтой"

Удалить всех подписчиков

Удаляет всех подписчиков в задаче

Параметр Тип Описание
Кто удаляет* 1F.User Пользователь, от имени которого выполняется действие
Задача* 1F.Task Задача, в которой удаляются подписчики
Не писать комментарий Boolean Если параметр активен, то комментарий об удалении подписчиков в задаче будет отправлен только автору действия

Удалить исполнителя

Удаляет исполнителя в задаче

Параметр Тип Описание
Задача* 1F.Task Задача, в которой удаляется исполнитель
Кто удаляет* 1F.User Пользователь, от имени которого выполняется действие
Кого удаляют* 1F.User Пользователь, которого удаляют из числа исполнителей задачи
Причина String Причина удаления исполнителя
Не слать письмо* Boolean Если параметр активен, то email с сообщением о добавлении исполнителей не отправляется
Писать "тихий" комментарий (без адресата) Boolean Такой комментарий не имеет адресатов и не увеличивает счетчик индикатора непрочитанных комментариев у подписчиков задачи. "Тихий" комментарий всегда прочитывается автоматически и не отправляет push-уведомления, независимо от настроек уведомлений.
Не писать комментарий Boolean Если параметр активен, то комментарий об удалении исполнителя  будет отправлен только автору действия

Удалить подписчика

Удаляет подписчика в задаче

Параметр Тип Описание
Задача* 1F.Task Задача, в которой удаляется подписчик
Кто удаляет* 1F.User Пользователь, от имени которого выполняется действие
Кого удаляют* 1F.User Пользователь, которого удаляют из числа подписчиков задачи
Причина String Причина удаления подписчика
Не писать комментарий Boolean Если параметр активен, то комментарий об удалении подписчика в задаче будет отправлен только автору действия

Работа с операторами ЭДО

Диадок - Ответить на электронный документ

Используется для отправки в систему Диадок только положительного ответа (подписание) без титула

Параметр Тип Описание
ID файла* string ID файла
ID сервиса* int ID сервиса
Подпись* string Подпись
Если действие выполняется через смарт-скрипт (LUA), то параметр Signature в данном случае не является обязательным и используется только в том случае, если подпись серверная, а не запрошена в "Первой Форме"
МЧД* string МЧД

Диадок - Ответить титулом на электронный документ

Используется для отправкив систему Диадок только положительного ответа (подписание) с титулом

Параметр Тип Описание
ID файла* string ID файла
ID xml файла титула string ID xml файла титула
ID сервиса* int ID сервиса
Подпись* string Подпись
Если действие выполняется через смарт-скрипт (LUA), то параметр Signature в данном случае не является обязательным и используется только в том случае, если подпись серверная, а не запрошена в "Первой Форме"
МЧД* string МЧД

Диадок - Отправить подписанное извещение о получении

Отправляет в Диадок подписанное извещение о получении документа.

Файл извещения должен быть получен с помощью смарт-действия Создать файл извещения о получении

Параметр Тип Описание
ID файла* 1F.File ID файла с документом
ID файла извещения* 1F.File ID файла извещения о получении документа
ID сервиса* int ID сервиса
Подпись* string Подпись
Если действие выполняется через смарт-скрипт (LUA), то параметр Signature в данном случае не является обязательным и используется только в том случае, если подпись серверная, а не запрошена в "Первой Форме"
МЧД* string МЧД

Диадок - Отправить подписанный отказ от аннулирования

Отправляет в Диадок подписанный файл отказа от аннулирования.

Файл отказа от аннулирования должен быть получен с помощью смарт-действия Создать файл отклонения аннулирования подписи.

Параметр Тип Описание
ID файла* 1F.File ID файла с документом, на который формируется аннулирование
ID файла отказа* 1F.File ID файла отказа
ID сервиса* int ID сервиса
Подпись* string Подпись
Если действие выполняется через смарт-скрипт (LUA), то параметр Signature в данном случае не является обязательным и используется только в том случае, если подпись серверная, а не запрошена в "Первой Форме"
МЧД* string МЧД

Диадок - Отправить подписанный отказ от подписи

В ответ на запрошенную из Диадока подпись отправляет обратно документ с отказом от подписи

Параметр Тип Описание
ID файла* 1F.File ID файла с документом
ID файла отказа* 1F.File ID файла отказа
ID сервиса* int ID сервиса
Подпись* string Подпись
Если действие выполняется через смарт-скрипт (LUA), то параметр Signature в данном случае не является обязательным и используется только в том случае, если подпись серверная, а не запрошена в "Первой Форме"
МЧД* string МЧД

ℹ️ Файл отказа должен быть получен с помощью смарт-действия "Создать файл отказа от подписи"

Диадок - Отправить подписанный файл об аннулировании

Отправляет в Диадок подписанный файл об аннулировании

Параметр Тип Описание
ID файла* 1F.File ID файла
ID файла отказа* 1F.File ID файла аннулирования
ID сервиса* int ID сервиса
Подпись* string Подпись
Если действие выполняется через смарт-скрипт (LUA), то параметр Signature в данном случае не является обязательным и используется только в том случае, если подпись серверная, а не запрошена в "Первой Форме"
МЧД* string МЧД

Диадок - Отправить подписанный файл соглашения об аннулировании

Отправляет контрагенту в Диадок подписанный файл исходящего запроса на аннулирование.

Файл аннулирования должен быть получен с помощью смарт-действия Создать файл аннулирования подписи

Параметр Тип Описание
ID файла* 1F.File ID файла
ID файла отказа* 1F.File ID файла аннулирования
ID сервиса* int ID сервиса
Подпись* string Подпись
Если действие выполняется через смарт-скрипт (LUA), то параметр Signature в данном случае не является обязательным и используется только в том случае, если подпись серверная, а не запрошена в "Первой Форме"
МЧД* string МЧД

Диадок - Отправить электронный документ

Отправляет документ в Диадок

Параметр Тип Описание
ID файла* 1F.File ID файла с документом
ИНН контрагента* String ИНН контрагента
КПП контрагента* String КПП контрагента
Нужна ли ответная подпись Boolean Признак, запрашивается ли подпись у контрагента
Тип документа String Сумма
Money
Сумма документа
ID сервиса* Int ID сервиса
Уникальный идентификатор организации String Уникальный идентификатор организации
Подпись* String Подпись
Если действие выполняется через смарт-скрипт (LUA), то параметр Signature в данном случае не является обязательным и используется только в том случае, если подпись серверная, а не запрошена в "Первой Форме"
МЧД* String МЧД. Значение задается в формате JSON вида: { "registerNumber":string, //Номер МЧД "issuerInn": string,     //ИНН доверителя "useDefault": string   //true/false без кавычек } где: RegisterNumber — номер МЧД, IssuerInn — ИНН доверителя, useDefault — если в ЛК Диадок указана одна МЧД или установлена МЧД "по умолчанию", то при UseDefault = true будут проигнорированы документы, которые нельзя подписать с помощью этой МЧД. Необязательный параметр. В качестве значения указывается true или false без кавычек
Номер договора* String Уникальный идентификатор договора
К договору* String К договору
От (к договору)* String От (к договору)
Исходный ящик* String Исходный ящик
Дата документа* String Дата документа
Код валюты* Int Код валюты по стандарту ISO 4217. Пример: 643 — Российский рубль, 840 — Доллар США, 978 — Евро

Диадок - Получить документ

Загрузка в "Первую Форму" целиком пакета документов из системы электронного документооборота Диадок.

Смарт-действие обращается в Диадок и с помощью параметров проверяет, были эти документы получены ранее или нет. И если есть не пришедшие в систему документы, они будут загружены. Его основная задача — проверить наличие расхождений в документах, сравнивая записи в таблице EdocumentLink с фактическим набором документов в Диадоке. Если в ходе проверки обнаруживаются документы, которые присутствуют в Диадоке, но отсутствуют в таблице EdocumentLink, система дозагружает именно эти пропущенные файлы. Для каждого найденного документа в таблицу EdocumentLink добавляется соответствующая строка, после чего задача помещается в очередь на дальнейшую обработку

Параметр Тип Описание
MessageId* String Идентификатор сообщения черновика
EntityId* String Идентификатор сущности
ServiceId Integer ID сервиса

Диадок - Получить идентификатор МЧД (возвращает System.Int32)

Получает идентификатор МЧД из системы электронного документооборота Диадок

Параметр Тип Описание
ID пользователя* String ID пользователя (UserID) в системе Диадок
ID сервиса* Integer ID сервиса

Диадок - Получить контрагентов (возвращает System.Int32)

Получает контрагентов из системы электронного документооборота Диадок

Параметр Тип Описание
ID сервиса* Integer ID сервиса

Диадок - Получить статус МЧД (возвращает System.Int32)

Получить статус МЧД из системы электронного документооборота Диадок

В базе данные хранятся в таблице Edocumentlink

Параметр Тип Описание
MessageId* String Идентификатор сообщения. Поле MessageId в таблице EdocumentLinks, оно же идентификатор письма/пакета документов
EntityId* String Идентификатор сущности. Поле ContentId в таблице EdocumentLinks, оно же идентификатор каждого файла
ID сервиса* Integer ID сервиса

Диадок - Получить тэги документа (возвращает System.Int32)

Получает тэги документа Диадок (возвращает System.Int32)

Параметр Тип Описание
ID ссылки на электронный документ* Integer ID ссылки на электронный документ
ID сервиса* Integer ID сервиса

Диадок - Получить файлы МЧД (возвращает System.Int32)

Получает файлы МЧД из системы Диадок

В базе данные хранятся в таблице Edocumentlink

Параметр Тип Описание
ID МЧД* String ID МЧД
ID сообщения* String ID сообщения. Поле MessageId в таблице EdocumentLinks, оно же идентификатор письма/пакета документов
ID сервиса* Integer ID сервиса

Диадок - Сгенерировать пустой xml титул покупателя для документа (возвращает TCClassLib.Orm.FileStorageFileInfo)

Генерирует пустой xml титул покупателя для документа Диадок

Параметр Тип Описание
ID файла* 1F.File ID файла с документом
ID сервиса* Integer ID сервиса
Параметры для титула в формате JSON String
Параметры для титула в формате JSON в 970 String

Диадок - Сгенерировать xml титул для документа (возвращает TCClassLib.Orm.FileStorageFileInfo)

Генерирует титульный лист для отправки в Диадок

Используется вместе с действием Сгенерировать пустой xml титул покупателя для документа

Параметр Тип Описание
ID файла* 1F.File ID файла с документом
ID xml файла* 1F.File ID xml файла титула для документа, полученного действием Сгенерировать пустой xml титул покупателя для документа
ID сервиса* Integer ID сервиса

Диадок - Синхронизировать статусы документов в сообщении (возвращает System.Int32)

Используется для актуализации статуса электронного документа Диадок

Действие возвращает JSON

ℹ️ Действие доступно, начиная с версии 2.260 Пегас

Параметр Тип Описание
Список ID сообщений* String Список идентификаторов сообщений MessageId
ID сервиса* Integer ID сервиса

Диадок - Создать файл аннулирования подписи (возвращает TCClassLib.Orm.FileStorageFileInfo)

Создает файл аннулирования подписи электронного документа Диадок (возвращает TCClassLib.Orm.FileStorageFileInfo)

Параметр Тип Описание
ID файла* 1F.File ID файла с документом
Причина аннулирования* String Строка с причиной аннулирования
ID сервиса* Integer ID сервиса

Диадок - Создать файл извещения о получении (возвращает TCClassLib.Orm.FileStorageFileInfo)

Создает файл извещения о получении электронного документа Диадок (возвращает TCClassLib.Orm.FileStorageFileInfo)

Параметр Тип Описание
ID файла* 1F.File ID файла с документом, о получении которого формируется извещение
ID сервиса* Integer ID сервиса

Диадок - Создать файл отказа от подписи (возвращает TCClassLib.Orm.FileStorageFileInfo)

В ответ на запрошенную из Диадока подпись создает файл с отказом от подписи

Параметр Тип Описание
ID файла* 1F.File ID файла с документом, на который формируется отказ
Причина отказа* String Строка с причиной отказа
ID сервиса* Integer ID сервиса

ℹ️ Файл отказа используется в смарт-действии "Отправить подписанный отказ от подписи"

Диадок - Создать файл отклонения аннулирования подписи (возвращает TCClassLib.Orm.FileStorageFileInfo)

Создает файл отклонения аннулирования подписи (возвращает TCClassLib.Orm.FileStorageFileInfo)

Параметр Тип Описание
ID файла* 1F.File ID файла с документом, на который формируется отказ
Причина аннулирования* String Строка с причиной аннулирования
ID сервиса* Integer ID сервиса

СБИС - Отправить отказ от аннулирования

Отправляет отказ от аннулирования документа в систему СБИС

Параметр Тип Описание
Файлы* { FileId (int), VersionId (int), AttachmentId (string), DocumentId (string) }
В параметр передается массив объектов
ID сервиса* Integer ID сервиса
Подпись* String Подпись
Комментарий* String Комментарий
МЧД* String МЧД

СБИС - Отправить подписание

Отправляет ответ на электронный документа в систему СБИС

Параметр Тип Описание
ID файла* String ID файла
ID сервиса* Integer ID сервиса
Подпись* String Подпись
МЧД* String МЧД

СБИС - Отправить подписанное извещение о получении

Отправляет в СБИС подписанное извещение о получении документа

Параметр Тип Описание
ID файла* 1F.File ID файла с документом
ID файла извещения* 1F.File ID файла извещения о получении документа
ID сервиса* Integer ID сервиса
Подпись* String Подпись
МЧД* String МЧД

СБИС - Отправить подписанные соглашения об аннулировании

Отправляет подписанные соглашения об аннулировании документов из системы СБИС (входящее)

Параметр Тип Описание
Файлы* { FileId (int), VersionId (int), AttachmentId (string), DocumentId (string) }
В параметр передается массив объектов {FileId, VersionId, AttachmentId, DocumentId} для уже подписанных ЭЦП вложений на стороне "Первой Формы" со статусом 27 (в ожидании аннулирования).
В данном смарт-действии первостепенно необходимо заполнить FileId и VersionId, т.к. они сохраняются в таблице EdocumentSbisLink и вы получаете его контент, когда он придет как "новый документ". Стоит понимать, что это не полноценный "новый документ", а только соглашение на аннулирование.
ID сервиса* Integer ID сервиса
Подпись* String Подпись
Комментарий* String Комментарий
МЧД* String МЧД

СБИС - Отправить подписанный отказ от подписи

Отправляет подписанный отказ от подписи документа в систему СБИС

Параметр Тип Описание
Файлы (id, versionId, attachmentId)* String В параметр передается массив объектов
ID сервиса* Integer ID сервиса
Подпись* String Подпись
Комментарий* String Комментарий
МЧД* String МЧД

СБИС - Отправить соглашение об аннулировании

Отправляет соглашение об аннулировании документа в систему СБИС (исходящее)

Параметр Тип Описание
Файлы* { FileId (int), VersionId (int), AttachmentId (string), DocumentId (string) }
В параметр передается массив объектов {FileId, VersionId, AttachmentId, DocumentId} для уже подписанных ЭЦП вложений на стороне "Первой Формы" со статусом 27 (в ожидании аннулирования).
В данном смарт-действии первостепенно необходимо заполнить FileId и VersionId, т.к. они сохраняются в таблице EdocumentSbisLink и вы получаете его контент, когда он придет как "новый документ". Стоит понимать, что это не полноценный "новый документ", а только соглашение на аннулирование.
ID сервиса* Integer ID сервиса
Подпись* String Подпись
Комментарий* String Комментарий
МЧД* String МЧД

СБИС - Отправить электронный документ

Отправляет документ в СБИС

Параметр Тип Описание
ID файла* 1F.File ID файла с документом
ИНН контрагента* String ИНН контрагента
КПП контрагента* String КПП контрагента
Уникальное ID контрагента* String Уникальное ID контрагента
Нужна ли ответная подпись Boolean Признак, запрашивается ли подпись у контрагента
Тип документа
Сумма
Money
Сумма документа
ID сервиса* Integer ID сервиса

СБИС - Получить архив МЧД (возвращает System.Int32)

Запрос архива МЧД из системы СБИС

Параметр Тип Описание
Идентификатор МЧД* String Идентификатор МЧД
ИНН доверителя* String ИНН доверителя
ИНН представителя* String ИНН представителя
ID сервиса* Integer ID сервиса

СБИС - Получить сертификаты (возвращает System.Int32)

Запрос слепка сертификата из системы СБИС

Параметр Тип Описание
ID сервиса* Integer ID сервиса
Идентификатор String Идентификатор сотрудника в СБИС
Идентификатор в ИС String Идентификатор сотрудника во внешней системе
ИНН String ИНН сотрудника
Телефон String Подтвержденный номер телефона
Email String Подтвержденный адрес почты
СНИЛС String СНИЛС сотрудника
Серия документа String Серия документа удостоверяющего личность
Номер документа String Номер документа удостоверяющего личность

СБИС - Получить статус МЧД (возвращает System.Int32)

Получить статус МЧД из системы СБИС

Параметр Тип Описание
Идентификатор МЧД* String Идентификатор МЧД
ID сервиса* Integer ID сервиса

СБИС - Получить тэги документа (возвращает System.Int32)

Получает тэги документа СБИС (возвращает System.Int32)

Параметр Тип Описание
ID ссылки на электронный документ* Integer ID ссылки на электронный документ
ID сервиса* Integer ID сервиса

СБИС - Синхронизировать статусы документов в сообщении (возвращает System.Int32)

Используется для актуализации статуса электронного документа СБИС

ℹ️ Действие доступно, начиная с версии 2.262 Весы

Параметр Тип Описание
Список ID сообщений* String Список идентификаторов сообщений DocumentId
ID сервиса* Integer ID сервиса

СБИС - Создать файл аннулирования подписи (возвращает TCClassLib.Orm.FileStorageFileInfo)

Создает файл аннулирования подписи электронного документа СБИС (возвращает TCClassLib.Orm.FileStorageFileInfo)

Параметр Тип Описание
ID файла* 1F.File ID файла с документом
Причина аннулирования* String Строка с причиной аннулирования
ID сервиса* Integer ID сервиса
МЧД* String МЧД

СБИС - Создать файл извещения о получении (возвращает TCClassLib.Orm.FileStorageFileInfo)

Создает файл извещения о получении электронного документа СБИС (возвращает TCClassLib.Orm.FileStorageFileInfo)

Параметр Тип Описание
ID файла* 1F.File ID файла с документом, о получении которого формируется извещение
Отпечаток сертификата String Хеш-функция от сертификата
ID сервиса* Integer ID сервиса
МЧД* String МЧД

СБИС - Создать файлы отказа от аннулирования (возвращает TCClassLib.Orm.FileStorageFileInfo)

Создает файлы отказа от аннулирования документа СБИС (возвращает TCClassLib.Orm.FileStorageFileInfo)

Параметр Тип Описание
ID файла* 1F.File ID файла с документом
Причина отказа String Причина отказа от аннулирования
Отпечаток сертификата String Хеш-функция от сертификата
ID сервиса* Integer ID сервиса
МЧД* String МЧД

СБИС - Создать файлы отказа от подписи (возвращает TCClassLib.Orm.FileStorageFileInfo)

Создает файлы отказа от подписи документа СБИС (возвращает TCClassLib.Orm.FileStorageFileInfo)

Параметр Тип Описание
ID файла* 1F.File ID файла с документом
Причина отказа String Причина отказа от подписи
Отпечаток сертификата String Хеш-функция от сертификата
ID сервиса* Integer ID сервиса
МЧД* String МЧД

СБИС - Создать файлы подтверждения подписи (возвращает TCClassLib.Orm.FileStorageFileInfo)

Создает файлы подтверждения подписи документа СБИС (возвращает TCClassLib.Orm.FileStorageFileInfo)

Параметр Тип Описание
ID файла* 1F.File ID файла с документом
Причина String Причина подтверждения подписи
Отпечаток сертификата String Хеш-функция от сертификата
ID сервиса* Integer ID сервиса
МЧД* String МЧД

Маршруты, переходы

Выполнить переход по маршруту

Выполняет переход по маршруту (используется если известен ID перехода)

Параметр Тип Описание
Задача* 1F.Task Задача, в которой выполняется переход
Инициатор перехода* 1F.User Пользователь, от имени которого выполняется действие
Переход* 1F.Step Переход
Причина String Причина перехода
Не писать комментарий* Boolean Если параметр активен, то комментарий о выполнении перехода в задаче будет отправлен только автору действия

Изменить статус задачи

Принудительно меняет статус задачи

Параметр Тип Описание
Задача* 1F.Task Задача, в которой выполняется переход
Инициатор* 1F.User Пользователь, от имени которого выполняется действие
Статус* 1F.State Целевой статус (статус, в который должна перейти задача). Если в поле Задача выбрана Текущая задача, то в списке будут доступны только статусы из текущей категории. Если в поле задано иное значение, то в списке будут доступны все существующие статусы в системе
Не проверять права* Boolean Если параметр активен, то при переходе не проверяются права пользователя, от имени которого выполняется переход
Не писать комментарий Boolean Если параметр активен, то комментарий о выполнении перехода в задаче будет отправлен только автору действия
Не записывать ошибку, если уже в этом статусе Boolean Если параметр активен, то если исходный и целевой статусы совпадают, это не считается ошибкой

ℹ️ Для принудительной смены статуса необязательно наличие в маршруте перехода между исходным и целевым статусами

ℹ️ При принудительной смене статуса не выполняются автоматизации на переходе, а значит, не выполняется проверка прав пользователя, что может привести к возникновению ошибки

Перейти в заданный статус

Выполняет переход в заданный статус (используется если известен ID целевого статуса)

Параметр Тип Описание
Задача* 1F.Task Задача, в которой выполняется переход
Инициатор перехода* 1F.User Пользователь, от имени которого выполняется действие
Статус* 1F.State Целевой статус (статус, в который должна перейти задача). Если в поле Задача выбрана Текущая задача, то в списке будут доступны только статусы из текущей категории. Если в поле задано иное значение, то в списке будут доступны все существующие статусы в системе
Кинуть ошибку, если не найден переход* Boolean При выполнении смарт-действия анализируется текущий статус задачи и целевой статус. Если в маршруте категории существует подходящий переход, то он будет выполнен. Если подходящего перехода на маршруте нет, то при включенном флажке "Кинуть ошибку, если не найден переход" пользователю будет выдано сообщение об ошибке
Причина String Причина перехода
Писать "тихий" комментарий (без адресата) Boolean Такой комментарий не имеет адресатов и не увеличивает счетчик индикатора непрочитанных комментариев у подписчиков задачи. "Тихий" комментарий всегда прочитывается автоматически и не отправляет push-уведомления, независимо от настроек уведомлений.

Сроки и даты

Заблокировать срок

Блокирует срок задачи от изменения

Параметр Тип Описание
Задача* 1F.Task Задача, в которой меняется параметр
Инициатор* 1F.User Пользователь, от имени которого выполняется действие

ℹ️ Блокировать срок задачи может только заказчик и только при включенном флажке "Заказчик может заблокировать срок" в основных настройках категории, в блоке "Сроки". Это надо учитывать при указании параметра "Инициатор"

ℹ️ Изменения (доступность поля "Срок" и вид иконки "замочек" рядом с полем), как правило, вступают в силу после обновления карточки задачи

Изменить дату начала работ

Меняет дату начала работы над задачей

Параметр Тип Описание
Задача* 1F.Task Задача, в которой меняется параметр
Пользователь* 1F.User Пользователь, от имени которого выполняется действие
Дата DateTime Дата начала работы над задачей
Причина String Причина изменения параметра задачи

Изменить дату планового начала задачи

Меняет дату планового начала работы над задачей

Параметр Тип Описание
Задача* 1F.Task Задача, в которой меняется параметр
Кто меняет* 1F.User Пользователь, от имени которого выполняется действие
Дата DateTime Дата планового начала работы над задачей
Изменить дату планового окончания задачи
(устаревшее, не используется) Меняет дату планового окончания работы над задачей

Изменить дату планового окончания задачи (устаревшее, не используется)

Меняет дату планового окончания работы над задачей

Параметр Тип Описание
Задача* 1F.Task Задача, в которой меняется параметр
Кто меняет* 1F.User Пользователь, от имени которого выполняется действие
Дата DateTime ℹ️ Поле "Дата планового окончания" больше не используется. Смарт-действие меняет поле "Срок"

ℹ️ Рекомендуется во всех смарт-пакетах заменить данное смарт-действие на смарт-действие "Изменить срок"

Изменить дату фактического завершения задачи

Меняет дату фактического завершения работы над задачей

Параметр Тип Описание
Задача* 1F.Task Задача, в которой меняется параметр
Кто меняет* 1F.User Пользователь, от имени которого выполняется действие
Дата DateTime Дата фактического завершения работы над задачей

Изменить срок

Меняет срок задачи

Параметр Тип Описание
Инициатор* 1F.User Пользователь, от имени которого выполняется действие
Срок DateTime Срок задачи
Причина* String Причина изменения срока
Задача* 1F.Task Задача, в которой меняется срок
Не писать комментарий* Boolean Если параметр активен, то комментарий об изменении срока в задаче будет отправлен только автору действия

Разблокировать срок

Разблокирует срок задачи для изменения

Параметр Тип Описание
Задача* 1F.Task Задача, в которой меняется параметр
Инициатор* 1F.User Пользователь, от имени которого выполняется действие

ℹ️ Разблокировать срок задачи может только заказчик и только при включенном флажке "Заказчик может заблокировать срок" в основных настройках категории, в блоке "Сроки". Это надо учитывать при указании параметра "Инициатор"

ℹ️ Изменения (доступность поля "Срок" и вид иконки "замочек" рядом с полем), как правило, вступают в силу после обновления карточки задачи

ДП и свойства задачи

Изменить значение ДП

Меняет значение ДП

Параметр Тип Описание
Задача* 1F.Task Задача, в которой меняется параметр
Пользователь* 1F.User Пользователь, от имени которого выполняется действие
Доп. параметр* 1F.ExtParam ДП, который должен быть изменен
Значение
Соответствует типу ДП
Новое значение ДП
Писать комментарий о смене* Boolean Если параметр активен, то в задаче публикуется комментарий об изменении значения ДП
Причина String Причина изменения ДП
Возвращает String Новое значение ДП, преобразованное в текст
Язык
Язык локализации значения ДП. Параметр учитывается только при включенной локализации в настройке ДП "Локализуемый". Значение можно выбрать из выпадающего списка, задать смарт выражением или смарт-скриптом (LUA), а также установить зависимость от того языка, который установлен в профиле пользователя, выполняющего действие (пункт "Текущий пользователь").

ℹ️ Если ДП представляет собой список (например, для ДП типа "Выбор пользователей" это список пользователей), то при обработке действие фактически будет выполнено столько раз, сколько значений содержится в списке. Соответственно, столько же раз будет сгенерирован комментарий. Поэтому при обработке списков значений комментарии, по возможности, следует отключать

Изменить конфиденциальность задачи

Меняет признак конфиденциальности задачи

Параметр Тип Описание
Задача* 1F.Task Задача, в которой меняется признак конфиденциальности
Заказчик* 1F.User Пользователь, от имени которого выполняется действие
Конфиденциальность Boolean Признак конфиденциальности, который будет установлен для задачи

Изменить массово значения ДП

Меняет значения ДП в задаче-приемнике на основе значений ДП задачи-источника

Параметр Тип Описание
Доп. параметры приемника* Соответствует типу ДП
Чтобы добавить ДП, выберите его имя в выпадающем списке и нажмите кнопку "Добавить". Отобразится поле для задания значения этого ДП
Пользователь* 1F.User Пользователь, от имени которого выполняется действие
Задача источник 1F.Task Задача, из которой берутся значения ДП
Задача приемник 1F.Task Задача, в которой меняются значения ДП
Писать комментарий о смене* Boolean Если параметр активен, то в задаче публикуется комментарий об изменении значений ДП
Причина String Причина изменения ДП

Изменить массово плановые трудозатраты

Меняет плановые трудозатраты

Параметр Тип Описание
Задача* 1F.Task Задача, в которой меняются плановые трудозатраты
Кто меняет* 1F.User Пользователь, от имени которого выполняется действие
Данные трудозатрат (JSON строка) String JSON строка, включающая в себя Действие, Дата, Ресурс, Исполнитель сотрудник, Исполнитель задача, День
Игнорировать возможные ошибки назначения трудозатрат Boolean Если параметр активен, ошибки, возникающие при назначении трудозатрат,  будут проигнорированы
Метод планирования ресурсов Методы, используемые для планирования ресурсов. Возможные методы: FixLenght, FixResources
Не писать комментарий Boolean Если параметр активен, то комментарий о массовом изменении плановых трудозатрат будет отправлен только автору действия

Пример Данные трудозатрат (JSON строка):

{
"mode": "FixLength",
"resources": [
{
"amount": 60,
"id": 73,
"percent": null,
"performers": \
{
"performer": {
"id": 18013,
"name": "Тест",
"type": "Task"
},
"plannedPerformer": null
}
"plannedAmount": null,
"plannedPercent": null,
"resource": {
"id": 18169,
"name": "Локации",
"type": "Worker",
"isAvaliableForPlanning": true,
"subtype": "Material"
}
}
],
"performerDailyPlans": [
{
"performer": {
"id": 18013,
"name": "Тест",
"fact": 0,
"factLabel": "0.00",
"plan": 0,
"type": "Task",
"isAssigned": null,
"planAmount": "0.00"
},
"manualDays": \
{
"date": "2025-01-18",
"amount": 30,
"type": "plan",
"comment": ""
}
}
]
}

Изменить плановые трудозатраты

Меняет плановые трудозатраты

Параметр Тип Описание
Задача* 1F.Task Задача, в которой меняются плановые трудозатраты
Кто вносит* 1F.User Пользователь, от имени которого выполняется действие
Действие*
Возможные значения:
- Добавить плановые трудозатраты
- Обновить плановые трудозатраты
- Удалить плановые трудозатраты
- Удалить исполнителя
- Удалить ресурс
Ресурс 1F.Task Задача из системной категории "Справочник ресурсов"
Исполнитель сотрудник 1F.User Пользователь, для которого меняются плановые трудозатраты
Время (мин.) Integer Значение объемно-календарного плана
Игнорировать возможные ошибки назначения трудозатрат Boolean Если параметр активен, ошибки, возникающие при назначении трудозатрат,  будут проигнорированы
Исполнитель задача 1F.Task Задача из системной категории "Справочник ресурсов"
Дата Date Если дата указана и выбран сотрудник, то смарт-действие добавляет/меняет/удаляет план сотруднику на конкретную дату.
Если дата не указана, то добавляется/меняется/удаляется объемно календарный план по задаче

ℹ️ Действие "Добавить/Обновить/Удалить плановые трудозартаты"меняет значение объемно-календарного плана на ресурс. Ресурс вычисляется по следующему алгоритму: если указан исполнитель — ищется ресурс этого исполнителя в плане; если ресурс не найден, исполнитель добавляется в план; если исполнитель не указан, должен быть указан ресурс. Алгоритм поддерживается только для ресурсов типа "Сотрудник".

ℹ️ Для действия "Удалить ресурс" ресурс вычисляется аналогично. В смарт-действии можно задавать только одного исполнителя и только одну задачу (массивы не поддерживаются). Если задан исполнитель или задача, то необходимо также указывать ресурс.

ℹ️ Плановые затраты могут назначаться как для конкретного сотрудника (в этом случае заполняется параметр "Исполнитель сотрудник"), так и для ресурса в целом (в этом случае заполняется параметр "Исполнитель задача").

Изменить приоритет

Меняет приоритет задачи

Параметр Тип Описание
Задача* 1F.Task Задача, в которой меняется приоритет
Приоритет* Integer Возможные значения:
- низкий приоритет = 0
- обычный = 1
- высокий = 3
Кто меняет* 1F.User Пользователь, от имени которого выполняется действие

Изменить процент выполнения задачи

Меняет процент выполнения задачи

Параметр Тип Описание
Задача* 1F.Task Задача, в которой меняется процент выполнения
Кто меняет* 1F.User Пользователь, от имени которого выполняется действие
Процент Integer Процент выполнения

ℹ️ Данное смарт-действие может выполняться только над задачами, которые имеют тип "Для проектных задач"

Изменить текст задачи

Меняет текст задачи

Параметр Тип Описание
Задача* 1F.Task Задача, в которой меняется процент выполнения
Кто меняет* 1F.User Пользователь, от имени которого выполняется действие
Текст String Текст задачи
Писать "тихий" комментарий (без адресата) Boolean Такой комментарий не имеет адресатов и не увеличивает счетчик индикатора непрочитанных комментариев у подписчиков задачи. "Тихий" комментарий всегда прочитывается автоматически и не отправляет push-уведомления, независимо от настроек уведомлений.
Язык
Язык локализации текста задачи. Параметр учитывается только при включенной локализации в настройке "Локализовать текст задачи". Значение можно выбрать из выпадающего списка, задать смарт выражением или смарт-скриптом (LUA), а также установить зависимость от того языка, который установлен в профиле пользователя, выполняющего действие (пункт "Текущий пользователь").

ℹ️ Комментарий об изменении текста задачи генерируется только в том случае, если указан параметр "Кто меняет". Также при этом обновляется форма (карточка) задачи. Если пользователь не указан, то комментарий не создается и форма задачи не обновляется.

Изменить фактические трудозатраты

Меняет фактические трудозатраты

Параметр Тип Описание
Задача* 1F.Task Задача, в которой меняются плановые трудозатраты
Кто вносит* 1F.User Пользователь, от имени которого выполняется действие
Исполнитель сотрудник* 1F.User Пользователь, для которого меняются плановые трудозатраты
Время (мин.)* Integer Значение объемно-календарного плана.
Дата* Date Дата трудозатрат
Комментарий String Комментарий по вносимым трудозатратам
Исполнитель задача 1F.Task Для внешних или материальных ресурсов -- задача из категории, в которой ведется справочник нужного типа ресурсов

Копировать значение ДП

Копирует значение ДП из задачи-источника в ДП задачи-приемника

Параметр Тип Описание
Задача источник Соответствует типу ДП
Задача, в которой берется значение ДП.
Если параметр не заполнен, то берется текущая задача
Доп параметр источник* 1F.ExtParam ДП, из которого берется значение ДП
Задача приемник 1F.Task Задача, в которой меняется значение ДП.
Если параметр не заполнен, то берется текущая задача
Доп параметр приемник* 1F.ExtParam ДП, в котором меняется значение
Кто меняет* 1F.User Пользователь, от имени которого выполняется действие
Писать комментарий о смене* Boolean Если параметр активен, то в задаче публикуется комментарий об изменении значения ДП
Причина String Причина изменения ДП

ℹ️ Типы ДП-источника и ДП-приемника должны совпадать, в противном случае возникнет ошибка

ℹ️ В случае, если Доп параметр источник имеет тип "Файл", значению в Доп параметре источника будет присвоен новый идентификатор файла (fileId)

Настроить чат

Настраивает существующий чат

Параметр Тип Описание
Задача* 1F.Task Номер чата
От чьего имени совершается действие 1F.User Пользователь, от имени которого выполняется действие. Если пользователь не указан, действие будет выполнено от лица системного робота
Название чата* String Название чата
Описание чата String Дополнительная информация о назначении или тематике чата
ИД страницы пространства с описанием Integer Идентификатор страницы пространства, в которой размещено подробное описание чата (при наличии)
Чат является приватным* Boolean Если включено, чат будет виден и доступен в поиске только подписчикам. Если опция отключена, чат станет доступен для поиска и подписки всем сотрудникам
Идентификатор набора обоев Integer Определяет фон чата. По умолчанию пользователи видят системные обои или заданные в своем профиле
Видны ли подписчики* Boolean Разрешает ли чат отображать список участников
Можно ли добавлять подписчиков* Boolean Позволяет ли участникам приглашать новых пользователей
Можно ли редактировать профиль чата* Boolean Разрешает изменение названия, описания и других параметров чата
Можно ли отправлять сообщения в основной канал* Boolean Если отключено, возможность отправки сообщений в основной канал будет недоступна
Можно ли прикреплять сообщения* Boolean Разрешает закрепление важных сообщений вверху чата
Можно ли создавать опросы* Boolean Если опция отключена, то участники не смогут создавать опросы
Можно ли использовать ВКС* Boolean Разрешает запуск видеоконференций внутри чата
Включены ли реакции* Boolean Участники могут добавлять реакции на сообщения
Можно ли создавать треды* Boolean Разрешает создание обсуждений внутри чата
Можно ли комментировать в треды* Boolean Определяет, могут ли участники отвечать внутри обсуждений
Включены ли вложения* Boolean Если опция отключена, то участники не смогут отправлять файлы
Можно ли создавать аудиосообщения* Boolean Если опция отключена, то у участников не будет кнопки "Записать и отправить аудиосообщение"
Тип чата String Тип чата. Доступные значения: Личный чат — 0, Групповой чат — 1, Канал — 2

Обновить папку ToDo-лист

Обновляет папку в ДП "Выбор нескольких задач из категории" в схеме оформления "ToDo list"

Параметр Тип Описание
Задача* 1F.Task Задача, в которой нужно обновить папку в ДП
От чьего имени совершается действие* 1F.User Пользователь, от имени которого выполняется действие
Доп параметр* 1F.ExtParam ДП, которое нужно обновить
Id Папки Integer ID папки, которую нужно обновить
Имя папки Boolean Новое имя папки
Порядковый номер папки Integer Новый номер папки

Очистить ДП

Очищает значение ДП

Параметр Тип Описание
Задача* 1F.Task Задача, в которой меняется значение ДП
Пользователь* 1F.User Пользователь, от имени которого выполняется действие
Доп параметр* 1F.ExtParam ДП, в котором меняется значение
Причина String Причина изменения ДП
Не писать комментарий* Boolean Если параметр активен, то комментарий об изменении срока в задаче будет отправлен только автору действия

Удалить комментарий

Удаляет комментарий

Параметр Тип Описание
Пользователь* 1F.User Пользователь, от имени которого выполняется действие
Комментарий* Integer ID комментария, который должен быть удален

Удалить папку ToDo-листа

Удаляет папку в ДП "Выбор нескольких задач из категории" в схеме оформления "ToDo list"

Параметр Тип Описание
Задача* 1F.Task Задача, в которой нужно удалить папку в ДП
От чьего имени совершается действие* 1F.User Пользователь, от имени которого выполняется действие
Доп параметр* 1F.ExtParam ДП, в котором удаляется папка
Id Папки Integer ID папки, которую нужно удалить
Удалить с задачами Boolean Удаляет папку вместе с задачами

Подписи

Добавить акцептанта подписи

Добавляет пользователя в число акцептантов запрошенной подписи

Параметр Тип Описание
Добавляющий* 1F.User Пользователь, от имени которого выполняется действие
Подпись* 1F.Signature 1F.RequestedSignature
Акцептант* Collection<1F.User> Один или несколько пользователей, которые будут добавлены в число акцептантов

ℹ️ Для выбора нужной подписи можно использовать два параметра: ID и SignatureID. SignatureID соответствует идентификатору подписи в списке всех настроенных подписей в приложении "Первая Форма", а ID соответствует запрошенному экземпляру подписи RequestedSignature (например, если запрошены две подписи, то у более поздней ID будет больше).

Запросить динамическую подпись

Запрашивает динамическую должностную подпись в задаче

Параметр Тип Описание
Задача* 1F.Task Задача, в которой запрашивается подпись
Инициатор запроса* 1F.User Пользователь, от имени которого выполняется действие
Подпись* 1F.Signature Одна из настроенных в системе подписей
Причина String Причина запроса подписи
Время на подписание (мин.) Integer Время, отведенное на обработку подписи
Не запрашивать если эта подпись уже на подписи Boolean Если параметр активен, то когда данная подпись уже запрошена и еще не обработана в этой задаче, она не запрашивается повторно

ℹ️ Действие "Запросить динамическую подпись" предназначено для запроса должностной подписи. Для запроса личной подписи используйте действие "Запросить подпись пользователей".

Запросить подпись пользователей

Запрашивает динамическую личную подпись в задаче

Параметр Тип Описание
Задача* 1F.Task Задача, в которой запрашивается подпись
Инициатор запроса* 1F.User Пользователь, от имени которого выполняется действие
Акцептанты* Collection<1F.User> Акцептанты запрашиваемой подписи
Причина String Причина запроса подписи
Время на подписание (мин.) Integer Время, отведенное на обработку подписи
Каждому акцептанту отдельную копию Boolean Если параметр активен, то у каждого акцептанта запрашивается отдельная подпись.
Если параметр неактивен, то запрашивается одна подпись, и решение, вынесенное одним из акцептантов, считается их общим решением

ℹ️ Действие "Запросить подпись пользователей" предназначено для запроса личной подписи. Для запроса должностной подписи используйте действие "Запросить динамическую подпись".

Изменить причину динамической подписи

Меняет причину запрошенной динамической подписи

Параметр Тип Описание
Кто меняет* 1F.User Пользователь, от имени которого выполняется действие
Подпись* 1F.Signature 1F.RequestedSignature
Новая причина* String Новая причина подписи

ℹ️ Для выбора нужной подписи можно использовать два параметра: ID и SignatureID. SignatureID соответствует идентификатору подписи в списке всех настроенных подписей в приложении "Первая Форма", а ID соответствует запрошенному экземпляру подписи RequestedSignature (например, если запрошены две подписи, то у более поздней ID будет больше).

Изменить срок динамической подписи

Меняет срок запрошенной динамической подписи

Параметр Тип Описание
Кто меняет* 1F.User Пользователь, от имени которого выполняется действие
Подпись* 1F.Signature 1F.RequestedSignature
Новый срок на подписание* Integer Новый срок на обработку подписи (в минутах)

ℹ️ Для выбора нужной подписи можно использовать два параметра: ID и SignatureID. SignatureID соответствует идентификатору подписи в списке всех настроенных подписей в приложении "Первая Форма", а ID соответствует запрошенному экземпляру подписи RequestedSignature (например, если запрошены две подписи, то у более поздней ID будет больше).

Начать новую сессию подписания ЭЦП

Запускает транзакцию подписания ЭП

Параметр Тип Описание
Задача* 1F.Task Задача, в которой запрашивается подпись

ℹ️ Все подписи, запрошенные в рамках одной сессии, будут относиться к одному и тому же файлу

Отозвать запрошенные подписи

Отзывает все запрошенные в задаче подписи

Параметр Тип Описание
От чьего имени совершается действие* 1F.User Пользователь, от имени которого выполняется действие
Задача* 1F.Task Задача, в которой отзываются подписи
Причина String Причина отзыва подписи

Резолюция подписи

Обрабатывает запрошенную подпись

ℹ️ Действие доступно, начиная с версии 2.264 Кассиопея

Параметр Тип Описание
Инициатор запроса* 1F.User Пользователь, от имени которого выполняется действие
Запрошенная в задаче подпись* 1F.Signature ID запрошенной в задаче подписи из таблицы TaskSignatures
Тип резолюции* Integer Выбор из списка решения по резолюции. Если значение рассчитывается в смарт-выражении или скрипте, его результатом должен стать ID типа резолюции (в базе данных список типов резолюций хранится в таблице SignatureResolutionTypes)
Причина String Причина отклонения подписи при отрицательном решении
Акцептанты Collection<1F.User> Один или несколько пользователей, которые будут добавлены в число акцептантов

Удалить запрошенную подпись

Удаляет запрошенную подпись

Параметр Тип Описание
От чьего имени совершается действие* 1F.User Пользователь, от имени которого выполняется действие
Идентификатор подписи в задаче* 1F.RequestedSignature Запрошенная в задаче подпись
Причина String Причина отзыва подписи

ℹ️ Необходимо указывать не ID подписи в списке настроенных в системе подписей, а именно ID запрошенной подписи в задаче

Орг.структура, группы, пользователи

Восстановить уволенного пользователя

Восстанавливает уволенного ранее пользователя

Параметр Тип Описание
Восстанавливающий* 1F.User Пользователь, от имени которого выполняется действие
Восстанавливаемый* Collection<1F.User> Пользователи, которые восстанавливаются

ℹ️ При добавлении пользователя в группу, связанную с орг. единицей, пользователь будет автоматически добавлен в эту орг. единицу

Выдать пользователю лицензию

Выдает пользователю лицензию для работы с указанным модулем

Параметр Тип Описание
Выдающий* 1F.User Пользователь, от имени которого выполняется действие
Для пользователя* Collection<1F.User> Пользователи, которым выдаются лицензии
Модуль*
Возможные значения:
- Первая Форма
- CRM
- Личные кабинеты

ℹ️ При выдаче лицензии "Первая Форма" автоматически выдается лицензия "Личные кабинеты"

Добавить пользователей в группы

Добавляет пользователей в группы

Параметр Тип Описание
Пользователи* Collection<1F.User> Пользователи, которые добавляются в группы
Группы* Collection<1F.UserGroup> Группы, в которые добавляются пользователи
Добавляющий 1F.User Пользователь, от имени которого выполняется действие

ℹ️ При добавлении пользователя в группу, связанную с орг. единицей, пользователь будет автоматически добавлен в эту орг. единицу

Добавить пользователя в орг. структуру

Добавляет пользователя в орг. единицу

Параметр Тип Описание
Пользователь* 1F.User Пользователь, который добавляется в орг. единицу
Добавляющий* 1F.User Пользователь, от имени которого выполняется действие
Орг. единица* 1F.OrgStructureUnit Орг. единица, в которую добавляется пользователь
Устанавить орг.единицу в качестве основной Boolean Если параметр активен, то орг.единица будет установлена в качестве основной

ℹ️ Если у пользователя это единственная орг.единица, то после добавления она устанавливается по умолчанию как основная, даже если чек-бокс не выбран.

ℹ️ В случае, если у пользователя уже есть основная орг.единица, тогда необходимо менять текущую основную на новую (которая добавляется с помощью смарт-действия).

ℹ️ При добавлении пользователя в орг. единицу пользователь будет автоматически добавлен в группу, связанную с этой эту орг. единицей (если такая есть)

Изменить орг.единицу

Изменяет орг.единицу

Параметр Тип Описание
ID орг. единицы* 1F.OrgStructureUnit Орг. единица, которую нужно изменить
Имя орг единицы String Имя изменяемой орг. единицы
Тип орг единицы String ID типа изменяемой орг. единицы
Родительская орг единица String ID родительской орг.единицы
Связанная группа String ID связанной группы.
Если у орг.единицы уже существует связанная группа и в параметре не задано значение, то связь будет не разорвана, для удаления связи с группой воспользуйтесь параметром Разорвать связь с группой.
Актуальный Boolean Если параметр включен, то изменяемая орг. единица отображается в пользовательском интерфейсе и доступна для выбора в профиле пользователя
Не показывать в орг. структуре Boolean Не отображать изменяемый элемент в орг. структуре в пользовательском интерфейсе. Корневая орг.структура с активной опцией не будет отображаться в списке доступных для выбора орг.структур в пользовательском интерфейсе
Руководитель Boolean Отображается только для должностей. Если параметр включен, то должность считается руководящей для родительской орг. единицы.
Функциональная единица Boolean Функциональный способ организации включения должностей в организационную структуру компании: несколько должностей могут быть объединены в функциональную единицу по определенному признаку. К функциональной единице необходимо добавить должности в блоке "Должности", расположенном справа.
Если опция неактивна, используется организационный способ: одна должность может назначаться нескольким сотрудникам из разных подразделений.
Не показывать в информации о пользователе Boolean Если параметр включен, то информация о пользователе, принадлежащем данной орг. единице, не будет отображаться
Является коммерческой информацией Boolean Если параметр включен, то информация об орг. единице будет доступна только тем группам пользователей, которые обладают правом видеть коммерческую информацию
Примечание String Текст, который будет выведен в пользовательском интерфейсе для изменяемой орг.единицы
Комментарий String Служебный текст, отображается только в интерфейсе администрирования для изменяемой орг.единицы
Разорвать связь с группой Boolean Если параметр активен, будет разорвана связь орг.единицы со связанной группой

Изменить расширенное свойство пользователя

Изменяет расширенное свойство пользователя

Параметр Тип Описание
От чьего имени совершается действие* 1F.User Пользователь, от имени которого выполняется действие
Для кого будет проводиться обновление* 1F.User Пользователь, для которого обновляется расширенное свойство
Обновляемое свойство (имя ключа)* String Имя ключа
Новое значение*
Соответствует типу ключа
Новое значение свойства

ℹ️ О расширенных свойствах пользователя можно прочитать в Руководстве администратора в карточке пользователя

Обновить пользователя

Обновляет карточку пользователя

Параметр Тип Описание
Кто обновляет пользователя* 1F.User Пользователь, от имени которого выполняется действие
Пользователь* 1F.User Пользователь, чьи параметры обновляются
Email* String Корпоративный почтовый адрес
Внешний email String Внешний почтовый адрес
Логин* String Логин
Фамилия* String Фамилия
Имя String Имя
Отчество String Отчество
Дата рождения Date Дата рождения
Отображаемое имя* String Имя, которое будет отображаться в системе (можно указать псевдоним)
В компании с Date Дата начала работы сотрудника в компании
Пол Boolean Если параметр активен, то пол мужской, если НЕ включен — женский
Язык* Integer ID языка
Сменить пароль при входе* Boolean Если параметр активен, то при входе в систему пользователь должен будет сменить пароль
Не присылать почтовые сообщения* Boolean Если параметр активен, то пользователю не будут отправляться почтовые сообщения
Пароль String Пароль
SID String SID
Может редактировать блок Рабочее* Boolean Если параметр активен, то пользователь имеет право редактировать в своем профиле блок "Рабочее"
Может редактировать блок География* Boolean Если параметр активен, то пользователь имеет право редактировать в своем профиле блок "География"
Может редактировать блок Контакты* Boolean Если параметр активен, то пользователь имеет право редактировать в своем профиле блок "Контакты"
Сотрудник компании* Boolean Если параметр активен, то пользователь является сотрудником компании, если НЕ включен — это внешний пользователь
Синхронизировать календарь с Exchange* Boolean Если параметр активен, то календарь пользователя в "Первой Форме" будет синхронизироваться в календарем в Exchange
Автоматически прочитывать комментарии при завершении задачи* Boolean Если параметр активен, то при завершении задачи все непрочитанные комментарии помечаются как прочитанные
Лицензии
Возможные значения:
- Отметить все
- Первая Форма
- CRM
- Личные кабинеты
- Почтовые ящики
SIP String Короткий номер телефона (при интеграции с офисной АТС)
Рабочий телефон String Номер рабочего телефона
Мобильный телефон String Номер мобильного телефона
Страна String Страна
Город String Город
Часовой пояс
Часовой пояс
Домен пользователя String Домен пользователя
Не отправлять смс Boolean Если параметр активен, то пользователю не будут отправляться СМС

Синхронизировать пользователя с ActiveDirectory

Создает или обновляет карточку пользователя

Параметр Тип Описание
Пользователь* 1F.User Синхронизируемый пользователь
Синхронизация String ID настроек синхронизации

ℹ️ Если в смарт-действии указаны настройки синхронизации, то они имеют приоритет над настройками провайдера, указанного в профиле пользователя.

Если настройки синхронизации в смарт-действии указаны: - если пользователь уже синхронизирован с AD (в профиле указаны провайдер и SID) и в профиле указан тот же провайдер аутентификации, к которому относятся настройки из смарт-действия, то параметры пользователя обновляются согласно настройкам синхронизации; - если пользователь уже синхронизирован с AD (в профиле указаны провайдер и SID), но в профиле указан другой провайдер аутентификации (т.е. указанные в смарт-действии настройки синхронизации к нему не относятся), тогда система игнорирует провайдера, указанного в профиле пользователя, и пробует синхронизировать пользователя по настройкам, указанным в смарт-действии. Если пользователь найден, то его параметры обновляются, если не найден — в журнале фиксируется ошибка о том, что пользователь не найден; - если пользователь не синхронизирован с AD (в профиле пользователя нет провайдера аутентификации и нет SID), то система пробует синхронизировать его согласно указанным настройкам синхронизации. Если система находит пользователя в AD, то записывает в его профиль провайдера аутентификации и SID, а если не находит —  в журнале фиксируется ошибка о том, что пользователь не найден.

Если настройки синхронизации в смарт-действии НЕ указаны: - если пользователь уже синхронизирован с AD (в профиле есть провайдер аутентификации и SID), то параметры пользователя обновляются согласно настройкам синхронизации для данного провайдера; - если в профиле пользователя есть провайдер аутентификации, но нет SID, то система пробует синхронизировать пользователя по настройкам провайдера, указанного в его профиле. Если пользователь найден, то его параметры обновляются, если не найден — в журнале фиксируется ошибка о том, что пользователь не найден. - если в профиле пользователя нет провайдера аутентификации — в журнале фиксируется ошибка о том, что параметры синхронизации не заданы.

Для каждого сервиса может быть только один активный провайдер аутентификации и одна активная настройка синхронизации. Иначе сопоставить провайдера и настройку невозможно.

Создать группу

Создает новую группу пользователей

Параметр Тип Описание
Наименование* String Наименование создаваемой группы
Тип группы* String ID типа создаваемой группы (см. Типы групп)

Создать орг.единицу

Создает новую орг.единицу

Параметр Тип Описание
Имя орг единицы* String Наименование единицы орг. единицы
Тип орг единицы* String ID типа создаваемой орг. единицы
Родительская орг единица String ID родительской орг. единицы для создаваемой

Создать пользователя

Создает карточку нового пользователя

Параметр Тип Описание
ID орг. единицы* 1F.OrgStructureUnit Орг. единица, в которую добавляется пользователь
Email* String Корпоративный почтовый адрес
Внешний email String Внешний почтовый адрес
Логин* String Логин
Фамилия* String Фамилия
Имя String Имя
Отчество String Отчество
Дата рождения Date Дата рождения
Отображаемое имя* String Имя, которое будет отображаться в системе (можно указать псевдоним)
В компании с Date Дата начала работы сотрудника в компании
Пол Boolean Если параметр активен, то пол мужской, если НЕ включен — женский
Язык* Integer ID языка
Сменить пароль при входе* Boolean Если параметр активен, то при входе в систему пользователь должен будет сменить пароль
Не присылать почтовые сообщения* Boolean Если параметр активен, то пользователю не будут отправляться почтовые сообщения
Пароль String Пароль
SID String SID
Может редактировать блок Рабочее* Boolean Если параметр активен, то пользователь имеет право редактировать в своем профиле блок "Рабочее"
Может редактировать блок География* Boolean Если параметр активен, то пользователь имеет право редактировать в своем профиле блок "География"
Может редактировать блок Контакты* Boolean Если параметр активен, то пользователь имеет право редактировать в своем профиле блок "Контакты"
Сотрудник компании* Boolean Если параметр активен, то пользователь является сотрудником компании, если НЕ включен — это внешний пользователь
Синхронизировать календарь с Exchange* Boolean Если параметр активен, то календарь пользователя в "Первой Форме" будет синхронизироваться в календарем в Exchange
Автоматически прочитывать комментарии при завершении задачи* Boolean Если параметр активен, то при завершении задачи все непрочитанные комментарии помечаются как прочитанные
Лицензии
Возможные значения:
- Отметить все
- Первая Форма
- CRM
- Личные кабинеты
- Почтовые ящики
SIP String Короткий номер телефона (при интеграции с офисной АТС)
Рабочий телефон String Номер рабочего телефона
Мобильный телефон String Номер мобильного телефона
Страна String Страна
Город String Город
Часовой пояс
Часовой пояс
Домен пользователя String Домен пользователя
Не отправлять смс Boolean Если параметр активен, то пользователю не будут отправляться СМС
Возвращает 1F.User Созданный пользователь

Уволить пользователя

Выполняет процедуру увольнения пользователя

Параметр Тип Описание
Увольняющий* 1F.User Пользователь, от имени которого выполняется действие
Увольняемый* 1F.User Пользователь, которого увольняют
Пометить как уволенного* Boolean Если параметр активен, то пользователь будет отмечен как уволенный
Удалить из групп* Boolean Если параметр активен, то пользователь будет удален из всех групп
Удалить все уведомления* Boolean Если параметр активен, то для пользователя будут сброшены все уведомления
Удалить из подписчиков активных задач* Boolean Если параметр активен, то пользователь будет удален из подписчиков всех активных задач
Удалить из акцептантов активных подписей* Boolean Если параметр активен, то пользователь будет удален из акцептантов всех активных подписей
Удалить из исполнителей активных задач* Boolean Если параметр активен, то пользователь будет удален из исполнителей всех активных задач
Удалить из ролей* Boolean Если параметр активен, то пользователь будет удален из участников всех ролей
Назначить исполнителем вместо увольняемого 1F.User Указанный пользователь будет назначен исполнителем вместо увольняемого пользователя
Назначить заказчиком в задачи увольняемого 1F.User Указанный пользователь будет назначен заказчиком вместо увольняемого пользователя
Заменить увольняемого в ролях на 1F.User Указанный пользователь будет назначен на роли вместо увольняемого пользователя
Заменить увольняемого в подписях на 1F.User Указанный пользователь будет назначен акцптантом вместо увольняемого пользователя
Игнорировать отмену в смарт-автоматизации Boolean Если параметр активен, то при выполнении смарт-автоматизаций в задачах (при изменении исполнителя, заказчика или акцептанта) будет игнорироваться действие "Отменить"
Удалить из орг. единиц Boolean Если параметр активен, то пользователь будет удален из участников всех орг. единиц

Удалить заместителя

Убирает пользователя из числа заместителей

Параметр Тип Описание
Кто удаляет* 1F.User Пользователь, от имени которого выполняется действие
Заместитель* 1F.User Пользователь, который ранее был назначен заместителем
Замещаемый* 1F.User Пользователь, для которого был ранее назначен заместитель
С DateTime Дата и время начала периода замещения
По DateTime Дата и время окончания периода замещения

Удалить лицензию пользователя

Удаляет у пользователей лицензию для работы с указанным модулем

Параметр Тип Описание
Удаляющий* 1F.User Пользователь, от имени которого выполняется действие
Для пользователя* Collection<1F.User> Пользователи, у которых удаляются лицензии
Модуль*
Возможные значения:
- Первая Форма
- CRM
- Личные кабинеты
- Почтовые ящики

ℹ️ При удалении лицензии "Первая Форма" автоматически удаляется лицензия "Личные кабинеты"

Удалить орг. единицу

Удаляет орг.единицу

ℹ️ При удалении родительской орг.единицы будут удалены все ее дочерние элементы

Параметр Тип Описание
ID орг. единицы* 1F.OrgStructureUnit ID орг. единицы, которая будет удалена

Удалить пользователей из групп

Удаляет пользователей из указанных групп

Параметр Тип Описание
Пользователи* Collection<1F.User> Один или несколько пользователей, которые будут удалены из групп
Группы* Collection<1F.UserGroup> Одна или несколько групп, из которых удаляются пользователи
Кто удаляет* 1F.User Кто удаляет

ℹ️ Нельзя удалять пользователя из группы, связанной с орг. единицей. При этом возникает ошибка

Удалить пользователя из орг. единицы

Удаляет пользователя из указанной орг. единицы

Параметр Тип Описание
Удаляемые пользователи* Collection<1F.User> Один или несколько пользователей, которые будут удалены из орг. единицы
Орг. единицы* Collection<1F.OrgStructureUnit> Одна или несколько орг. единиц, из которых удаляются пользователи\ (в формате \unit_id1,unit_id2,...)
Кто удаляет* 1F.User Кто удаляет

ℹ️ Если у пользователя, осуществляющего удаление, не достаточно прав, то действие не выполняется, ошибка регистрируется в журнале ошибок

ℹ️ Если удаляемых пользователей нет в указанных орг. единицах, ошибка не генерируется

Файлы

Архивировать файлы

Архивирует файлы из Диска (файлового хранилища) и вкладывает архив в ДП или в задачу

Параметр Тип Описание
Автор* 1F.User Пользователь, от имени которого выполняется действие
Файлы* 1F.Files Файлы, которые будут вложены в архив. Параметр может принимать фиксированное значение или выбираться динамически, с помощью смарт-выражения
Задача 1F.Task Задача, в которую вкладывается файл
Доп параметр Integer ID ДП, в который вкладывается файл. Если не указан, то файл вкладывается в указанную задачу
Название архива* Integer Название файла (расширение zip будет добавлено автоматически)
Возвращает 1F.File Созданный файл с архивом

Вложить в задачу письмо с указанным ИД

Вложить в задачу письмо с указанным ИД (возвращает TCClassLib.Smart.Actions.FileFromLibrary). Позволяет вкладывать письмо в задачу, используя только EmailId (хранится в таблице базы данных dbo.Emails)

Параметр Тип Описание
Задача* 1F.Task Задача, в которую вкладывается письмо
ИД письма* String EmailId. Хранится в таблице базы данных dbo.Emails. Письмо будет вложено в задачу как файл в формате .eml
Кто привязывает* 1F.User Пользователь, от имени которого выполняется действие

Вложить письмо в задачу

Вложить пиьсмо в задачу

Параметр Тип Описание
Задача* 1F.Task Задача, в которую вкладывается письмо
ИД почтового ящика* String Идентификатор почтового ящика (MailBoxId) во встроенном почтовом клиенте
Название папки* String Название папки (MailFolderName), в которой находится письмо
ИД письма* String Идентификатор письма (InternetMessageId) во встроенном почтовом клиенте. Оно будет вложено в задачу как файл в формате .eml
Кто привязывает* 1F.User Пользователь, от имени которого выполняется действие

Вложить файл

Вложить файл в задачу

Параметр Тип Описание
Задача* 1F.Task Задача, в которую вкладывается файл
Кто вкладывает* 1F.User Пользователь, от имени которого выполняется действие
Файл 1F.File Имя вкладываемого файла. Оно может принимать фиксированное значение (и тогда во все задачи будет вкладываться один и тот же файл). Но на практике имя файла обычно формируется динамически, с помощью смарт-выражения.
Опционально файл может быть передан через бинарное представление — в таком случае вместо парметра Файл требуется заполнить Base64 содержимое файла.
Описание String Комментарий к действию
Создать новый файл Boolean Если параметр активен, то и при первоначальной загрузке, и при замене файла будет создаваться новый файл. В объекте "Связи файлов с задачами" будет создаваться ссылка на новый файл.
Если параметр неактивен, то при замене файла в объекте "Связи файлов с задачами" будет обновляться ссылка на этот файл. В этом случае файл окажется замененным во всех задачах, где он был вложен.
Не писать комментарий Boolean Если параметр активен, то при вложении файла системный комментарий  будет отправлен только автору действия
Base64 содержимое файла String Контент файла в Base64 — бинарное представление содержимого файла в виде строки символов, закодированной по стандарту Base64
Новое имя файла String Название файла. Поле заполняется, если файл передается в виде Base64-контента
Id предзагруженного файла Integer ID файла из таблицы базы данных PreUploadedOnPostTaskFiles. Поле заполняется, если нужно вложить в задачу предзагруженный файл

ℹ️ Вложить можно только последнюю, актуальную версию файла (если вкладывается файл из ДП или из задачи, для которого в "Первой Форме" хранится история версий)

Вложить файл в ДП

Вложить файл в ДП

Параметр Тип Описание
Задача* 1F.Task Задача, в которую вкладывается файл
От чьего имени вкладывается файл* 1F.User Пользователь, от имени которого выполняется действие
Целевой ДП* Integer ID ДП, в который вкладывается файл
Файл 1F.File Имя вкладываемого файла. Оно может принимать фиксированное значение (и тогда во все задачи будет вкладываться один и тот же файл). Но на практике имя файла обычно формируется динамически, с помощью смарт-выражения
Опционально файл может быть передан через бинарное представление — в таком случае вместо парметра Файл требуется заполнить Base64 содержимое файла.
Комментарий String Комментарий к действию
Не писать комментарий Boolean Если параметр активен, то при вложении файла системный комментарий будет отправлен только автору действия
Создать новый файл Boolean Создание копии файла.
Если параметр неактивен (значение по умолчанию) будет вложен указанный файл. Если параметр активен, то для вложения будет создана копия файла.
Base64 содержимое файла String Контент файла в Base64 — бинарное представление содержимого файла в виде строки символов, закодированной по стандарту Base64
Новое имя файла String Название файла. Поле заполняется, если файл передается в виде Base64-контента
Id предзагруженного файла Integer ID файла из таблицы базы данных PreUploadedOnPostTaskFiles. Поле заполняется, если нужно вложить в ДП предзагруженный файл

ℹ️ Вложить можно только последнюю, актуальную версию файла (если вкладывается файл из ДП или из задачи, для которого в "Первой Форме" хранится история версий)

ℹ️ Смарт-действие не влияет на изменение идентификатора вкладываемого файла (fileId)

Вложить файл на Диск (Файловое хранилище)

Вложить файл на Диск (Файловое хранилище)

ℹ️ Действие доступно, начиная с версии 2.263 Скорпион

Параметр Тип Описание
Кто вкладывает* 1F.User Пользователь, от имени которого выполняется действие
Base64 содержимое файла* String Контент файла в Base64 — бинарное представление содержимого файла в виде строки символов, закодированной по стандарту Base64
Новое имя файла* String Название файла
ClientId папки String Значение задается в формате ТипПапки:IdПапки, к примеру: PublicFolder:3293
Тип и ID папки доступны в Url-адресе папки диска:

Выгрузить файл

Выгрузить файл в папку с общим доступом

Параметр Тип Описание
Файл* 1F.File Файл, который выгружается в папку
Путь к файлу* String Полный адрес папки

ℹ️ Выгрузить можно только один файл

ℹ️ При работе кластера серверов поддерживается выгрузка только в сетевую папку

ℹ️ Действие будет выполнено от имени учетной записи на сервере, под которой работает "Первая Форма". Эта учетная запись должна иметь право записывать файл в указанную папку. Если доступ к папке выдан на всех пользователей, то пул приложения может быть запущен от имени LocalSystem. Если доступ к папке выдан на конкретных пользователей, то пул приложения должен быть запущен от имени пользователя, который является владельцем папки (настройку пула приложения см. в Руководстве по техподдержке).

Добавить метаданные к файлу

Добавляет дополнительную информацию к файлу в Диске (файловом хранилище)

Параметр Тип Описание
Файл* 1F.File Файл в Диске
Ключ* String Название метаданных (произвольное)
Значение* String Значение метаданных (произвольное)

Импорт excel файла в таблицу БД

Импортирует данные из excel-файла в таблицу БД

Параметр Тип Описание
Файл* 1F.File Идентификатор excel-файла, который необходимо импортировать.
Параметр может принимать фиксированное значение или выбираться динамически, с помощью смарт-выражения. Чтобы выбрать файл из ДП, надо в смарт-выражении указывать
%ИмяДП%.ExtParamLinks
Таблица БД* String Название таблицы в БД
Формат файла таблицы
Выпадающий список для выбора формата файла:
- OpenXml
- Xls
- Xlsx
- Csv
Создать таблицу в БД* Boolean Eсли параметр включен, то будет создана новая таблица БД при условии, что такой таблицы не существует
Название колонки для taskId String Колонка в таблице БД с типом int, в которую будет записан номер контекстной задачи, из которой осуществляется загрузка Excel

ℹ️ При повторном использовании смарт-действия данные из файла будут не перезаписаны, а дозаписаны в таблицу БД.

Названия колонок в первой строке файла должны совпадать с названием колонок в таблице БД. Если колонка excel не найдена в таблице БД, то при импорте она будет пропущена.

Конвертировать файл

Конвертирует файл из одного формата в другой

Параметр Тип Описание
Автор* 1F.User Пользователь, от имени которого выполняется действие
Файл* 1F.File Параметр может принимать фиксированное значение или выбираться динамически, с помощью смарт-выражения. Чтобы выбрать файл из ДП, надо в смарт-выражении указывать
%ИмяДП%.ExtParamLinks
Формат* Для преобразования документов в приложении используются конвертеры — они отвечают за то, чтобы содержимое файла (шрифты, разметка, изображения) правильно отображалось при смене формата, например, из .docx в .pdf. В параметре задаются выпадающие списки для исходного и целевого форматов. Исходные форматы: docx, doc (Устаревшее, не используется). Целевые форматы: docx, rtf, txt, epub, xml, html, odt. Выбрать конвертер по умолчанию (Devexpress, SautinSoft или Aspose) для файлов с расширением pdf можно с помощью кастомной настройки приложения DefaultConverterPdf. Если настройка не задана, то проверяется ключ UseDevexpressDocToPdfConverter в системном файле appsettings.json. Если в системе не задан ни ключ UseDevexpressDocToPdfConverter (или задан в значении false), ни настройка DefaultConverterPdf, то по умолчанию используется конвертер SautinSoft. Лицензионный ключ SautinSoft хранится в кастомной настройке SautinSoftLicenseKey
Возвращает 1F.File Созданный файл

ℹ️ Исходный файл может быть взят только из Диска (файлового хранилища)

ℹ️ Созданный файл возвращается в параметре и должен быть обработан (вложен в ДП или в задачу) следующими действиями того же смарт-пакета

Конвертировать файл в pdf

Конвертирует файл в формат PDF

Параметр Тип Описание
Автор* 1F.User Пользователь, от имени которого выполняется действие
ID задачи* 1F.Task Задача, в которую вложен файл
Файл* 1F.File Параметр может принимать фиксированное значение, и тогда во все задачи будет вкладываться один и тот же файл. Но на практике файл обычно выбирается динамически, с помощью смарт-выражения.
Чтобы выбрать файл из ДП, надо в смарт-выражении указывать
%ИмяДП%.ExtParamLinks
Защита файла* Integer Возможные значения:
- 0 — нет защиты
- 1 — защита от чтения
- 2 — защита от записи (в тестовом режиме)
Пароль* String Пароль для защищенного файла
Целевой ДП 1F.ExtParam ДП, в который будет вложен файл PDF. Если ДП не указан, то файл будет вложен в задачу
PDF-A Boolean Eсли флажок включен, то файл будет сконвертирован в формат pdf-a

ℹ️ Исходный файл может быть взят только из Диска (файлового хранилища) и должен быть формата doc, docx или pptx. В режиме тестового использования возможно конвертирование из файлов форматов png, html, xlsx, xls, bmp, png, jpg, tiff, а также защита полученного файла от записи

Для преобразования документов в приложении используются конвертеры — они отвечают за то, чтобы содержимое файла (шрифты, разметка, изображения) правильно отображалось при смене формата, например, из .docx в .pdf.

Выбрать конвертер по умолчанию (Devexpress, SautinSoft или Aspose) для файлов с расширением pdf можно с помощью кастомной настройки приложения DefaultConverterPdf.

Если настройка не задана, то проверяется ключ UseDevexpressDocToPdfConverter в системном файле appsettings.json. Если в системе не задан ни ключ UseDevexpressDocToPdfConverter (или задан в значении false), ни настройка DefaultConverterPdf, то по умолчанию используется конвертер SautinSoft

Лицензионный ключ SautinSoft хранится в кастомной настройке SautinSoftLicenseKey.

Наложить изображение на документ

Накладывает изображение поверх печатного документа

Параметр Тип Описание
Тип документа* String Возможные значения:
- pdf
- docx
Исходный документ* 1F.File Файлы, которые должны быть объединены
Изображение* 1F.File Задача, в которую будет вложен файлы
Страницы* String Возможные значения:
- На каждой странице
- На титульной странице
- На последней странице
Расположение* String Возможные значения:
- Левый верхний угол
- Правый верхний угол
- Левый нижний угол
- Правый нижний угол
Возвращает 1F.File Ссылка на созданный файл —  строку вида

ℹ️ Используется для добавления печатей и факсимиле

ℹ️ Данный функционал не кроссплатформенный! Не работает в Linux

Объединить два docx файла (устаревшее, не используется)

Сравнивает и объединяет два файла Word

Параметр Тип Описание
Файл1* 1F.File В параметрах "Файл1" и "Файл2" можно указать либо конкретный файл (из файловой системы), либо смарт-выражение, которое вернет ссылку на файл, вложенный в задачу или в ДП. Чтобы получить ссылку на конкретную версию файла, в смарт-выражении можно использовать строку вида FileID.VersionID
Файл2* 1F.File Режим объединения*
Возможные значения (аналог режимов сравнения двух файлов в Word):
- Compare — сравнение двух версий документа (изменения из Файла2 будут внесены в текст Файла1 и помечены как исправления)
- Merge — объединение исправлений от нескольких авторов в одном документе
Название нового файла String Название объединенного файла. При создании файла к этому имени автоматически добавляется расширение docx
Возвращает 1F.File Ссылка на созданный файл —  строку вида

ℹ️ Это смарт-действие имеет смысл использовать для сравнения двух версий одного и того же документа

Объединить файлы

Объединяет содержимое файлов в один файл, добавляя последовательно в конец

Параметр Тип Описание
Автор* 1F.User Пользователь, от имени которого выполняется действие
Файлы* Collection<1F.File> Файлы, которые должны быть объединены
Задача 1F.Task Задача, в которую будет вложен файлы
Доп параметр 1F.ExtParam ДП, в который будет вложен объединенный файл. Если ДП не указан, файл вкладывается в задачу
Название нового файла String Название объединенного файла
Тип файлов* String Возможные значения:
- pdf
- docx
- pptx
Возвращает 1F.File Ссылка на созданный файл —  строку вида

ℹ️ Данный функционал не кроссплатформенный! Не работает в Linux

Отклонить правки, внесенные пользователями

Отклоняет правки, внесенные в файл Word

Параметр Тип Описание
Файл* 1F.File Файл с правками.
Можно указать либо конкретный файл (из файловой системы), либо смарт-выражение, которое вернет ссылку на файл, вложенный в задачу или в ДП. Чтобы получить ссылку на конкретную версию файла, в смарт-выражении можно использовать строку вида FileID.VersionID
Авторы String Список имен пользователей, вносивших правки в файл.
Не создавать новую версию файла Boolean Если параметр активен, то правки отклоняются в исходном файле.
Если параметр неактивен, то создается новая версия файла без правок

Пользователи, вносившие правки

Возвращает список имен пользователей, вносивших правки в файл Word

Параметр Тип Описание
Файл* 1F.File Файл с правками.
Можно указать либо конкретный файл (из файловой системы), либо смарт-выражение, которое вернет ссылку на файл, вложенный в задачу или в ДП. Чтобы получить ссылку на конкретную версию файла, в смарт-выражении можно использовать строку вида FileID.VersionID

ℹ️ Используются строковые имена, отображаемые в Word. Они могут не соответствовать именам пользователей в "Первой Форме"

Принять правки, внесенные пользователями

Принимает правки, внесенные в файл docx

Параметр Тип Описание
Файл* 1F.File Файл с правками в формате docx.
Можно указать либо конкретный файл (из файловой системы), либо смарт-выражение, которое вернет ссылку на файл, вложенный в задачу или в ДП. Чтобы получить ссылку на конкретную версию файла, в смарт-выражении можно использовать строку вида FileID.VersionID
Авторы String Список имен пользователей, вносивших правки в файл.
Не создавать новую версию файла Boolean Если параметр активен, то правки принимаются в исходном файле;
Если параметр неактивен, то создается новая версия файла с принятыми правками
От чьего имени совершается действие 1F.User Пользователь, от имени которого выполняется действие.

ℹ️ Если указан служебный пользователь systemrobot, то все ограничения доступа игнорируются; для остальных пользователей проверяются права доступа (к категории, к ДП, по статусу и пр.)"

Разобрать файл по шаблону

Извлекает значения из файла и заносит их в соответствующие ДП.

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

Права на выполнение операции имеют: администраторы категории, администраторы модуля (для модульных категорий) и глобальные администраторы системы.

Ограничения реализации

1. Не поддерживаются ссылки в формулах на ячейки за пределами импортируемого диапазона

2. Не поддерживаются ссылки в формулах на другие листы Excel-файла

3. Не поддерживается работа с объединенными ячейками

Параметр Тип Описание
Задача* 1F.Task Задача, в которой заполняются ДП
От чьего имени заполняются ДП* 1F.User Пользователь, от имени которого выполняется действие
ДП с файлом для разбора* 1F.ExtParam ДП "Файл", в котором содержится файл xls со значениями
ID шаблона String ID шаблона

Связать файловую папку с задачей

Связывает файловую папку с задачей

Параметр Тип Описание
Задача* 1F.Task Задача, в которой заполняются ДП
Путь к папке* String Путь к папке в Диске (файловом хранилище).
Файлы для автоматизаций не должны создаваться в разделе Общие файлы. Используйте папку Файлы автоматизации.
Пример: AutomationFolder\{Имя_целевой_папки}\
Связать вложенные файлы в задаче с папкой Диска Boolean Если параметр активен, то файлы, вложенные в задачу, помещаются в связанную папку
Выдать права на родительские папки Диска Boolean Если параметр активен, то вместе с правами на данную папку подписчиками задачи выдаются также права на родительские папки

ℹ️ Подробнее связь папки Диска (файлового хранилища) с задачей описана здесь

Сгенерировать файл по шаблону

Генерирует по шаблону файлы docx, txt, pdf, html, xml

Параметр Тип Описание
От чьего имени файл вкладывается* 1F.User Пользователь, от имени которого выполняется действие.
Имя целевого файла* String Имя создаваемого файла
Целевой ДП 1F.ExtParam Если ДП указан, то созданный файл вкладывается в него;
если ДП не указан -- то в задачу
ID шаблона String Указывается или ID шаблона, или ДП, из которого брать шаблон.
ID шаблона можно посмотреть на странице настроек категории Шаблоны файлов.
если значение этого параметра равно -1, то будет использоваться последний шаблон, созданный в категории
ДП, из которого брать шаблон 1F.ExtParam
Обрабатывать шаблон как docx документ Boolean Если параметр активен, то шаблон формируется в формате docx, если выключен — то в формате XML
Конвертировать файл в Integer Для преобразования документов в приложении используются конвертеры — они отвечают за то, чтобы содержимое файла (шрифты, разметка, изображения) правильно отображалось при смене формата, например, из .docx в .pdf.
Возможные значения:
- не конвертировать
- docx
- pdf-a
- html
- txt
Выбрать конвертер по умолчанию (Devexpress, SautinSoft или Aspose) для файлов с расширением pdf можно с помощью кастомной настройки приложения DefaultConverterPdf.
Если настройка не задана, то проверяется ключ UseDevexpressDocToPdfConverter в системном файле appsettings.json. Если в системе не задан ни ключ UseDevexpressDocToPdfConverter (или задан в значении false), ни настройка DefaultConverterPdf, то по умолчанию используется конвертер SautinSoft
Задача - источник шаблона Integer Определяет, из какой задачи будет взят файл-шаблон для генерации нового файла в смарт-действии. По умолчанию выбрана текущая задача

Сгенерировать QR-код

Генерирует QR-код в формате png. На выходе получает base64-строку для прямого использования в img. Действует ограничение текста в 4200 символов: если текст пустой или превышает 4200 символов, возникнет ошибка 400 "Недопустимый контент".

Параметр Тип Описание
Данные String Данные для формирования QR-кода
Ширина Integer Размер изображения QR-кода по горизонтали в px. По умолчанию 400px
Высота Integer Размер изображения QR-кода по вертикали в px. По умолчанию 400px
Цвет (HEX) String Цвет QR-кода в формате HEX. По умолчанию черный
Цвет фона (HEX) String Цвет фона за QR-кодом в формате HEX. По умолчанию белый

Скачать файл

Скачивает файл и вкладывает его в ДП или в задачу

Параметр Тип Описание
Задача* 1F.Task Задача, в которой содержится файл
От чьего имени файл вкладывается* 1F.User Пользователь, от имени которого выполняется действие
Целевой ДП 1F.ExtParam ДП, в который вкладывается файл. Если ДП не указан, файл вкладывается в задачу
Ссылка на файл* String Строка с адресом расположения файла. Это может быть глобальная ссылка (например, https://docs.google.com/document/d/123456789) или локальная (например, C:\Folder\page.pdf). Локальные ссылки относятся не к ПК пользователя, который запускает смарт-действие, а к веб-серверу, на котором развернута "Первая Форма" (если веб-серверов несколько, то ссылка относится к главному серверу)
Комментарий String Комментарий
Скачать несколько файлов Boolean Если параметр активен, то в поле "Ссылка на файл" можно указать путь к папке, тогда будут скачаны все файлы из этой папки (отфильтрованные по маске и датам, если эти ограничения заданы). Обрабатываются только файлы, находящиеся в самой указанной папке, вложенные папки не обрабатываются.
Если параметр неактивен, то в поле "Ссылка на файл" можно указать только путь к одному файлу
Маска имени файла String Будут загружены только файлы, имя которых соответствует указанной маске
Дата создания файла с DateTime Будут загружены только файлы, созданные не ранее указанной даты
Дата создания файла по DateTime Будут загружены только файлы, созданные не позднее указанной даты
Имя файла String Имя файла, который нужно скачать
Тип HTTP запроса
Возможные значения:
- DELETE
- GET
- POST
- PUT
Список параметров String Возможно добавление нескольких параметров. При добавлении названия параметра появляется поле для ввода его значения
Заголовки String Возможно добавление нескольких заголовков. При добавлении названия заголовка появляется поле для ввода его значения.
Значение по умолчанию: application/x-www-form-urlencoded.
Заголовок Content-Type игнорируется, когда параметр Тело HTTP запроса пуст
Тело HTTP запроса String Используется только для POST, PUT и DELETE запросов.\ Если параметр заполнен, то Список параметров игнорируется.\ При использовании этого параметра указание хедера Content-Type обязательно

ℹ️ Если файл вкладывается в задачу, то он сохраняется в файловом провайдере, который выбран в настройках категории

ℹ️ Если файл вкладывается в ДП, то он сохраняется в файловом провайдере, который выбран в расширенных настройках данного ДП

ℹ️ Если провайдер в настройках не указан, файл в обоих случаях сохраняется в выбранный по умолчанию провайдер загружаемых файлов системы

ℹ️ Ограничения по маске и датам действуют только при включенном флажке Скачать несколько файлов. Если заданы ограничения по маске и датам, то применяются оба ограничения (логическое "И")

ℹ️ Если включен флажок Скачать несколько файлов, по указанному адресу есть несколько файлов, подходящих под заданную маску и даты, и при этом указан Целевой ДП, то эти файлы будут вкладываться в ДП поочередно (один файл вкладывается, сразу же удаляется и вкладывается следующий), и в итоге в ДП останется некий случайный файл из папки. Лучше в таком случае вкладывать файлы не в ДП, а в задачу, т.е. Целевой ДП не указывать.

ℹ️ Параметры Имя файла, Тип HTTP запроса, Список параметров, Заголовки и Тело HTTP запроса используются, если нужно загрузить файл из сторонней системы, войти в которую нужно под определенными учетными данными.

Создать копию для версии файла

Создает копию для выбранной версии файла

Параметр Тип Описание
Файл* 1F.File Файл, для которого создается копия
Системная копия Boolean Если параметр активен, то созданная копия будет скрытой (скрытые копии не отображаются  в списке версий)
Возвращает 1F.File Ссылка на созданный файл —  строку вида

Создать файл отчета

Формирует отчет и сохраняет его в файл

Параметр Тип Описание
ID отчета* String Выбор созданного в системе отчета из выпадающего списка.
Если значение рассчитывается с помощью автоматизации, смарт-выражение или смарт-скрипт должен возвращать строку JSON вида: \'{"Id": 123, "Name": "Название"}\'
Параметры отчета
Соответствуют параметрам конкретного отчета
Параметры выбранного отчета
Имя конечного файла* String Имя создаваемого файла без расширения
Расширение файла*
Возможные значения:
pdf, html, csv, image, dbf, xml, json. mht, odf, ods, odt, Excel2007, Word2007, rtf, Point2007, XAML, text, svg, ps, ppml

Убрать связь задачи с файловым хранилищем (Диском)

Создает копию для выбранной версии файла

Параметр Тип Описание
Задача* 1F.Task Задача, связанная с папкой Диска (файлового хранилища)
Разорвать связь файлов в задаче с папкой Диска Boolean Если параметр активен, то связь файлов в задаче и папки Диска (файловом хранилище) будет разорвана

ℹ️ Подробнее связь папки Диска (файлового хранилища) с задачей описана здесь

Удалить файл

Удаляет файл

Параметр Тип Описание
Кто удаляет файл* 1F.User Пользователь, от имени которого выполняется действие
ИД файла* Collection<1F.File> Файлы, которые должны быть удалены

Установить защиту на файл (устаревшее, не используется)

Устанавливает защиту на файл, вкладываемый в ДП |

Параметр Тип Описание
От чьего имени файл вкладывается* 1F.User Пользователь, от имени которого выполняется действие
Целевой ДП* 1F.ExtParam ДП, в который вкладывается файл
Уровень защиты* Integer Возможные значения:
- 0 — без защиты
- 1 — только чтение, без пароля
- 2 — отслеживание изменений
- 3 — комментирование
- 4 — только чтение, с паролем

Экспорт данных в Excel

Выгружает данные, получаемые из хранимой процедуры, в файл формата Excel и вкладывает этот файл в задачу или в ДП

Параметр Тип Описание
Имя целевого файла* String Пользователь, от имени которого выполняется действие
Имя TSQL процедуры* String Хранимая процедура с параметрами: @TaskID int, @UserID int, @Mode varchar(max). Параметры передаются в полях ID задачи, ID пользователя, Режим выполнения
Задача* 1F.Task Задача, в которую вкладывается файл. Если указан "Целевой ДП", то файл вкладывается в этот ДП в данной задаче
Целевой ДП 1F.ExtParam ДП, в который вкладывается файл. Если ДП не указан, то файл будет вложен в задачу, указанную в поле "Задача"
От чьего имени файл вкладывается файл* 1F.User Пользователь, от имени которого выполняется действие
ID задачи Integer Номер задачи (параметр @TaskID)
ID пользователя Integer ID пользователя (параметр @UserID)
Режим выполнения String Произвольная строка для передачи дополнительного параметра в процедуру, при необходимости (параметр @Mode)

Прочее

Выдать роль в чате

Позволяет назначить участника чата администратором, модератором или автором

Параметр Тип Описание
Задача* 1F.Task Номер чата, в котором назначается роль
От чьего имени совершается действие* 1F.User Пользователь, от имени которого будет назначена роль
Пользователи 1F.User Список ID пользователей, которым будет выдана новая роль
Роль* String Выбор роли, которая будет назначена для указанных пользователей в чате. Доступные значения
- Владелец
- Администратор
- Модератор
- Автор

Вызов внешнего сервиса

При помощи данного смарт-действия можно реализовать асинхронную работу системы и сторонних сервисов AI в рамках очереди в "Первой Форме". Данное действие будет выполнять HTTP-запрос - Метод — POST - content-type — application/json или multipart/form-data, если в сервис отправляются файлы (параметр "Список файлов в формате: ключ -> fileId") - url — ApiUrl из настроек сервиса UniversalApiService Если у сервиса UniversalApiService определены параметры callback поток и callback событие,а в смарт-действии передан параметр события "Ключ контекста", то в теле запроса формируется дополнительное свойство callbackUrl следующего вида: {некий роут}/{ключ сервиса}/{контекст очереди}

Параметр Тип Описание
API Сервис* Integer API сервиса с типом UniversalApiService
Запрос* String Текст запроса (input в body)
Контекст запроса* String Информация, по которой нужно ответить на вопрос, который пришел в input
Требуется обоснование Boolean Признак, указывающий на необходимость объяснения результата.
В настоящее время не используется для сервиса UniversalApiService
Список файлов в формате: ключ -> fileId String Массив ID файлов для отправки в сервис. Если параметр имеет значение, то в настроенный сервис отправляются указанные в json файлы

HTTP ответ

Формирует HTTP ответ с результатом выполненного смарт-пакета

Параметр Тип Описание
Тип возвращаемого результата* Возможные значения:
- Json
- Xml
- PlainText
- Html
Тело ответа String Строка с результатом в выбранном формате
Код ответа Integer По умолчанию код ответа равен 200 (если значение не указано).
Возможные значения и их коды можно посмотреть здесь.
Заголовки String Возможно добавление нескольких заголовков.
При добавлении названия заголовка появляется поле для ввода его значения.
Тип файла, то, как он будет обрабатываться браузером, задается в заголовке  Content-Type, а имя файла — в Content-Disposition.
Файл 1F.File Файл для отправки.
Можно указать нужную версию в формате FileId.VersionId. Если указать только FileId, будет отправлена последняя версия файла
Возвращает
Результат

ℹ️ Смарт-действие доступно только в Общих смартах и используется при работе с публикациями пакетов действий -- это действие обычно является последним в пакете, и результат этого действия возвращается как результат публикации.

При вызове этого смарт-действия из скрипта на LUA результат выполнения нужно передавать в переменную RESULT: RESULT = HTTPresponse(httpContent, httpCode) где httpContent — тело ответа, а httpCode — код ответа. Если указан параметр "Файл", то возвращается http-ответ для отправки указанного файла в бинарном виде

Выполнить sql скрипт

Выполняет хранимую процедуру

Параметр Тип Описание
Список параметров Параметры, к которым можно обращаться в хранимой процедуре как @\<имя параметра>.
Возможно добавление нескольких параметров.
При добавлении параметра появляется поле для ввода значения этого параметра
Sql-скрипт* String Строка с вызовом хранимой процедуры вида
exec \<имя хранимой процедуры> @\<имя параметра 1>, \<имя параметра 2>...
Возвращает String Строка с результатом выполнения хранимой процедуры

ℹ️ Смарт-действие используется при необходимости публикации сложных высоконагруженных скриптов, для которых важен не только результат выполнения, но и признак успешности выполнения. В этом случае в опубликованный пакет действий включается сначала смарт-действие "Выполнить sql скрипт" — в нем вызывается хранимая процедура, которая возвращает строку JSON с телом ответа и кодом ответа. Следующим действием в пакете вызывается "HTTP-ответ", которое использует возвращаемую строку и извлекает из нее отдельно тело ответа и отдельно код ответа.

Выполнить импорт данных

Выполняет импорт данных из файла в соответствии с одной из настроек импорта

Параметр Тип Описание
Пользователь* 1F.User Пользователь, от имени которого выполняется действие
Импорт данных* 1F.Import Идентификатор одной из заранее созданных настроек импорта, см. Руководство администратора
Путь к файлу String Если файл с данными, которые должны быть импортированы, находится на сервере, то указывается путь к файлу.
Если файл вложен в задачу или в ДП, то указывается ID файла
Параметры контекста String Сериализованные в json настройки импорта. Настройки зависят от выбранного импорта

Выполнить смарт-скрипт

Выполняет смарт-выражение или Lua-скрипт

Параметр Тип Описание
Скрипт* Смарт-действие или Lua-скрипт, который необходимо выполнить
Возвращает String Строка с результатом выполнения скрипта

Добавить новое событие в очередь

Добавляет данные в указанный поток очереди событий

Параметр Тип Описание
Тип* Возможные значения:
- Task — действие над задачей
- Custom — произвольное действие
Поток* Integer ID потока событий
Событие
Выбор одного из смарт-событий, реализованных в системе
Кастомное действие Integer ID кастомного действия
Внутренний ID Integer Для типа Task — номер задачи
Внешний ID Integer GUID или ID объекта во внешней системе
Параметры
Параметры, к которым можно обращаться в хранимой процедуре как @\<имя параметра>.
Возможно добавление нескольких параметров.
При добавлении параметра появляется поле для ввода значения этого параметра

ℹ️ Набор параметров (поле Параметры) должен соответствовать выбранному событию. Набор параметров для события можно посмотреть окне помощи для lua-скриптов

ℹ️ Подробнее об очередях

Завершить опрос

Помечает опрос завершенным для определенного пользователя в указанной задаче. После завершения опрос становится недоступным для изменений. Пользователям при настроенной смарт-автоматизации не требуется вручную нажимать кнопку завершения внутри самого опроса

Параметр Тип Описание
Пользователь* 1F.User Пользователь, который проходит опрос
Задача* 1F.Task Задача, в которой запущен опрос

Записать в регистр

Добавляет в регистр новую запись или меняет (перезаписывает) существующую

Параметр Тип Описание
Регистр* 1F.Registry ID регистра
Измерения и ресурсы*
Соответствуют выбранному регистру
Задача 1F.Task Задача, к которой привязано изменение данных в регистре
Перезаписать Boolean Если параметр активен, то новые данные будут записаны вместо имеющихся.\ Если параметр неактивен, то будет добавлена новая запись
Дата DateTime Дата, на которую фиксируются данные

ℹ️ Подробнее о регистрах

Инициировать произвольное событие

Инициирует произвольное событие

Параметр Тип Описание
Задача* 1F.Task Задача, в которой инициируется событие
Событие* 1F.Event Одно из заранее настроенных произвольных событий
Задача инициатор 1F.Task Задача, из которой инициируется событие
Пользователь инициатор 1F.User Пользователь, от имени которого инициируется событие

ℹ️ Подробнее о произвольных событиях

Обновить шаблон опроса

Обновляет шаблон опроса в JSON редакторе

Параметр Тип Описание
Задача* 1F.Task Задача, в которой выполняется действие
Шаблон опроса* String Шаблон опроса в формате JSON. Если шаблона в опросе нет, он будет создан. Если шаблон есть, он будет обновлен

Отменить

Позволяет отменить или подтвердить выполнение смарт-событие

Параметр Тип Описание
Причина String Причина отклонения смарт-события
Действие 1F.Event

Доступные варианты

  • Отмена (по умолчанию) — выводит окно с уведомлением о невозможности совершить действие. В заголовке модального окна отображается слово "Внимание".

Если смарт-действие настроено для события перед сменой ДП, то причина будет отображаться не в модальном окне, а красным текстом под соответствующим параметром.

  • Подтверждение — выводит предупреждение с вариантами: Отмена — нажатие отменяет действие, событие будет прервано Ок — нажатие подтверждает действие, событие будет успешно совершено

ℹ️ Отменить можно только смарт-событие, которое начинается со слова "Перед...", например, "Перед созданием задачи", "Перед сменой срока" и т.п. При отмене события оно не происходит, т.е. задача не создается, срок не изменяется и т.п.

ℹ️ Внимание: Для корректного вывода смарт-отмены на событии "Перед сменой ДП" необходимо в файле web.config отключить кастомные ошибки (установить СustomErrors mode="Off")

Если в категории настроена смарт-автоматизация отмены перед изменением ДП, после выполнения условий автоматизации, когда новое значение поля не прошло валидацию, система автоматически возвращает пользователя в режим редактирования этого же поля. Поле сразу приобретает статус ошибки с визуальным выделением красным цветом и активирует автофокус с установленным курсором, позволяя без дополнительных кликов продолжить редактирование. Индикация ошибки сохраняется до тех пор, пока пользователь не внесет исправления. Краснота снимается мгновенно в процессе ввода новых корректных данных или возвращению к прежнему значению до редактирования. Для отката изменений можно воспользоваться стандартной комбинацией клавиш Ctrl/Cmd+Z: при ее использовании поле восстанавливает предыдущее (валидное) значение, а фокус ввода автоматически снимается, завершая редактирование.

ℹ️ Внимание: если, в соответствии с бизнес-процессом, требуется создание более одного смарта "Отменить" с типом "Подтверждение", необходимо использовать один смарт для одного события. Недопустимо использование нескольких смарт-подтверждений

Отправить HTTP-запрос

Отправляет http-запрос

Параметр Тип Описание
Тип HTTP запроса* Возможные значения:
- DELETE
- GET
- POST
- PUT
Url* String URL запроса
Список параметров String Возможно добавление нескольких параметров.
При добавлении названия параметра появляется поле для ввода его значения
Список хедеров String Возможно добавление нескольких хедеров.
При добавлении названия хедера появляется поле для ввода его значения
Тело HTTP запроса String Используется только для POST, PUT и DELETE запросов.\ Если параметр заполнен, то Список параметров игнорируется.\ При использовании этого параметра указание хедера Content-Type обязательно
Не преобразовывать json в объект Boolean Если параметр активен, то в ResponseContent возвращается строка.
Если флажок не включен, то в ResponseContent возвращается объект.
Параметр используется для совместимости с прежними версиями платформы, предпочтительнее не включать флажок и возвращать объект
Таймаут (миллисекунды) Integer Настройка времени ожидания ответа. Позволяет задать необходимое время в миллисекундах для увеличения стандартного лимита. Таймаут по умолчанию — 60 секунд
С помощью смарт-действия "Отправить HTTP-запрос" можно получать данные от внешних веб-сервисов и отправлять данные внешним веб-сервисам.

Смарт-действие "Отправить HTTP-запрос" возвращает JSON со следующими атрибутами

  • InnerError — текст сообщения об ошибке или пустая строка;
  • HttpResponse — в свою очередь, содержит два атрибута StatusCode — код успешности (200 — успешно), ResponseContent — строка с ответом веб-сервиса.

{"InnerError":"","HttpResponse":{"StatusCode":200,"ResponseContent":"ответ_веб_сервиса"}}

С текстом ответа можно работать как с выражением в формате JSON — например, с помощью функций JSON_VALUE, JSON_QUERY и OPENJSON.

ℹ️ Отправляемый GET запрос имеет вид \<Url>?\<параметр1=значение1>&\<параметр2=значение2>...

Смарт-действие возвращает строку вида {"InnerError":"","HttpResponse":{"StatusCode":200,"ResponseContent":"\<ответ_веб_сервиса>"}} Для SOAP запросов параметры игнорируются, используется только тело запроса. Если HTTP-сервер требует логин и пароль, их можно передавать в хедере с названием Authorization и значением вида Basic XXXXXXX, где XXXXXXX это логин и пароль в формате Base64.

Примеры использования HTTP запросов

Получение курса валюты

Рассмотрим пример получения актуального курса валюты евро с сайта ЦБ с помощью смарт-действия Отправить HTTP-запрос. По запросу , отправленному на URL https://www.cbr-xml-daily.ru/daily_json.js, возвращается JSON выражение, содержащее курсы всех валют на текущий день. Для получения курса евро достаточно пакета с двумя смарт-действиями: отправка запроса и разбор ответа.

Смарт-пакет для работы с курсом валюты в формате JSON

Во втором смарт-действии для вычисления значения ДП используется выражение T-SQL

select top 1 JSON_VALUE ( @ActionResult8688, '$.HttpResponse.ResponseContent.Valute.EUR.Value' )

См. аналогичный пример, реализованный с помощью Lua-скрипта.

Калькулятор

Если веб-сервис работает с данными в XML-формате, в смарт-действии Отправить HTTP запрос нужно использовать параметр Тело POST запроса. При этом необходимо передавать в хедере ключ Content-Type. Для примера рассмотрим работу с он-лайн калькулятором http://www.dneonline.com/calculator.asmx и выполним простейшее действие — сложение двух чисел 2+3. Результат запишем в ДП "Число". Смарт-пакет состоит из двух действий — отправка HTTP-запроса и обработка полученного результата. 1. Отправка HTTP-запроса.

В соответствии с API веб-сервиса, тело POST-запроса должно быть таким:

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
  <Add xmlns="http://tempuri.org/">
    <intA>2</intA>
    <intB>3</intB>
  </Add>
</soap12:Body>
</soap12:Envelope>
{"InnerError":"","HttpResponse":{"StatusCode":200,"ResponseContent":"ответ_веб_сервиса"}}

Структура

-InnerError — текст сообщения об ошибке или пустая строка.

-HttpResponse — в свою очередь, содержит два атрибута.

-StatusCode — код успешности (200 — успешно).

-ResponseContent — строка с ответом веб-сервиса.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
    <AddResponse xmlns="http://tempuri.org/">
        <AddResult>5</AddResult>
    </AddResponse>
  </soap:Body>
</soap:Envelope>
Для обработки этого результата в смарт-выражении сначала из JSON получаем атрибут ResponseContent с XML-выражением, а затем из XML-выражения получаем значение AddResult .
DECLARE @xml_text xml;
DECLARE @text varchar(max);
set @text = (select top 1 JSON_VALUE (@ActionResult10670, '$.HttpResponse.ResponseContent') for xml path(''));
set @xml_text = replace(replace(@text, '&lt;', '<'),'&gt;','>');
;WITH XMLNAMESPACES ('http://www.w3.org/2003/05/soap-envelope' AS SOAP, 'http://tempuri.org/' AS NS)
SELECT n.value('.', 'VARCHAR(MAX)')
FROM @xml_text.nodes('/SOAP:Envelope/SOAP:Body/NS:AddResponse/NS:AddResult') N ( n );
Смарт-действие для обработки результатов http-запроса Чат-бот Telegram

Отправить команду (Обновить задачу)

Открывает карточку задачи

Параметр Тип Описание
Пользователь* 1F.User Пользователь, для которого выполняется действие

ℹ️ Команда обновляет карточку задачи, кроме блока "Используется"

Отправить команду (Открыть ссылку)

Открывает задачу или указанную ссылку в текущей вкладке, новой вкладке или в модальном окне

Параметр Тип Описание
Пользователь* 1F.User Пользователь, для которого выполняется действие
№ задачи 1F.Task Задача, карточка которой должна быть открыта. Если по с
Открывать в String Определяет, где будет открываться ссылка или задача.
- Текущая вкладка — карточка задачи или ссылка будет открыта в текущей вкладке (по умолчанию).
- Модальное окно — карточка задачи или ссылка будет открыта во всплывающем окне.
- Новая вкладка — карточка задачи или ссылка будет открыта в новой вкладке браузера.
- True — аналогично значению Модальное окно
- False — аналогично значению Текущая вкладка
Url String Ссылка, которая должна быть открыта. Если нужная страница должна быть открыта не в модальном окне, то адрес должен быть относительным без spa.
Пример: если необходимо открыть портал с ID 1234 в текущем окне, то ссылка должна быть /portal/1234. Если портал должен открываться в модальном окне, следует указать ссылку вида /spa/portal/1234

ℹ️ Если указан URL, то открывается ссылка, если URL не указан — открывается задача, указанная в параметре "№ задачи"

Пересчитать смарт-доступ в задачах

Пересчитывает правила смарт-доступа к задачам в категории

Параметр Тип Описание
Правило* 1F.SmartAccess Одно из заранее настроенных правил смарт-доступа
ID задачи* Collection<1F.Task> Если поле пустое или смарт-выражение вернуло пустой список, то пересчет не выполняется
Обновить все активные задачи* Boolean Если параметр активен, то поле "ID задачи" не учитывается. В этом случае при выполнении пакета в категории пересчет выполняется для всех активных задач этой категории, а при выполнении общего смарта — во всех активных задачах всех категорий

ℹ️ Параметр "Обновить все активные задачи" следует включать обдуманно, поскольку это может вызвать обработку большого числа задач и приведет к высокой нагрузке на сервер

Пересчитать смарт-доступ для доп. параметров в задачах

Пересчитывает правила смарт-доступа к ДП в задачах категории

Параметр Тип Описание
Правило* 1F.SmartAccess Одно из заранее настроенных правил смарт-доступа
ID задачи* Collection<1F.Task> Если поле пустое или смарт-выражение вернуло пустой список, то пересчет не выполняется
Обновить все активные задачи* Boolean Если параметр активен, то поле "ID задачи" не учитывается. В этом случае при выполнении пакета в категории пересчет выполняется для всех активных задач этой категории, а при выполнении общего смарта — во всех активных задачах всех категорий

ℹ️ Параметр "Обновить все активные задачи" следует включать обдуманно, поскольку это может вызвать обработку большого числа задач и приведет к высокой нагрузке на сервер

Связать письмо с задачей

(устаревшее, не используется) Устанавливает связь между задачей и почтовым сообщением

Параметр Тип Описание
Почтовое сообщение* 1F.Email Почтовое сообщение, с которым устанавливается связь
Задача* 1F.Task Задача, с которой устанавливается связь
Кто привязывает* 1F.User Пользователь, от имени которого выполняется действие

Создать или изменить пакет действий

Создает или редактирует существующий пакет действий. Используется для работы ИИ-агентов

ℹ️ Действие доступно, начиная с версии 2.264 Кассиопея

Параметр Тип Описание
Id пакета Integer ID пакета действий. Параметр заполняется, если требуется отредактировать уже существующий пакет
Категория Integer ID категории, в которой создается или редактируется пакет действий
Название* String Название пакета действий
Описание String Описание пакета действий
Циклический* Boolean У пакета включен признак циклического выполнения
Id смарта для циклического итератора Integer ID смарт-выражения, которое возвращает строку с идентификаторами итерируемых объектов. Необходимо указать, если активен параметр Циклический
Id фильтра прерывания цикла Integer ID смарт-выражения, в котором задано условие прерывания цикла. Необходимо указать, если активен параметр Циклический
Режим без контекста*
Признак использования параметров события
Идентификатор события Integer ID события, в котором создается или редактируется пакет действий
Origin Integer ID источника. Возможные значения:
- 0 — Почтовый смарт
- 1 — Кастомная страница
- 2 — Категория
- 3 — Очередь
- 4 — Электронный документ
- 5 — Электронный документ СБИС
Для почты* Boolean Используется для Smart-обработка почты
Для очереди* Boolean Используется для привязки к событиям очереди

Создать или изменить смарт-фильтр

Создает или редактирует существующий смарт-фильтр. Используется для работы ИИ-агентов

ℹ️ Действие доступно, начиная с версии 2.264 Кассиопея

Параметр Тип Описание
Идентификатор смарт-фильтра Integer ID смарт-фильтра. Параметр заполняется, если требуется отредактировать уже существующий смарт-фильтр
Название смарт-фильтра* String Название фильтра
Идентификатор события* Integer ID события, в котором создается или редактируется смарт-фильтр
Идентификатор пакета действий Integer ID смарт-правила, выполнение которого проверяет смарт-фильтр
Идентификатор пользователя-владельца Integer Владелец смарт-фильтра. Если фильтр не является публичным (параметр Является публичным выключен), он будет доступен только указанному пользователю
Категория Integer ID категории, в которой создается или редактируется смарт-фильтр
Режим без контекста* Boolean Признак использования параметров события
Идентификатор Origin* Integer ID источника. Возможные значения:
- 0 — Почтовый смарт
- 1 — Кастомная страница
- 2 — Категория
- 3 — Очередь
- 4 — Электронный документ
- 5 — Электронный документ СБИС
Доступен как смарт-отбор* Boolean Используется в готовых фильтрах для быстрого отбора задач
Является публичным* Boolean Если параметр активен, смарт-фильтр доступен всем пользователям. В обратном случае он будет доступен только пользователю, который указан как владелец в параметре Идентификатор пользователя-владельца.
T-SQL* String T-SQL выражение фильтра
Значение параметра String Не используется
Является циклическим контекстом* Boolean Является контекстом циклического смарт-пакета
Идентификатор действия Integer Не используется

Создать новый тред

Создание нового обсуждения

ℹ️ Действие доступно, начиная с версии 2.262 Весы

Параметр Тип Описание
Комментарий, от которого создаем тред Integer ID сообщения, из которого будет инициировано новое обсуждение
Тема треда* String Название обсуждения
Пользователь, который создает тред* Integer ID пользователя, от лица которого будет создано обсуждение
Задача источник Integer Номер задачи, в которой будет создано обсуждение

ℹ️ Параметр необходимо заполнить только в том случае, если тред создается без привязки к определенному сообщению. При этом параметр Комментарий, от которого создаем тред должен быть не заполнен

Удалить повторение

Удалить настройки повторения задачи

Параметр Тип Описание
Задача 1F.Task Задача, в которой было настроено повторение

Установить повторение

Установить повторение задачи (соответствует настройкам пользовательского режима, см. Руководство пользователя)

Параметр Тип Описание
Задача* 1F.Task Задача, в которой настраивается повторение
Дата начала повторения* DateTime Дата и время начала серии повторений
Прекратить после N раз Integer Число повторов в серии
Повторять до DateTime Дата и время окончания серии повторений
Действия с файлами*
Возможные значения:
- DoNotCopy
- CreateCopy
- CreateLink
Тип повторения
Возможные значения:
- Minutely
- Daily
- Weekly
- Monthly
- Yearly
Периодичность Integer Периодичность повторов в минутах, днях, неделях, месяцах, годах
Только рабочее время Boolean Если параметр активен, то при расчете периодичности учитываются только рабочие минуты или дни
День Integer Номер дня в месяце
День недели Integer Номер дня в неделе
Неделя месяца Integer Номер недели в месяце
Месяц Integer Номер месяца в году
Минут на выполнение Integer Срок создаваемой задачи
Рабочий день
Возможные значения:
- Первый
- Последний
- 10-й
Смещение, дней Integer Количество дней
Срок выполнения DateTime Срок выполнения
Кастомные дни String Принимает массив дат в формате JSON для определения дней-исключений и дополнительных дней. Каждый элемент массива является объектом с полями dayType (тип дня) и dayDate (конкретная дата и время). Пример значения параметра: { "dayType":1, "dayDate":"2025-12-05T18:00:04.723" }, { "dayType":0, "dayDate":"2025-02-10T18:00:04.723" } \

ℹ️ Если в задаче уже установлено повторение, то при выполнении смарт-действия конфигурация обновляется

Из сторонних dll

В этом разделе собраны смарт-действия, не включенные в базовый состав "Первой Формы" и поставляемые дополнительно.

Обновить параметры с помощью TSQL-вычислений

Кастомная обработка данных с помощью хранимой процедуры SQL

Параметр Тип Описание
Номер задачи Integer Номер задачи; если необходима массовая обработка — номер задачи не указывается
ID категории Integer ID категории; если необходима обработка одной задачи — номер категории не указывается
ID параметра Integer ID параметра; если необходимо обновить несколько параметров — номер параметра не указывается
Имя TSQL процедуры* Date Имя выполняемой процедуры
Входящие параметры:
- @UserID int -- ID пользователя, от имени которого будут выполняться действия,
- @TaskID int = null -- ID задачи,
- @SubcatID int = null -- ID категории,
- @ExtParamID int = null -- ID ДП,
- @Mode varchar(max) = null -- любое значение, не предусмотренное другими параметрами,
- @ErrorMessage varchar(1000) = null out -- текст сообщения об ошибке, которое при определенных условиях будет выдаваться пользователю во всплывающем окне.
Все входящие параметры, кроме ID пользователя, необязательные (их можно оставлять пустыми).
Процедура должна возвращать набор данных вида
SELECT NULL TaskID, NULL ExtParamID, NULL Value, NULL UserID
где:
- TaskID — номер задачи, в которой надо изменить значение ДП,
- ExtParamID — ID ДП, значение которого будет изменено,
- Value — значение, которое надо записать в ДП,
- UserID — ID пользователя, от имени которого будет выполнено действие.
В простом случае набор данных содержит одну запись, т.е. значение указанного ДП надо изменить только в одной указанной задаче. В более сложных случаях набор данных содержит несколько записей, что позволяет изменять несколько ДП в нескольких задачах
Режим выполнения String Произвольная строка для передачи дополнительного параметра в процедуру, при необходимости
ID пользователя Integer ID пользователя, от имени которого будут изменяться ДП; если не указан — используется служебный пользователь systemrobot

Примеры вызова SQL-процедуры из смарта

Пример 1. Формирование и возврат набора данных

/* расчет рейтинга клиента по объему продаж */
ALTER proc [dbo].[Update_Ratings]
@TaskID int = null,
@SubcatID int = null,
@ExtParamID int = null,
@Mode varchar(max) = null,
@UserID int,
@ErrorMessage varchar(1000) = null out
As
/* проверки */
if @TaskID is not null begin
set @ErrorMessage = 'Данное действие не может принимать в качестве параметра номер задачи. Оно предназначено только для массовой обработки'
return
end
if @SubcatID is null begin
set @ErrorMessage = 'Укажите номер категории'
return
end
/* формирование промежуточной таблицы с расчетами */
declare @TargetObjects table (TaskID int, SaleAmount money, Rating varchar(max))
insert into @TargetObjects (TaskID, SaleAmount, Rating)
select Tasks.TaskID, Sales.SaleAmount, 'NOT_VIP' as Rating
from Tasks (nolock)
join Sales (nolock) on Sales.TaskID = Tasks.TaskID
where Tasks.SubcatID = @SubcatID and Tasks.IsClosed = 1
update @TargetObjects
set Rating = 'VIP'
where SaleAmount > 1000000
/* возвращаемый набор данных */
select t.TaskID, @ExtParamID ExtParamID, t.Rating Value, @UserID UserID
from @TargetObjects t
В отдельных случаях выполнять действия над данными можно в самой хранимой процедуре с помощью веб-сервисов "Первой Формы". Эти веб-сервисы вызываются как обычные хранимые процедуры, их описание можно посмотреть здесь.

Пример 2. Работа через веб-сервисы

/* написание предупреждающего комментария */
ALTER proc [dbo].[Allert_Subscriber]
@TaskID int = null,
@SubcatID int = null,
@ExtParamID int = null,
@Mode varchar(max) = null,
@UserID int,
@ErrorMessage varchar(1000) = null out
as
declare @min_sale_taskid int
select @min_sale_taskid = Tasks.TaskID, MIN(Sales.SaleAmount)
from Tasks (nolock)
join Sales (nolock) on Sales.TaskID = Tasks.TaskID
where Tasks.SubcatID = @SubcatID and Tasks.IsClosed = 1
group by Tasks.TaskID
exec dbo. tc_ws_addComment @UserID, @min_sale_taskid, 'Минимальный объем продаж!'

Связывание файла с задачей по штрих-коду

Связать файл с задачей по штрих-коду

Параметр Тип Описание
Вложенный файл 1F.File Файл
Разбить файл на части, ориентируясь на штрихкоды Boolean Если параметр активен, то входящий файл разбивается на отдельные файлы на основе штрих-кодов, нанесенных на некоторые страницы, и эти файлы распределяются по задачам

ℹ️ Возможные сценарии использования смарт-действия описаны здесь

Синхронизировать доп.параметры задач

Получение всех ДП из 1С (при настроенной синхронизации между системами)

Параметр Тип Описание
Имя настроек синхронизации 1С Integer Имя настроек синхронизации
Полезные ссылки
Особенности работы с различными типами ДП
Общие настройки приложения