← Назад к заметкам

Заметки

documentgenerator.template.list возвращает пусто

Почему documentgenerator.template.list или crm.documentgenerator.template.list могут вернуть пустой список: права, модуль, провайдеры и шаблоны.

Пустой список шаблонов чаще всего означает не «шаблонов нет», а «текущий пользователь, метод или фильтр не видят нужные шаблоны». Проверьте права, провайдер и CRM-сущность.

Проблема

Метод шаблонов генератора документов вызывается без ошибки, но возвращает пустой список. При этом в интерфейсе шаблоны могут быть видны.

Два похожих метода

Есть общий метод documentgenerator.template.list и CRM-метод crm.documentgenerator.template.list. Для CRM-сценариев чаще удобнее начинать с CRM-метода, потому что шаблоны привязаны к провайдерам и CRM-сущностям.

BX24.callMethod(
    'crm.documentgenerator.template.list',
    {
        select: ['id', 'name', 'entityTypeId'],
    },
    function (result) {
        console.log(result.data());
    }
);

Права и видимость

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

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

Провайдер и сущность

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

BX24.callMethod(
    'crm.documentgenerator.template.getfields',
    {
        id: 41,
        entityTypeId: 2,
        entityId: 123,
    },
    function (result) {
        console.log(result.data());
    }
);

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