Skip to content
Makeev Vitaliy edited this page Jul 19, 2014 · 7 revisions

#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

Набор методов автоматизирующих ряд рутинных операций в процессе работы с сущностями МойСклад

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

перейти к заголовку