call pCart('TabsInfo',JSON_OBJECT(
'isWebCart',1,
'ShopID',:ShopID,
'CounterPartsID',:CounterPartsID,
'SessionId',':SessionId',
'LanguageCode','ru'
))
/*
ГДЕ:
ShopID - ID магазина клиента
CounterPartsID - глобальный код клиента, а если не авторизован, то передаем 0
SessionId - если не авторизован, то передаем уникальный ключ, например ID сессии
ВЕРНЕТ:
tabID - индекс корзины
total - сумма в корзине
*/
call pCart('Get',JSON_OBJECT(
'isWebCart',1,
'ShopID',:ShopID,
'tabID',:tabID,
'CounterPartsID',:CounterPartsID,
'SessionId',':SessionId',
'ByRecord',:ByRecord,
'LanguageCode','ru'))
/*
ГДЕ:
ShopID - ID магазина клиента
tabID - индекс корзины клиента, по умолчанию передаем 0. Удобен, когда клиента работает со своими клиентами и для каждого своя корзина
CounterPartsID - глобальный код клиента, если 0, то клиент не авторизован и обязательно необходимо передать параметр SessionId
SessionId - текущий код сессий, полезен, когда клиент не авторизован был и накидал в корзину и после входа, чтобы корзина была перенесена на его глобальный код
ByRecord - по умолчанию передаем 0, если необходимо запросить id строки по корзину, то передаем значение
ВЕРНЕТ:
Поля:
id - id строки корзины
isCheck - метка по которым нужно оформить заказ (1-да, 0-нет)
tabID - индекс корзины клиента
name - наименование товара
properties - свойства
code - артикульный код (очищенный от знаков)
code_display - арткиульный код
brand - бренд
qty - количество
part - кратность партии
cost - цена клиента
total - сумма
discount - размер суммы скидки
note - примечание к позиции от клиента
isHideArticleCode - не отображать код артикула клиенту
unitName - единица измерения
dscntGift - оплачено подарочной картой
dscntBonus - оплачено бонусами
dscntCard - скидка дисконтной картой
dscntPromo -скидка по промокоду
StockLogo - лого склада
dlMin,dlMax,dlvr_period сроки доставки
data_ins - дата добавления
*/
ШАГ 1. Формирование для позиций поставщиков временной карточки товара
Через процедуру pPrice мы получаем поле GoodsID, если значение пустое, то прежде чем добавить в корзину, мы должны сформировать уникальный код товара по внешнему прайсу для этого формируем запрос и получаем значение GoodsTempID:
call pGoodsSupplierAdd(JSON_OBJECT(
'Source','price',
'StockID',:StockID,
'TZP',':TZP'),
@id,1)
/*
ГДЕ:
StockID - Склад поставщика, значение полученное через процедуру pPrice
TZP - поле tzp, значение полученное через процедуру pPrice
ВЕРНЕТ ПРИ УСПЕШНОМ ВЫПОЛНЕНИИ:
id - id временной карточки товара, который нужно передать параметром GoodsTempID в процедуру указанную ниже pCart
ВЕРНЕТ ПРИ ОШИБКЕ:
isError - больше нуля
mess - описание ошибки
*/
ШАГ 2. Добавление товара в корзину
call pCart('Add',JSON_OBJECT(
'isWebCart',1,
'ShopID',:ShopID,
'tabID',:tabID,
'CounterPartsID',:CounterPartsID,
'SessionId',':SessionId',
'id_rbGoods',:GoodsID,
'GoodsTempID',:GoodsTempID,
'qty',:qty,
'PriceLevelID',:PriceLevelID,
'StockID',:StockID,
'PlaceID',:PlaceID,
'note','',
'isHideArticleCode',0,
'LanguageCode','ru'))
/*
ГДЕ:
TabID - индекс корзины клиента, куда нужно добавить позицию, по умолчанию передаем 0
ShopID - ID магазина клиента
CounterPartsID - глобальный код клиента, а если клиент без авторизации, то передаем 0
SessionId - если клиент без авторизации, передаем уникальный ключ, например ключ сессии
GoodsID - ID карточки товара для товара из наличия
GoodsTempID - ID временной карточки товара, для позиций под заказ, сфомированное на шаге 1. Если товар из наличия, то передаем 0
qty - количество для заказа
StockID - ID склада поставки
PlaceID - ID места хранения на складе списания (поле id_rbStockStoragePlace), если товар из наличия.
PriceLevelID - ID уровень цены клиента
ВЕРНЕТ ПРИ УСПЕШНОМ ВЫПОЛНЕНИИ:
AddCartID - id добавленной записи в корзину
ВЕРНЕТ ПРИ ОШИБКЕ:
isError - больше нуля
mess - описание ошибки
*/
call pCart('Upd',JSON_OBJECT(
'qty',0,
'id', :id,
'LanguageCode','ru'))
/*
ГДЕ:
id - код позиции в корзине
ВЕРНЕТ ПРИ УСПЕШНОМ ВЫПОЛНЕНИИ:
isOk - 1
ВЕРНЕТ ПРИ ОШИБКЕ:
isError - больше нуля
mess - описание ошибки
*/
call pCart('TabDelete',JSON_OBJECT(
'isWebCart',1,
'ShopID',:ShopID,
'CounterPartsID',:CounterPartsID,
'SessionId',':SessionId',
'tabID',:tabID,
'LanguageCode','ru'))
/*
TabID - индекс корзины клиента
ShopID - ID магазина клиента
CounterPartsID - глобальный код клиента, а если не авторизован, передаем 0
SessionId - если клиент не авторизован, передаем уникальный ключ, например ID сессии
ВЕРНЕТ ПРИ УСПЕШНОМ ВЫПОЛНЕНИИ:
isOk - 1
ВЕРНЕТ ПРИ ОШИБКЕ:
isError - больше нуля
mess - описание ошибки
*/
call pCart('Upd',JSON_OBJECT(
'isWebCart',1,
'id',:id,
'isCheck',:isCheck,
'ShopID',:ShopID,
'tabID',:tabID,
'CounterPartsID',:CounterPartsID,
'SessionId',':SessionId'
'qty',:qty,
'note',':note',
'PriceLevelID',:PriceLevelID,
'LanguageCode','ru'))
/*
ГДЕ:
id - ID записи корзины
TabID - индекс корзины клиента
ShopID - ID магазина клиента
CounterPartsID - глобальный код клиента
qty - количество
note - комментарий
PriceLevelID - ID уровень цены клиента
isCheck - установка и снятие метки {1-установить, 0-снять}
*/
call pANY_www("PromoCheking",
JSON_OBJECT(
"PromoCode",'Code',
"CounterpartsID",CustomerID
),"ru")
/*
ГДЕ:
Code - значение промокода
CustomerID - глобальный код клиента
ЕСЛИ ПРОМОКОД НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ, ВЕРНЕТ ДВА ПОЛЯ:
isError - больше нуля
mess - описание ошибки
*/