Счета: обзор методов и событий
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
Счет — это финальный этап сделки. Он создается, когда все обсуждения завершены, а условия договора согласованы. Для одной сделки можно создать несколько счетов для разных товаров и услуг.
Счет можно сформировать по шаблону и отправить клиенту в виде документа. В карточке счета вы можете:
- управлять процессом продажи товара или услуги
- отслеживать этапы работы со счетом
- принимать онлайн-платежи
Счета — это отдельный тип объекта CRM с идентификатором entityTypeId = 31. Работайте с ними универсальными методами crm.item.* и передавайте entityTypeId = 31 в каждом вызове.
Методы crm.item.* работают только со счетами нового типа entityTypeId = 31. Для счетов старого типа entityTypeId = 5 они вернут ошибку ENTITY_TYPE_NOT_SUPPORTED.
Быстрый переход: все методы и события
Пользовательская документация: Новые счета в CRM
Как начать работу
- Получите список доступных полей счета методом crm.item.fields с
entityTypeId = 31. - Создайте счет методом crm.item.add. Свяжите его со сделкой через
parentId2и укажите клиента в поляхcompanyIdиcontactIds. - Добавьте товарные позиции методами crm.item.productrow.* с
ownerType = SI. - Создайте оплату методом crm.item.payment.add и получите ссылку для клиента методом salescenter.payment.getPublicUrl.
- Отслеживайте статус счета методами crm.item.get и crm.item.list, меняйте его методом crm.item.update.
Связь счетов с другими объектами CRM
Сделка. Передавайте ID сделки в параметре parentId2, чтобы новый счет был связан со сделкой.
Предложение. Передавайте ID предложения в параметре parentId7, чтобы новый счет был связан с предложением.
Клиент. Поле в карточке счета, состоящее из связанных с ним компании и контактов. Все дела звонков, писем, чатов с контактом или компанией будут сохранены в карточке счета. Компания в поле одна, обращение к ней происходит через поле счета companyId. Контактов может быть указано несколько, взаимодействие с ними ведется через поле contactIds, передавайте в поле массив с ID контактов.
Товары. Добавление, изменение, удаление товарных позиций в счетах возможно через группу методов crm.item.productrow.*.
Оплаты. Добавление, изменение, удаление документов оплаты в счетах возможно через группу методов crm.item.payment.*.
Реквизиты вашей компании. Укажите ID вашей компании в поле mycompanyId, чтобы ее реквизиты автоматически использовались в документах. Получить ID вашей компании можно методом crm.item.list: передайте entityTypeId = 4 и фильтр isMyCompany = Y.
Заказы интернет-магазина. Заказ можно привязать к счету методами crm.orderentity.*, передав ownerTypeId = 31 и ownerId счета.
Пользовательская документация
Карточка счета
Основное рабочее пространство в счетах — это вкладка «Общее» карточки. Она состоит из двух частей:
-
левая, в ней располагаются поля с информацией. Если системных полей недостаточно, вы можете создать собственные пользовательские поля. Они позволяют хранить информацию в различных форматах данных: строка, число, ссылка, адрес и другие. Для создания, изменения, получения или удаления пользовательских полей счетов используйте группу методов userfieldconfig.* с
entityId = CRM_SMART_INVOICE. -
правая, в ней располагается таймлайн счета. В нем можно создавать, редактировать, фильтровать, удалять дела CRM — группа методов crm.activity.*, и записи таймлайна — группа методов crm.timeline.*.
Параметрами карточки счета можно управлять через группу методов crm.item.details.configuration.*.
Пользовательская документация
Виджеты
В карточку счета можно встроить приложение. Благодаря встраиванию можно будет использовать приложение и не покидать карточку счета.
Есть два сценария встройки:
- Использовать специальные места встраивания. Например, через создание своей вкладки
- Создать пользовательское поле, в которое будет загружается интерфейс вашего приложения
Места встраивания новых счетов
-
CRM_SMART_INVOICE_DETAIL_TAB— вкладка в детальной карточке элемента CRM -
CRM_SMART_INVOICE_DETAIL_ACTIVITY— кнопка над таймлайном карточки элемента -
CRM_SMART_INVOICE_DETAIL_TOOLBAR— пункт выпадающего меню верхней кнопки карточки -
CRM_SMART_INVOICE_DOCUMENTGENERATOR_BUTTON— пункт выпадающего меню генератора документов -
CRM_SMART_INVOICE_LIST_MENU— пункт контекстного меню в списке элементов -
CRM_SMART_INVOICE_LIST_TOOLBAR— пункт выпадающего меню над списком элементов -
CRM_SMART_INVOICE_ACTIVITY_TIMELINE_MENU— пункт контекстного меню дела в карточке элемента -
CRM_SMART_INVOICE_ROBOT_DESIGNER_TOOLBAR— пункт выпадающего меню верхней кнопки дизайнера роботов
Частые кейсы и сценарии
Обзор методов и событий
Scope:
crm,salescenterКто может выполнять метод: в зависимости от метода
Основные
Идентификатор объекта CRM entityTypeId — 31
|
Метод |
Описание |
|
Создает новый элемент CRM |
|
|
Обновляет элемент |
|
|
Возвращает элемент по Id |
|
|
Возвращает список элементов по фильтру |
|
|
Удаляет элемент |
|
|
Возвращает поля элемента |
|
Событие |
Вызывается |
|
При создании счета вручную или методом crm.item.add |
|
|
При изменении счета вручную или методом crm.item.update |
|
|
При удалении счета вручную или методом crm.item.delete |
Эти события приходят по элементам всех смарт-процессов и счетов. Чтобы отобрать события счетов, проверяйте в обработчике data.FIELDS.ENTITY_TYPE_ID = 31. Подробнее — в разделе События элементов смарт-процессов.
Пользовательские поля
Идентификатор объекта CRM entityId — CRM_SMART_INVOICE
|
Метод |
Описание |
|
Создает пользовательское поле |
|
|
Изменяет настройки поля |
|
|
Возвращает настройки пользовательского поля по идентификатору |
|
|
Возвращает набор доступных типов пользовательских полей для модуля |
|
|
Возвращает список настроек пользовательских полей |
|
|
Удаляет пользовательское поле |
|
Событие |
Вызывается |
|
При добавлении пользовательского поля счета |
|
|
При изменении настроек пользовательского поля счета |
|
|
При удалении пользовательского поля счета |
|
|
При изменении набора значений пользовательского поля списочного типа |
Товарные позиции
Идентификатор объекта CRM ownerType — SI
|
Метод |
Описание |
|
Добавляет товарную позицию |
|
|
Обновляет товарную позицию |
|
|
Получает информацию о товарной позиции по id |
|
|
Привязывает товарную позицию к объекту CRM |
|
|
Получает список товарных позиций |
|
|
Получает список неоплаченных товаров |
|
|
Удаляет товарную позицию |
|
|
Получает список полей товарных позиций |
Оплаты
Идентификатор объекта CRM entityTypeId — 31
|
Метод |
Описание |
|
Создает оплату для объекта CRM |
|
|
Изменяет набор полей оплаты |
|
|
Получает краткую информацию об оплате |
|
|
Получает список оплат конкретного объекта CRM |
|
|
Удаляет оплату |
|
|
Изменяет статус оплаты на «Оплачено» |
|
|
Изменяет статус оплаты на «Не оплачено» |
|
|
Генерирует публичную ссылку на оплату |
Товарные позиции в оплате
|
Метод |
Описание |
|
Добавляет товарную позицию в оплату |
|
|
Получает список товарных позиций в оплате |
|
|
Удаляет товарную позицию из оплаты |
|
|
Изменяет количество товара в товарной позиции оплаты |
Доставка в оплате
|
Метод |
Описание |
|
Добавляет позицию доставки в оплату |
|
|
Получает список позиций доставки по конкретной оплате |
|
|
Удаляет позицию доставки из оплаты |
|
|
Перепривязывает позицию доставки к другому документу доставки |
Управление настройками карточки
Идентификатор объекта CRM entityTypeId — 31
|
Метод |
Описание |
|
Получает параметры карточки элементов |
|
|
Устанавливает параметры карточки элементов |
|
|
Сбрасывает параметры карточки элементов |
|
|
Устанавливает общую карточку для всех пользователей |