-
Notifications
You must be signed in to change notification settings - Fork 3
moysklad
#moysklad-client
Получение библиотеки для работы с API МойСклад
var moysklad = require('moysklad-client');
###moysklad.createClient([login, password])
Создание экземпляра точки доступа к API МойСклад.
var client = moysklad.createClient();
Подробнее в разделе client
###moysklad.logger Логгер по умолчанию. Реализация логгера отличается в зависимости от сборки.
####moysklad.logger.{log|info|debug}
Аналог console.log
####moysklad.logger.{time|timeEnd}(name)
Аналог console.time
и console.timeEnd
##Инструменты moysklad.tools
- clone
- description
- reserve
- getAttr
- getAttrValue
- getPrice
- getPriceValue
- getProperty
- getPositions
- instanceOf
Набор методов автоматизирующих ряд рутинных операций в процессе работы с сущностями МойСклад
var tools = moysklad.tools;
###tools.clone(obj) Клонирует объект МойСклад и обнуляет идентификаторы в новом объекте.
var clonedOrder = tools.clone(order);
###tools.description(entity)
Методы для работы с полем description
.
####tools.description(entity).value()
Возвращает значение поля description
сущности entity
####tools.description(entity).append(text)
Добавляет значение text
в конец комментария description
сущности entity
####tools.description(entity).prepend(text)
Добавляет значение text
в начало комментария description
сущности entity
###tools.reserve(order)
Резервирует все товары в заказе order
.
Может быть передан любой документ наследник класса order
.
###tools.getAttr(entity, metadataUuid)
Возвращает объект attributeValue
с определенным metadataUuid
из массива entity.attribute
. Если атрибут с указанным metadataUuid
не найден, то метод создаст и вернет пустой объект атрибута и добавит созданный объект в массив entity.attribute
.
ВНИМАНИЕ! Учитывая особенность работы метода его не следует использовать в качестве проверки наличия атрибута. Для этих целей можно применять
tools.getAttrValue
.
###tools.getAttrValue(entity, metadataUuid)
Возвращает значение атрибута attributeValue
с определенным metadataUuid
из массива entity.attribute
.
###tools.getPrice(entity, priceTypeUuid)
Возвращает объект price
с определенным priceTypeUuid
из массива entity.salePrices
. Если цена с указанным priceTypeUuid
не найдена, то метод создаст и вернет пустой объект цены и добавит созданный объект в массив entity.salePrices
.
ВНИМАНИЕ! Учитывая особенность работы метода его не следует использовать в качестве проверки наличия цены. Для этих целей можно применять
tools.getPriceValue
.
###tools.getPriceValue(entity, priceTypeUuid)
Возвращает значение цены продажи с определенным priceTypeUuid
из массива entity.salePrices
. Значение возвращается в основных единицах валюты (напр. в рублях, а не в копейках, как оно сохранено изначально в объекте цены МойСклад).
###tools.getProperty(entity, propertyName [, defaultValue])
Возвращает значение свойства propertyName
сущности entity
. Если свойство propertyName
не определено, то метод вернет значение defaultValue
.
Метод удобен для получения значений вложенных свойств без необходимости проверки родителей на undefined
.
var bankName = tools.getProperty(entity, 'requisite.bankAccount.bankName');
var companyName = tools.getProperty(entity, 'requisite.legalTitle', company.name);
###tools.getPositions(entity)
Универсальный метод для получения массива с позициями документа.
Наименование поля с позициями может отличатся в зависимости от типа сущности МойСклад (к примеру, customerOrderPosition
в заказе покупателя и shipmentOut
в отгрузке).
###tools.instanceOf(entity, typeName)
Проверяет является сущность entity
наследником typeName
(согласно объектной модели МойСклад).
var customerOrder = client.from('customerOrder').first();
tools.instanceOf(customerOrder, 'order'); // → true
tools.instanceOf('demand', 'infoEntity'); // → true
####Return
Boolean
- true
или false