Доступ к документам склада



Структура моделей, назначение полей

Модель StoreDocument (заголовок документа)

Модель StoreDocument — представляет заголовок документа склада, содержит основную информацию о нем.

* @property integer $id // ID документа
* @property enum('prihod','rashod','inventar','transfer','invoice','return_good') $document_type // тип документа

‘prihod’ — приходная накладная
‘rashod’ — расходная накладная
‘inventar’ — инвентаризация
‘transfer’ — передача товара между складами
‘invoice’ — счет
‘return_good’ — возврат товаров

* @property enum('save','exec','deleted','disabled') $status // статус документа
* @property integer $store_id // ID склада
* @property integer $receiver_store_id //  ID склада получателя, при передаче товара между складами. тип документа - 'transfer'
* @property integer $supplier_id // ID поставщика в приходной накладной. тип документа - 'prihod'
* @property integer $receiver_id // ID контрагент в расходной накладной. тип документа - 'rashod'
* @property timestamp $add_dt // дата добавления
* @property timestamp $edit_dt // дата редактирования 
* @property timestamp $exec_dt // дата выполнения

Модель StoreDocumentOperation(товары в документе, история действий)

Модель StoreDocumentOperation — Представляет товары вошедшие в документ склада, хранит в себе историю действий с документом

* @property integer $id // ID строки
* @property integer $document_id // ID заголовка
* @property enum('add','edit','exec','rollback','deleted','disabled') $status // действие с документом
* @property integer $good_id // ID товара
* @property integer $characteristic_id // ID характеристики товара
* @property float $quantity // количество
* @property float $price // цена
* @property float $quantity_fakt // количество по факту, используется в инвентаре
* @property integer $history_num // номер действия по порядку
* @property timestamp $add_dt // дата добавления строки
* @property integer $party_account_id // ID заголовка партии в которую добавляется или с которой списывается товар, в зависимости от типа документа
* @property integer $party_account_id_by_transfer // ID созданной партии при передаче товара между складами. тип документа - 'transfer'
* @property integer $invoice_document_id // ID строки счета, связь со строкой товара, если товар списывался со склада при выполнении счета.
* @property float $price_no_nds // Цена без НДС
* @property float $cost_no_nds // Стоимость без НДС
* @property float $stavka_nds_percent // Ставка НДС(%). Значение "-1" означает, что в документе указано "Без НДС".
* @property float $sum_nds //Сумма НДС
* @property float $cost // Стоимость с НДС

В этой модели есть уникальный ключ по полям (document_id, invoice_document_id, good_id, characteristic_id, history_num, party_account_id, status)

Примеры запросов

Общие сведения о запросах к API

Пример StoreDocument

