lib/moysklad/entities/customer_order.rb in moysklad-0.2.1 vs lib/moysklad/entities/customer_order.rb in moysklad-0.3.0
- old
+ new
@@ -1,42 +1,135 @@
+require_relative 'entity'
+require_relative 'owner'
+require_relative 'group'
+require_relative 'rate'
+require_relative 'customer_order_position'
+require_relative 'time'
+
module Moysklad::Entities
# Пример:
- # https://support.moysklad.ru/hc/ru/articles/203402923-Пример-загрузки-заказа-покупателя-через-REST-API
+ # https://online.moysklad.ru/api/remap/1.1/doc/index.html#документ-заказ-покупателя
#
- class CustomerOrder < Base
- include CommonObject
- include XmlFix
+ class CustomerOrder < Entity
- tag 'customerOrder'
+ # АТРИБУТЫ СУЩНОСТИ ¶
+ #
+ # meta - Метаданные о Заказе покупателя
+ # id - ID в формате UUID Только для чтения
+ # accountId - ID учетной записи Только для чтения
+ attribute :accountId, String
- attribute :created, Time
- attribute :createdBy, String
+ # syncId - ID синхронизации Только для чтения
+ attribute :syncId, String
- attribute :reservedSum, Float
+ # version - Версия сущности Только для чтения
+ # updated - Момент последнего обновления сущности Только для чтения
+ # deleted - Момент последнего удаления сущности Только для чтения
+ # name - номер Заказа покупателя
+ # description - Комментарий Заказа покупателя
+ attribute :description, String
- attribute :sourceStoreUuid, String
- attribute :sourceAccountUuid, String
- attribute :sourceAgentUuid, String
+ # externalCode - Внешний код Заказа покупателя
+ # moment - Дата Заказа
+ attribute :moment, Time
- attribute :targetAgentUuid, String
- attribute :targetAccountUuid, String
+ # applicable - Отметка о проведении
+ attribute :applicable, Boolean
- attribute :applicable, Boolean
- attribute :moment, Time
+ # vatIncluded - Включен ли НДС в цену
+ attribute :vatIncluded, Boolean
- attribute :payerVat, Boolean
+ # vatEnabled - Учитывается ли НДС
+ attribute :vatEnabled, Boolean
- attribute :consignmentUuid, String
+ # sum - Сумма Заказа в установленной валюте Только для чтения
+ attribute :sum, Integer
- attribute :rate, Float
+ # rate - Валюта
+ attribute :rate, Rate
- attribute :vatIncluded, Boolean
- attribute :name, String
+ # owner - Владелец (Сотрудник)
+ attribute :owner, Owner
+ # shared - Общий доступ
- element :sum, Moysklad::Entities::Price, tag: :sum
+ attribute :shared, Boolean
- element :deleted, Time
+ # group - Отдел сотрудника
+ attribute :group, Group
- has_many :customerOrderPosition, Moysklad::Entities::CustomerOrderPosition
+ # organization - Ссылка на ваше юрлицо в формате Метаданных Необходимое
+ attribute :organization, Entity
+ # agent - Ссылка на контрагента в формате Метаданных Необходимое
+ attribute :agent, Entity
+
+ # store - Ссылка на склад в формате Метаданных
+ attribute :store, Entity
+
+ # contract - Ссылка на договор в формате Метаданных
+ attribute :contract, Entity
+
+ # state - Статус Заказа в формате Метаданных
+
+ attribute :state, Entity
+
+ # organizationAccount - Ссылка на счёт вашего юрлица в формате Метаданных
+ attribute :organizationAccount, Entity
+
+ # agentAccount - Ссылка на счёт контрагента в формате Метаданных
+ attribute :agentAccount, Entity
+
+ # attributes - Коллекция доп. полей.
+ # attribute :attributes, Hash
+
+ # documents - Список печатных форм в формате Метаданных
+ attribute :documents, Entity
+
+
+ # Поля при expand’е:
+ #
+ # name - номер документа
+ # moment - дата печати
+ # href - ссылка на файл печатной формы
+ # fileName - название файла печатной формы
+ # updated - дата последнего изменения
+ # created - Дата создания Только для чтения
+ #
+
+ # vatSum - Сумма НДС Только для чтения
+ attribute :vatSum, Integer
+
+ # positions - Ссылка на позиции в Заказе в формате Метаданных
+ attribute :positions, Object # Array[CustomerOrderPosition] или CollectionMeta
+
+ # reservedSum - Сумма товаров в резерве Только для чтения
+ attribute :reservedSum, Integer
+
+ # deliveryPlannedMoment - Планируемая дата отгрузки
+ attribute :deliveryPlannedMoment, Time
+
+ # payedSum - Сумма входящих платежей по Заказу Только для чтения
+ attribute :payedSum, Integer
+
+ # shippedSum - Сумма отгруженного Только для чтения
+ attribute :shippedSum, Integer
+
+ # invoicedSum - Сумма счетов покупателю Только для чтения
+ attribute :invoicedSum, Integer
+
+ # project - Ссылка на проект в фоÑмате Метаданных
+ #
+ # СВЯЗИ С ДРУГИМИ ДОКУМЕНТАМИ
+ #
+ # purchaseOrders - Массив ссылок на связанные заказы поставщикам
+ # demands - Массив ссылок на связанные отгрузки
+ # payments - Массив ссылок на связанные платежи
+ # invoicesOut - Массив ссылок на связанные счета покупателям
+ #def state universe
+ #cache :customer_order_states, universe do
+ #fail "No stateUuid in CustomerOrder #{uuid}" unless stateUuid
+ #workflow = universe.workflows.findWhere name: 'CustomerOrder'
+ #workflow.states.find { |s| s.uuid == stateUuid }
+ #end
+ #end
end
end