Sales order что это
Работа с заказами в битрикс D7
Для реализации возможностей интернет-магазина в системе битрикс используется модуль sale. С помощью данного модуля становятся доступными возможности работы с корзиной, оформления заказов, работа с покупателями, а также другой необходимый функционал. Для бизнеса, в большинстве случаев, стандартных компонентов оформления заказов иногда бывает достаточно. Однако это не исключает возможность реализации своего функционала для работы с заказами на уровне API. В данном посту мы рассмотрим простые примеры использования API битрикса ядра D7.
Перед использованием API для работы с заказами следует подключить модуль «sale»:
Получение полей заказа
Зная ID заказа, мы можем получить поля заказа, а также внести какие-либо изменения в них.
Получать значение некоторых полей можно посредством специальных методов, которые так же удобно использовать в коде:
Создание заказа в битрикс D7
Для создания заказа нам следует выполнить цепочку последовательных действий: создать корзину, создать заказ и связать корзину с заказом, создать запись отгрузки, создать оплату.
Обновление заказа в битрикс D7
В самом первом примере мы уже рассматривали возможность обновления полей заказа. Там, посредством использования метода setField() мы задавали значения поля заказа. При работе с заказом так же бывает требуется обновить другие данные заказа, которые обновляются немного иначе. Допустим нам требуется разрешить отгрузку заказа, для этого мы может выполнить такую операцию:
В данном примере мы добавили к заказу комментарий от покупателя — поле USER_DESCRIPTION, а также разрешили отгрузку товаров. По умолчанию для каждого заказа существует системная отгрузка, она создаётся при создании заказа. В цикле так прописано условие, которое исключает системную отгрузку, которую затрагивать нет необходимости.
Поля заказа в битрикс D7
*Стоит обратить внимание на то, что поля актуальны на момент написания данной статьи.
Sales Orders: What They Are Compared to POs & Invoices
Let’s say you have a prospect ready to buy. You’re bound to be excited and ready to close the deal and collect that commission, but before you get this deal moving, there are a few things to consider.
First, ask yourself, “How can I set expectations for myself and my prospect around how the remainder of the sales process will run? And how can I ensure this final stage of the sales process maintains momentum and is properly documented?”
Well, you can’t answer those questions unless you understand a crucial sales document known as “the sales order.”
So, what’s a sales order, how is it different from other key sales documents, how does it fit into your sales process? I’m glad you asked, because I answer those questions, and a few more, below.
What Is a Sales Order?
Sales orders are most commonly used by manufacturers, retailers, wholesalers, and suppliers.
How Are Sales Orders Different from Quotes?
Though sales orders and quotes are both vendor-generated and discuss a potential sale, the two are very different documents that serve very different purposes. But that’s not to say they’re not interrelated. You can think of a sales order as the byproduct of a process that a quote can set in motion.
A vendor usually generates a quote at the request of a prospective buyer. The document contains an itemized list of products and services along with their respective prices and terms of sale. Once a buyer accepts a quote, they move to the next step in the process by sending a vendor something called a purchase order.
Sales Order vs. Purchase Order
A purchase order is an official confirmation of a buyer’s intent to purchase from a vendor. It’s a buyer-issued document that confirms certain aspects of a transaction, including details like prices and requested quantities. Once a vendor receives and accepts the terms of a purchase order, they create a sales order based on its details.
Sales orders and purchase orders are inherently interconnected. The key difference between the two boils down to who generates the document and who receives it.
A purchase order comes from a customer, is issued to a vendor, and lays out the terms of a potential sale. A sales order comes from a vendor, is issued to a customer, and confirms the vendor’s acceptance of the terms set in a given purchase order before delivery.
Once accepted by a vendor, a purchase order often constitutes a legally binding contract. If a vendor doesn’t deliver on the agreed terms of a purchase order, in certain circumstances, a buyer may take legal action against the seller, and vice versa.
Sales Order vs. Invoice
Once the vendor has received a purchase order and processed a sales order, they generally send the buyer an invoice. An invoice specifies the amount of money a buyer owes a vendor for the exchange of goods and services agreed upon in the sales and purchase orders. It can be easy to confuse sales orders with invoices. Both are vendor-generated and list the details of a specific sale.
The main distinctions between the two are highlighted in each document’s respective purpose and timing. A sales order confirms a sale. It prompts a vendor to start assembling, packaging, or preparing the goods and services requested in a purchase order.
Invoices come in after this step. Using the details specified in a sales order, invoices tell buyers how, when, and how much to pay for the goods and services they’ve purchased.
Why Are Invoices Important?
Invoices definitively settle deals for vendors and set official timelines for payment. 30 days is a standard timeframe, but that figure can vary from business to business.
Invoices are extremely important for record-keeping purposes. An invoice is the most concrete evidence both buyers and vendors have for a sale. Keeping track of invoices allows a company to stay on top of how much it’s spending or earning, which employees are responsible for any sales or purchases, and any outstanding debt the company may have.
It’s also considered proper practice for businesses to track invoices for tax purposes. The IRS suggests that businesses maintain a running summary of all business transactions. Keeping detailed records of invoices can be a critical part of that process.
Invoices help businesses from a legal perspective as well. They provide documentation of how and when a customer bought any goods or services from a vendor. A signed invoice shows that there was a mutual understanding between a buyer and a vendor over a specific purchase, reducing the risk of any legal action over pricing.
Why Are Sales Orders Important?
If you’re a vendor, sales orders are crucial to keeping track of your inventory. They allow you and your business to stay on top of what you have in stock, what you have on backorder, and what you may need to purchase from your distributors.
Sales orders are also central to reducing the risk of material misstatement in your company’s financial reporting. Material misstatement is any kind of inaccuracy in a financial statement that may significantly impact the financial decisions of anyone relying on that statement’s information.
Material misstatements in reporting inventory balances can have some very real consequences.
For instance, misstating ending inventory can inflate or reduce your company’s profits, and as you can assume, neither of those outcomes looks good if you’re being audited. That’s why it’s absolutely crucial to maintain accurate records of your sales orders to catch any potential material misstatement during an internal audit.
Sales Order Format
Typically, a sales order should contain the following:
Sales Order Process
Generally speaking, the sales order process looks something like this:
Sales orders play a central role in making sure a sale is well-documented, properly conducted, and reflective of what both sides are expecting.
Originally published Nov 22, 2019 7:30:00 AM, updated June 15 2021
Работа с заказом в Битрикс D7
Заказ (Sale\Order)
Существующий заказ получить:
Получить поля заказа:
Получить поле по имени:
Список доступных полей можно получить, вызвав $order->getAvailableFields().
Заказ имеет связь один-ко-многим с несколькими объектами в виде коллекций — коллекция товаров в корзине (Sale\Basket), коллекция отгрузок (Sale\ShipmentCollection), коллекция оплат (Sale\PaymentCollection) и коллекция свойств заказа (Sale\PropertyValueCollection).
Самый простой способ получить список способов доставки и оплаты — короткие вызовы:
Чтобы получить список примененных к заказу скидок, нужно вызвать:
Корзина заказа (Sale\Basket)
Привязать и получить корзину заказа:
Свойства заказа (Sale\PropertyValueCollection)
Свойства заказа — объекты Bitrix\Sale\PropertyValue — собраны в коллекции propertyCollection
Получить значения всех свойств и группы свойств:
У многих свойств заказа есть определенное встроенное назначение (атрибуты IS_EMAIL, IS_PAYER, IS_LOCATION, IS_LOCATION4TAX, IS_PROFILE_NAME, IS_ZIP, IS_PHONE, IS_ADDRESS). Такие свойства можно получить следующими методами:
Получить значение свойства по ID:
В любом случае получаем значение свойства — экземпляр класса Bitrix\Sale\PropertyValue. Из него мы можем получить значение свойства:
И информацию о самом свойстве:
Чтобы изменить значение свойства следует вызвать метод setValue и сохранить сущность
Оплаты заказа (Sale\PaymentCollection)
Из коллекции оплат также можно получить информацию об оплате, что и из объекта заказа. Оплата с внутреннего счета также считается одной из оплат:
Коллекция содержит объекты оплаты Sale\Payment с информацией об оплатах:
Оплатить или вернуть оплату можно методами setPaid(), setReturn():
Инициировать оплату (вывести шаблон оплаты: форму, кнопку и т.п.):
Заказы
Операции с заказами
Создание
Создание без отгрузок и оплат
Получение по ID
Заказ представляет собой объект, который можно получить несколькими способами:
Получение информации
Для получения информации используйте один из двух методов.
Метод всегда возвращает либо массив объектов, либо null.
Метод всегда возвращает объект DB\Result, из которого можно получить данные с помощью метода fetch();
Выведем даты всех заказов текущего пользователя за текущий месяц, отсортированные по дате заказа
Получить заказы с определенным товаром
Фильтрация по нескольким вариантам статуса
Получение списка заказов, у которых отсутствует какое-либо свойство
Получение списка заказов по нескольким свойствам заказа
Редактирование
Оплата
Оплата заказа подразумевает оплату всех частичных оплат, которые в него входят. Только в этом случае заказ считается полностью оплаченным.
Разрешение доставки
Разрешение доставки подразумевает разрешение всех частичных отгрузок, которые в него входят. Только в этом случае заказ считается полностью оплаченным.
Добавление комментария
Смена статуса
Отмена и удаление
Отмена
Для отмены заказа необходимо, чтобы все оплаты были не оплачены, отгрузки не отгружены. В противном случае возникнет ошибка, которая будет возвращена. Поэтому, если это необходимо, перед отменой выполнить отмену отгрузки и отмену оплаты заказа.
Удаление
Есть 2 подхода к удалению заказа: «умное» и «в лоб».
Получение публичной ссылки
Необходимо, чтобы в настройках модуля Интернет-магазин (Настройки > Настройки продукта > Настройки модулей > Интернет-магазин) была отмечена опция «Разрешить просмотр заказа по ключу без авторизации».
Выборка заказов по значению свойства
Добавление привязки
Пример добавления привязки существующего Контакта или Компании к Заказу:
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.
Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
Bitrix sale personal order list
Одностраничный компонент выводит фильтр и список заказов пользователя. Компонент стандартный и входит в дистрибутив модуля.
В визуальном редакторе компонент расположен по пути: Магазин > Персональный раздел > Список заказов.
Компонент относится к модулю Интернет-магазин.
Секции настроек компонента:
Описание параметров
Поле | Параметр | Описание |
Внешний вид | ||
---|---|---|
Формат показа даты | ACTIVE_DATE_FORMAT | Указывается формат показа даты. В выпадающем списке перечислены все возможные варианты показа даты, формируемые внутри компонента. Выбрав пункт (другое)->, можно сформировать свой вариант на основании php-функции date. |
Настройки кеширования | ||
Тип кеширования | CACHE_TYPE | Тип кеширования: |
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.
Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
Комплексный компонент персонального раздела пользователя. Компонент стандартный и входит в дистрибутив модуля.
В визуальном редакторе компонент расположен по пути: Магазин > Персональный раздел > Персональный раздел пользователя.
Компонент относится к модулю Интернет-магазин.
Секции настроек компонента:
Описание параметров
Поле | Параметр | Описание |
Основные параметры | ||
---|---|---|
Показать страницу персонального счета пользователя | SHOW_ACCOUNT_PAGE | [Y|N] При отмеченной опции будет доступна страница личного счета пользователя. Описание настроек страницы здесь. |
Показать страницу заказов пользователя | SHOW_ORDER_PAGE | [Y|N] Опция позволяет просматривать страницу заказов пользователя. Описание настроек страницы здесь. |
Показать страницу персональных данных пользователя | SHOW_PRIVATE_PAGE | [Y|N] Подключение страницы личных данных пользователя. Описание настроек страницы здесь |
Показать страницу профилей пользователя | SHOW_PROFILE_PAGE | [Y|N] Вывод страницы для просмотра профилей пользователя. Описание настроек страницы здесь. |
Показать страницу подписок | SHOW_SUBSCRIBE_PAGE | [Y|N] Отображение страницы подписок пользователя на товары. |
Вывести ссылку на страницу контактов | SHOW_CONTACT_PAGE | [Y|N] При отмеченной опции станет доступна ссылка для перехода на страницу контактов магазина. |
Вывести ссылку на корзину | SHOW_BASKET_PAGE | [Y|N] Будет отображаться ссылка для перехода в корзину. |
Настройки дополнительных страниц раздела | CUSTOM_PAGES | Задаются настройки для добавления дополнительных страниц в персональный раздел пользователя. |
Если режим поддержки ЧПУ включен, то необходимо настроить дополнительные параметры
Каталог ЧПУ (относительно корня сайта) | SEF_FOLDER | Каталог ЧПУ: путь до папки, с которой работает компонент. Этот путь может как совпадать с физическим путём, так и не совпадать. |
Адреса страниц | SEF_URL_TEMPLATES | Указываются адреса следующих страниц: |
Страница персонального счета пользователя | ||
---|---|---|
Секция доступна, если отмечена опция Показать страницу персонального счета пользователя | ||
Показать счет текущего пользователя | SHOW_ACCOUNT_COMPONENT | [Y|N] При отмеченной опции будет отображаться текущее состояние счета пользователя. |
Разрешить добавление средств на счет текущего пользователя | SHOW_ACCOUNT_PAY_COMPONENT | [Y|N] При отмеченной опции пользователю будет доступно добавление средств на свой счет. Кроме того, становятся доступными для настройки дополнительные параметры |
Валюта для отображения | ACCOUNT_PAYMENT_SELL_CURRENCY | Из созданных в системе валют выбирается валюта, в которой будут отображаться денежные средства пользователя. |
Тип пользователя | ACCOUNT_PAYMENT_PERSON_TYPE | Из созданных в системе типов плательщиков выбирается тот, для которого будет выполняться пополнение счета. |
Исключить из списка платежных систем | ACCOUNT_PAYMENT_ELIMINATED_PAY_SYSTEMS | Из созданных в системе платежных систем выбираются те, которые не должны быть доступны для пополнения счета. |
Показывать значения фиксированных платежей | ACCOUNT_PAYMENT_SELL_SHOW_FIXED_VALUES | [Y|N] При отмеченной опции будут отображаться значения фиксированных платежей. |
Выберите суммы для покупки | ACCOUNT_PAYMENT_SELL_TOTAL | Задаются суммы фиксированных платежей. Параметр доступен при отмеченной опции Показывать значения фиксированных платежей. |
Разрешить пользователю вводить сумму | ACCOUNT_PAYMENT_SELL_USER_INPUT | [Y|N] При отмеченной опции пользователю будет доступно поле для ввода своей суммы платежа. |
Страница заказов пользователя | ||
Секция доступна, если отмечена опция Показать страницу заказов пользователя | ||
Сохранять установки фильтра в сессии пользователя | SAVE_IN_SESSION | [Y|N] При отмеченной опции установки фильтра будут сохранены в сессии пользователя. |
Формат показа даты | ACTIVE_DATE_FORMAT | Указывается формат показа даты. В выпадающем списке перечислены все возможные варианты показа даты, формируемые внутри компонента. Выбрав пункт (другое)->, можно сформировать свой вариант на основании php-функции date. |
Дополнительные свойства инфоблока | CUSTOM_SELECT_PROPS | Задаются коды свойств инфоблока, которые необходимо вывести при детальном просмотре заказа. Следует задавать для вывода только строковые и числовые типы свойств. |
Не показывать в информации о пользователе | ORDER_HIDE_USER_INFO | Выберите какие данные пользователя НЕ должны показываться на странице. |
Не показывать свойства для типа плательщика | PROP_N | Для каждого типа плательщика (N — идентификатор типа плательщика) задается массив свойств, которые не должны быть отображены. |
Перенести в историю заказы в статусах | ORDER_HISTORIC_STATUSES | Указываются статусы, которые будут использоваться при фильтрации по истории. Если заказ находится в одном из выбранных статусов, то в списке всех заказов он показан не будет, а будет доступен в истории заказов. |
Запретить смену платежной системы у заказов в статусах | ORDER_RESTRICT_CHANGE_PAYSYSTEM | Указываются статусы, по достижении которых невозможно изменить платёжную систему. |
Сортировка заказов | ORDER_DEFAULT_SORT | Выбор параметра по которому сортируются заказы. |
Пересчитывать заказ после смены платежной системы | ORDER_REFRESH_PRICES | Разрешение на пересчёт заказа после смены платёжной системы |
Разрешить оплату с внутреннего счета | ALLOW_INNER | Разрешение на оплату с внутреннего счёта |
Разрешить оплату с внутреннего счета только в полном объеме | ONLY_INNER_FULL | Разрешение на оплату с внутреннего счёта при условии наличия на счёте полной суммы заказа. |
Имя шаблона для постраничной навигации | NAV_TEMPLATE | Укажите имя шаблона для постраничной навигации. |
Количество заказов на одной странице | ORDERS_PER_PAGE | Количество заказов на одной странице. |
Страница профиля пользователя | ||
Секция доступна, если отмечена опция Показать страницу профилей пользователя | ||
Использовать расширенный выбор местоположения | USE_AJAX_LOCATIONS_PROFILE | [Y|N] При отмеченной опции будет использована расширенная форма выбора местоположений, которая может быть построена с помощью компонента AJAX-местоположения. |
Получить список местоположений для устаревших версий шаблона | COMPATIBLE_LOCATION_MODE_PROFILE | [Y|N] При отмеченной опции получение списка местоположений будет осуществляться через CSaleLocation::GetList. Опцию включать не рекомендуется, она оставлена для совместимости. |
Страница персональных данных пользователя | ||
Секция доступна, если отмечена опция Показать страницу персональных данных пользователя | ||
Генерировать почтовое событие | SEND_INFO_PRIVATE | [Y|N] При отмеченной опции будет вызвано имеющееся почтовое событие и отправлено письмо пользователю. |
Проверять права доступа | CHECK_RIGHTS_PRIVATE | [Y|N] При отмеченной опции будут проверяться права на редактирование профиля. |
Настройки кеширования | ||
Тип кеширования | CACHE_TYPE | Тип кеширования: |
Время кеширования (сек.) | CACHE_TIME | Время кеширования, указанное в секундах. |
Учитывать права доступа | CACHE_GROUPS | [Y|N] При отмеченной опции будут учитываться права доступа при кешировании. |
Дополнительные настройки | ||
Количество заказов на одной странице | PER_PAGE | Указывается количество заказов, отображаемых на одной странице. Все остальные заказы будут выведены с помощью постраничной навигации. |
Имя шаблона для постраничной навигации | NAV_TEMPLATE | Указывается имя шаблона для постраничной навигации. |
Устанавливать заголовок страницы | SET_TITLE | [Y|N] При отмеченной опции для страниц персонального раздела будут устанавливаться соответствующие заголовки. |
Компоненты модуля | ||
---|---|---|
Название | Имя в пространстве имен bitrix | Описание |
Аффилиаты | ||
Отчет аффилиата | sale.affiliate.account | Отображает движение денег на счете аффилиата. |
Технические инструкции аффилиата | sale.affiliate.instructions | Служит для для вывода технических инструкций для аффилиата. |
Аффилиатские планы | sale.affiliate.plans | Выводит список всех аффилиатских планов, определённых в системе. |
Регистрация аффилиата | sale.affiliate.register | Служит для создания страницы регистрации аффилиата. |
Отчет по программе аффилиата | sale.affiliate.report | Отображает список проданных товаров от авторизованного аффилиата за установленный период времени. |
Корзина | ||
Корзина | sale.basket.basket | Отображает список товаров, отправленных пользователем в корзину. |
Ссылка на корзину | sale.basket.basket.line | В зависимости от настроек отображает ссылки на корзину пользователя и на его персональный раздел либо только на корзину. |
Малая корзина для почты | sale.basket.basket.small.mail | Отображает для почты список товаров, находящихся в корзине пользователя. |
Персональный раздел | ||
Вывод полей заказа | sale.business.value.mail | Выводит список полей заказа по коду заказа. |
Персональный раздел пользователя | sale.personal.section | Организует персональный раздел пользователя. |
Добавление средств на счет текущего пользователя | sale.account.pay | Позволяет добавить средства на внутренний счет текущего пользователя. |
Счета текущего пользователя | sale.personal.account | Отображает состояние внутреннего счета текущего пользователя в доступной валюте. |
Пластиковые карты пользователя (комплексный компонент) | sale.personal.cc | Используется для управления пластиковыми картами текущего пользователя. |
Редактирование пластиковых карт | sale.personal.cc.detail | Служит для редактирования пластиковых карт пользователя. |
Список пластиковых карт текущего пользователя | sale.personal.cc.list | Выводит список пластиковых карт текущего пользователя. |
Заказы пользователя (комплексный компонент) | sale.personal.order | Отображает список заказов текущего пользователя с ссылками для перехода к просмотру детальной информации, отмене заказа, к оформлению повторного заказа. Можно управлять адресами переходов по этим страницам с помощью настроек ЧПУ. |
Отмена заказа | sale.personal.order.cancel | Позволяет отменить заказ. |
Подробная информация о заказе | sale.personal.order.detail | Выводит подробную информацию по заказу. |
Подробная информация о заказе для почты | sale.personal.order.detail.mail | Выводит подробную информацию по заказу для почты. |
Список заказов | sale.personal.order.list | Выводит фильтр и список заказов пользователя. |
Профили пользователя (комплексный компонент) | sale.personal.profile | Служит для управления профилями текущего пользователя. |
Редактирование профиля | sale.personal.profile.detail | Позволяет редактировать профиль пользователя. |
Список профилей текущего пользователя | sale.personal.profile.list | Выводит список профилей текущего пользователя. |
Подписки пользователя (комплексный компонент) | sale.personal.subscribe | Используется для управления подписками текущего пользователя. |
Отмена подписки | sale.personal.subscribe.cancel | Позволяет отменить подписку. |
Список подписок текущего пользователя | sale.personal.subscribe.list | Выводит список подписок текущего пользователя. |
Процедура оформления заказа | ||
Калькулятор доставки (AJAX) | sale.ajax.delivery.calculator | Выводит динамический калькулятор доставки. |
Одношаговое оформление заказа | sale.order.ajax | Служит для оформления заказа на одной странице с использованием технологии AJAX. |
Подключение платежной системы | sale.order.payment | Осуществляет подключение платежной системы. |
Смена способа оплаты | sale.order.payment.change | Осуществляет смену платежной системы для оплаты заказа. |
Подключение обработчика результата платежной системы | sale.order.payment.receive | Осуществляет подключение скрипта для получения результата от платежной системы. |
Привязка к местоположению: выпадающие списки | sale.location.selector.steps | Выводит форму, в которой выбор местоположения осуществляется с помощью последовательного выбора вариантов из выпадающего списка. |
Привязка к местоположению: строка поиска | sale.location.selector.search | Выводит форму, в которой выбор местоположения осуществляется с помощью ввода запроса в строку поиска. |
Экспорт заказов | ||
Экспорт заказов в «1С:Предприятие» | sale.export.1c | Служит для экспорта заказов в «1С:Предприятие» в формате CommerceML v2. |
Информация о товарах | ||
Выбор товара для получения подарка | sale.gift.main.products | Служит для отображения блока товаров, которые нужно купить для получения предложенного подарка. |
Подарки к товарам в корзине | sale.gift.basket | Служит для отображения товаров, которые будут предложены в качестве подарков к текущей корзине покупателя. |
Подарки к товарам конкретного раздела | sale.products.gift.section | Служит отображения подарков к товарам заданного раздела. |
Подарки к выбранному товару | sale.products.gift | Служит для отображения подарков к конкретному товару. |
Генерация купона на товар для почты | sale.discount.coupon.mail | Генерирует купон для правила корзины с соответствии с заданными параметрами |
Персональные рекомендации для почты | sale.discount.coupon.mail | Выводит список рекомендованных товаров для почты |
Самые продаваемые товары | sale.bestsellers | Выводит список самых продаваемых товаров |
Сопутствующие заказу товары для почты | sale.bigdata.followup.mail | Выводит товары, сопутствующие ранее заказанным товарам |
С этим товаром покупают | sale.recommended.products | Выводит товары, которые были куплены вместе с просматриваемым товаром, с учетом минимального количества покупок |
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.
Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
- Purifying nutritious gel einhell для чего
- Как искать рекламу в инстаграм