Docs

Docs

Open in ChatGPT
Ask ChatGPT about this page
Open in Claude
Ask Claude about this page

Массовое изменение

Массовое изменение

Назначение

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

Цели и задачи

  • Менять значение одного или нескольких полей у выбранных документов из списка.
  • Выполнять массовые операции без поштучного редактирования (смена статуса, ответственного, проекта и т.д.).
  • Обеспечивать контроль прав и валидацию при массовом обновлении.
  • Использовать массовое изменение в связке с фильтрами списка для целевого набора документов.
  • Снижать трудозатраты на рутинные обновления.

Для кого

  • Пользователи, регулярно обновляющие группы документов (задачи, обращения, проекты).
  • Координаторы и руководители при массовой смене статусов или назначений.
  • Администраторы при массовых корректировках данных (с соблюдением регламента).

Основные понятия

  • Bulk Update — действие в списке: выбор записей, выбор поля и новое значение, применение ко всем выбранным.
  • Пакетное обновление — обновление нескольких документов в одном запросе или цикле с валидацией; может быть реализовано через API или server script.
  • Валидация — проверка прав и бизнес-правил для каждого документа при массовом обновлении; при ошибке по одному документу результат может быть частичным (успешные/неуспешные).
  • В Dinext пакетные операции в коде: обход списка и обновление через doc.save() или Dinext.db.set_value с учетом прав.

Основные сущности / объекты

  • Интерфейс Bulk Update в списках .
  • database.py — низкоуровневые операции; предпочтительно использовать тип документа.save() с проверкой прав.
  • API: массовое обновление через скрипт или вызов метода с массивом документов (при реализации в приложении).

Основные сценарии / процессов

Массовое обновление из списка (Bulk Update)

  1. Открыть список документов (например, Task, Issue); применить фильтры, чтобы оставить нужное подмножество.
  2. Отметить строки (checkbox) или выбрать «Все на странице» / «Все по фильтру» при поддержке.
  3. Выбрать действие «Bulk Update» или «Массовое обновление».
  4. В диалоге выбрать поле и новое значение (или несколько полей при поддержке).
  5. Подтвердить; система обновит выбранные документы. При ошибке по части документов отобразится отчет (успешно/ошибки).
  6. Проверить результат выборочно; при необходимости откатить вручную или повторить только для ошибочных.

Ограничения и валидация

  1. Массовое обновление выполняется в контексте текущего пользователя; права проверяются для каждого документа. Документы, на которые нет права Write, будут пропущены или вернут ошибку.
  2. Workflow и обязательные поля: при смене статуса через Bulk Update должны выполняться переходы workflow (если применимо); иначе обновляются только поля, не затрагивающие статус. Уточните поведение в вашей версии.
  3. Для критичных данных (финансы, статусы согласования) рекомендуется ограничить массовое обновление ролями или отключить для отдельных тип документа; проверьте настройки прав на действие Bulk Update.

Правила и ограничения

  • Не все поля могут быть доступны для массового обновления (например, ссылочные поля со сложной валидацией); список полей зависит от реализации в интерфейсе.
  • Большой объем выбранных документов может привести к таймауту; разбивайте на части (несколько сотен за раз) или выполняйте массовое обновление через фоновую задачу при реализации в приложении.
  • Аудит: массовые изменения могут логироваться в Activity Log по каждому документу; для расследования используйте историю изменений и логи.

Результаты / отчетность

  • Обновленные документы в списке с новыми значениями полей.
  • Сообщение об успешном обновлении или список ошибок по документам.
  • История изменений по каждому обновленному документу (Activity Log / Version при включенном версионировании).

Типовые вопросы и ошибки (FAQ)

Действие «Bulk Update» не отображается

Проверьте права на тип документа (нужно право Write); в некоторых версиях Bulk Update включается в настройках списка или роли. Убедитесь, что выбран хотя бы один документ.

Часть документов не обновилась

Возможные причины: нет права Write на часть документов (например, из-за User Permission); валидация или workflow не позволили изменить поле для части записей. Просмотрите сообщения об ошибках в диалоге результата и проверьте права/настройки по ошибочным документам.

Как массово обновить через API?

Написать скрипт: получить список name документов (фильтр по API или экспорт), в цикле для каждого вызвать GET документа, изменить поле, PUT обратно — с проверкой прав. Либо вызвать whitelisted-метод, принимающий список name и поле+значение и обновляющий документы на сервере (реализовать в приложении с учетом прав и валидации).

Связанные темы

Last updated 3 months ago
Was this helpful?
Thanks!