Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Счета: обзор методов». Мы подготовили подробный разбор принципов работы и развернутые примеры интеграции.
Счета: обзор методов
Счет — это финальный этап сделки. Он создается, когда все обсуждения завершены, а условия договора согласованы. Для одной сделки можно создать несколько счетов для разных товаров и услуг.
Счет можно сформировать по шаблону и отправить клиенту в виде документа. В карточке счета вы можете:
- Управлять процессом продажи товара или услуги
- Отслеживать этапы работы со счетом
- Принимать онлайн-платежи
> Быстрый переход: все методы и события
>
> Пользовательская документация: Новые счета в CRM
Связь счетов с другими объектами CRM
Сделка. Передавайте ID сделки в параметре parentId2, чтобы новый счет был связан со сделкой.
Предложение. Передавайте ID предложения в параметре parentId7, чтобы новый счет был связан с предложением.
Клиент. Поле в карточке счета, состоящее из связанных с ним компании и контактов. Все дела звонков, писем, чатов с контактом или компанией будут сохранены в карточке счета. Компания в поле одна, обращение к ней происходит через поле счета companyId. Контактов может быть указано несколько, взаимодействие с ними ведется через поле contactIds, передавайте в поле массив с ID контактов.
Товары. Добавление, изменение, удаление товарных позиций в счетах возможно через группу методов crm.item.productrow..
Оплаты. Добавление, изменение, удаление документов оплаты в счетах возможно через группу методов crm.item.payment..
Реквизиты вашей компании. Укажите ID вашей компании в поле mycompanyId, чтобы ее реквизиты автоматически использовались в документах. Получить ID вашей компании можно методом crm.item.list для объекта компаний с фильтром по полю isMyCompany.
BX24.callMethod(
'crm.item.list',
{
entityTypeId: 4,
filter: {
"isMyCompany": "Y",
},
},
(result) => {
if (result.error())
{
console.error(result.error());
return;
}
console.info(result.data());
},
);- Как принимать оплату от клиентов и работать с чеками в Битрикс24
- Как добавить товары в сделки, лиды и предложения
- Как использовать реквизиты вашей компании
Карточка счета
Основное рабочее пространство в счетах — это вкладка Общее карточки. Она состоит из двух частей:
- левая, в ней располагаются поля с информацией. Если системных полей недостаточно, вы можете создать собственные пользовательские поля. Они позволяют хранить информацию в различных форматах данных: строка, число, ссылка, адрес и другие. Для создания, изменения, получения или удаления пользовательских полей счетов используйте группу методов userfieldconfig.
- правая, в ней располагается таймлайн счета. В нем можно создавать, редактировать, фильтровать, удалять дела CRM — группа методов crm.activity., и записи таймлайна — группа методов crm.timeline.
Параметрами карточки счета можно управлять через группу методов crm.item.details.configuration..
- Карточка CRM: возможности и настройки
- Системные поля в CRM
- Пользовательские поля в CRM
- Таймлайн в элементе CRM
Виджеты
В карточку счета можно встроить приложение. Благодаря встраиванию можно будет использовать приложение и не покидать карточку счета.
Есть два сценария встройки:
- Использовать специальные места встраивания. Например, через создание своей вкладки
- Создать пользовательское поле, в которое будет загружается интерфейс вашего приложения
Места встраивания новых счетов
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_TIMELINE_MENU— пункт контекстного меню дела в карточке элемента
CRM_SMART_INVOICE_ROBOT_DESIGNER_TOOLBAR— пункт выпадающего меню верхней кнопки дизайнера роботов
- Механизм встройки виджетов
- Встроить виджет в карточку CRM
Обзор методов и событий {#all-methods}
> Scope: crm
>
> Кто может выполнять метод: в зависимости от метода
Основные
Идентификатор объекта CRM entityTypeId — 31
- Методы
| crm.item.add | Создает новый элемент CRM |
|---|---|
| crm.item.update | Обновляет элемент |
| crm.item.get | Возвращает элемент по Id |
| crm.item.list | Возвращает список элементов по фильтру |
| crm.item.delete | Удаляет элемент |
| crm.item.fields | Возвращает поля элемента |
- События
| onCrmDynamicItemAdd | При создании объекта CRM пользовательского типа |
|---|---|
| onCrmDynamicItemDelete | При удалении объекта CRM пользовательского типа |
| onCrmDynamicItemUpdate | При изменении объекта CRM пользовательского типа |
Пользовательские поля
Идентификатор объекта CRM entityId — CRM_SMART_INVOICE
| Метод | Описание |
|---|---|
| userfieldconfig.add | Создает пользовательское поле |
| userfieldconfig.update | Изменяет настройки поля |
| userfieldconfig.get | Возвращает настройки пользовательского поля по идентификатору |
| userfieldconfig.getTypes | Возвращает набор доступных типов пользовательских полей для модуля |
| userfieldconfig.list | Возвращает список настроек пользовательских полей |
| userfieldconfig.delete | Удаляет пользовательское поле |
Товарные позиции
Идентификатор объекта CRM ownerType — SI
| Метод | Описание |
|---|---|
| crm.item.productrow.add | Добавляет товарную позицию |
| crm.item.productrow.update | Обновляет товарную позицию |
| crm.item.productrow.get | Получает информацию о товарной позиции по id |
| crm.item.productrow.set | Привязывает товарную позицию к объекту CRM |
| crm.item.productrow.list | Получает список товарных позиций |
| crm.item.productrow.getAvailableForPayment | Получает список неоплаченных товаров |
| crm.item.productrow.delete | Удаляет товарную позицию |
| crm.item.productrow.fields | Получает список полей товарных позиций |
Оплаты
Идентификатор объекта CRM entityTypeId — 31
| Метод | Описание |
|---|---|
| crm.item.payment.add | Создает оплату для объекта CRM |
| crm.item.payment.update | Изменяет набор полей оплаты |
| crm.item.payment.get | Получает краткую информацию об оплате |
| crm.item.payment.list | Получает список оплат конкретного объекта CRM |
| crm.item.payment.delete | Удаляет оплату |
| crm.item.payment.pay | Изменяет статус оплаты на «Оплачено» |
| crm.item.payment.unpay | Изменяет статус оплаты на «Не оплачено» |
Товарные позиции в оплате
| Метод | Описание |
|---|---|
| crm.item.payment.product.add | Добавляет товарную позицию в оплату |
| crm.item.payment.product.list | Получает список товарных позиций в оплате |
| crm.item.payment.product.delete | Удаляет товарную позицию из оплаты |
| crm.item.payment.product.setQuantity | Изменяет количество товара в товарной позиции оплаты |
Доставка в оплате
| Метод | Описание |
|---|---|
| crm.item.payment.delivery.add | Добавляет позицию доставки в оплату |
| crm.item.payment.delivery.list | Получает список позиций доставки по конкретной оплате |
| crm.item.payment.delivery.delete | Удаляет позицию доставки из оплаты |
| crm.item.payment.delivery.setDelivery | Перепривязывает позицию доставки к другому документу доставки |
Управление настройками карточки
Идентификатор объекта CRM entityTypeId — 31
| crm.item.details.configuration.forceCommonScopeForAll | Устанавливает общую карточку для всех пользователей |
|---|---|
| crm.item.details.configuration.get | Получает параметры карточки элементов |
| crm.item.details.configuration.reset | Сбрасывает параметры карточки элементов |
| crm.item.details.configuration.set | Устанавливает параметры карточки элементов |
💡 Экспертное мнение и рекомендации
Практические рекомендации:
- При написании кастомных компонентов для «Счета: обзор методов» всегда разделяйте бизнес-логику и представление (шаблон).
- Используйте отладку SQL-запросов через конструкцию
$wpdb->last_queryили стандартный трекер Битрикса, чтобы контролировать нагрузку.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru