Блог Горошко Андрея Bitrix24,PHP Счета: обзор методов

Счета: обзор методов

Оптимизация производительности и безопасности — залог успешного проекта на 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());
        },
    );

Карточка счета

Основное рабочее пространство в счетах — это вкладка Общее карточки. Она состоит из двух частей:

  • левая, в ней располагаются поля с информацией. Если системных полей недостаточно, вы можете создать собственные пользовательские поля. Они позволяют хранить информацию в различных форматах данных: строка, число, ссылка, адрес и другие. Для создания, изменения, получения или удаления пользовательских полей счетов используйте группу методов userfieldconfig.
  • правая, в ней располагается таймлайн счета. В нем можно создавать, редактировать, фильтровать, удалять дела 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_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 и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Как использовать метод SDK crm.item.productrow.add в Битрикс24Как использовать метод SDK crm.item.productrow.add в Битрикс24

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Как использовать метод SDK crm.item.productrow.add в Битрикс24», разберем

На обновление приложения ONAPPUPDATEНа обновление приложения ONAPPUPDATE

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «На обновление приложения ONAPPUPDATE», проанализируем лучшие практики и

Установить локализации для валюты crm.currency.localizations.setУстановить локализации для валюты crm.currency.localizations.set

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Установить локализации для валюты crm.currency.localizations.set», проанализируем лучшие практики