curl -i -H "Accept: application/json" -H "X-REST-API-KEY: 950a183ccebb639d464c04ed4b70528b" http://example/rest/api/StoreDocument/1
   "success": true,
   "message": "Record Retrieved Successfully",
   "data": {
       "totalCount": 1,
       "storeDocument": {
           "id": "957",
           "document_type": "prihod",
           "status": "save",
           "store_id": "1",
           "receiver_store_id": "0",
           "supplier_id": "13",
           "receiver_id": "1",
           "add_dt": "2014-11-14 13:30:59",
           "edit_dt": "2014-11-14 13:31:08",
           "exec_dt": "0000-00-00 00:00:00",
           "store": {
               "id": "1",
               "title": "\u0421\u043a\u043b\u0430\u0434 \u043a\u043b\u0438\u043d\u0438\u043a\u0438",
               "assigned_user_id": "15",
               "type": "sale",
               "inventarization_date": "2014-11-13 12:23:26",
               "status": "active"
           },
           "storeDocumentOperations": [{
               "id": "3314",
               "document_id": "957",
               "status": "add",
               "good_id": "24540",
               "characteristic_id": "53",
               "quantity": "4",
               "price": "4",
               "quantity_fakt": "0",
               "history_num": "1",
               "add_dt": "2014-11-14 13:30:59",
               "party_account_id": "208",
               "party_account_id_by_transfer": "0",
               "invoice_document_id": "0",
               "inventar_quantity_fakt": "0",
               "inventar_quantity_before": "0"
           }, {
               "id": "3316",
               "document_id": "957",
               "status": "edit",
               "good_id": "24540",
               "characteristic_id": "53",
               "quantity": "4",
               "price": "4",
               "quantity_fakt": "0",
               "history_num": "2",
               "add_dt": "2014-11-14 13:31:08",
               "party_account_id": "208",
               "party_account_id_by_transfer": "0",
               "invoice_document_id": "0",
               "inventar_quantity_fakt": "0",
               "inventar_quantity_before": "0"
           }, {
               "id": "3318",
               "document_id": "957",
               "status": "exec",
               "good_id": "24540",
               "characteristic_id": "53",
               "quantity": "4",
               "price": "4",
               "quantity_fakt": "0",
               "history_num": "3",
               "add_dt": "2014-11-14 13:31:10",
               "party_account_id": "208",
               "party_account_id_by_transfer": "0",
               "invoice_document_id": "0",
               "inventar_quantity_fakt": "0",
               "inventar_quantity_before": "0"
           }, {
               "id": "3320",
               "document_id": "957",
               "status": "rollback",
               "good_id": "24540",
               "characteristic_id": "53",
               "quantity": "4",
               "price": "4",
               "quantity_fakt": "0",
               "history_num": "4",
               "add_dt": "2014-11-14 13:31:13",
               "party_account_id": "208",
               "party_account_id_by_transfer": "0",
               "invoice_document_id": "0",
               "inventar_quantity_fakt": "0",
               "inventar_quantity_before": "0"
           }, {
               "id": "3315",
               "document_id": "957",
               "status": "add",
               "good_id": "24548",
               "characteristic_id": "0",
               "quantity": "33",
               "price": "152",
               "quantity_fakt": "0",
               "history_num": "1",
               "add_dt": "2014-11-14 13:30:59",
               "party_account_id": "208",
               "party_account_id_by_transfer": "0",
               "invoice_document_id": "0",
               "inventar_quantity_fakt": "0",
               "inventar_quantity_before": "0"
           }, {
               "id": "3317",
               "document_id": "957",
               "status": "edit",
               "good_id": "24548",
               "characteristic_id": "0",
               "quantity": "15",
               "price": "333",
               "quantity_fakt": "0",
               "history_num": "2",
               "add_dt": "2014-11-14 13:31:08",
               "party_account_id": "208",
               "party_account_id_by_transfer": "0",
               "invoice_document_id": "0",
               "inventar_quantity_fakt": "0",
               "inventar_quantity_before": "0"
           }, {
               "id": "3319",
               "document_id": "957",
               "status": "exec",
               "good_id": "24548",
               "characteristic_id": "0",
               "quantity": "15",
               "price": "333",
               "quantity_fakt": "0",
               "history_num": "3",
               "add_dt": "2014-11-14 13:31:10",
               "party_account_id": "208",
               "party_account_id_by_transfer": "0",
               "invoice_document_id": "0",
               "inventar_quantity_fakt": "0",
               "inventar_quantity_before": "0"
           }, {
               "id": "3321",
               "document_id": "957",
               "status": "rollback",
               "good_id": "24548",
               "characteristic_id": "0",
               "quantity": "15",
               "price": "333",
               "quantity_fakt": "0",
               "history_num": "4",
               "add_dt": "2014-11-14 13:31:13",
               "party_account_id": "208",
               "party_account_id_by_transfer": "0",
               "invoice_document_id": "0",
               "inventar_quantity_fakt": "0",
               "inventar_quantity_before": "0"
           }]
       }
   }

Пример StoreDocumentOperation

curl -i -H "Accept: application/json" -H "X-REST-API-KEY: 950a183ccebb639d464c04ed4b70528b"  http://example/rest/api/StoreDocumentOperation/1
  "success": true,
   "message": "Record Retrieved Successfully",
   "data": {
       "totalCount": 1,
       "storeDocumentOperation": {
           "id": "3795",
           "document_id": "1087",
           "status": "add",
           "good_id": "24540",
           "characteristic_id": "0",
           "quantity": "1",
           "price": "2.2",
           "quantity_fakt": "0",
           "history_num": "1",
           "add_dt": "2014-12-17 15:32:31",
           "party_account_id": "259",
           "party_account_id_by_transfer": "0",
           "invoice_document_id": "0",
           "inventar_quantity_fakt": "0",
           "inventar_quantity_before": "0",
           "price_no_nds": "2",
           "cost_no_nds": "2",
           "stavka_nds_percent": "10",
           "sum_nds": "0.2",
           "cost": "2.2",
           "document": {
               "id": "1087",
               "document_type": "prihod",
               "status": "exec",
               "store_id": "39",
               "receiver_store_id": "0",
               "supplier_id": "54",
               "add_dt": "2014-12-17 15:32:31",
               "edit_dt": "2014-12-17 15:32:31",
               "exec_dt": "2014-12-17 15:32:35",
               "receiver_id": "0"
           },
           "good": {
               "id": "24540",
               "group_id": "68",
               "title": "aaaTest",
               "unit_storage_id": "9",
               "is_warehouse_account": "1",
               "is_active": "1",
               "code": "",
               "is_call": "0",
               "is_for_sale": "1",
               "barcode": "222222222",
               "remove_from_store_without_prihod": "1",
               "category_id": "6"
           }
       }
   }

 

Пример получения остатка товара на складах

curl -X GET 'http://example/rest/api/stores/RestOfGoodInWarehouse/?clinic_id=1&good_id=12' -H "Accept: application/json" -H "X-REST-API-KEY: *******"

{
    [success] => 1
    [message] => Records Retrieved Successfully
    [data] => Array
        (
            [totalCount] => 1
            [rest_good_in_warehouse] => Array
(
                    [quantity] => 4.000
)
        )
}