Проект

Общее

Профиль

API - Счета на оплату » История » Версия 6

Александр Кварацхелия, 18.04.2014 17:56

1 1 Александр Кварацхелия
h1. API - Счета на оплату
2
3
{{>toc}}
4
5
h2. Ресурс: Счет на оплату
6
7
Доступ через основной интерфейс Неба: "Продажи" > "Счета на оплату".
8
9
Все операции в рамках работы со счетами на оплату требуют [[API#Аутентификация-внешнего-приложения|аутентификации]] и [[API#Рабочая-организация|установки рабочей организации]].
10
11
h3. Модель счета на оплату
12
13
<pre>
14
<code class="json">
15
{
16
    "id": 1234,
17
    "num": "325",
18
    "date": "18.04.2014",
19 2 Александр Кварацхелия
    "contragent": {"id": 1234},
20
    "contract": null,
21 1 Александр Кварацхелия
    "sclad": null,
22
23
    "account_for_transfer": {"id": 1234},
24
25
    "nds_included": true,
26
    "rows": [],
27
    "summa": 10000.00,
28
    "comment": "Комментарий"
29
}
30
</code>
31
</pre>
32
33
* @id@ - идентификатор счета на оплату
34
* @num@ - номер счета (макс. 50 символов, необязательно). Если номер счета не указан, система попытается сгенерировать номер сама
35 3 Александр Кварацхелия
* @date@ - дата выставления счета в формате "dd.mm.yyyy". Если дата счета не указана, то система подставляет текущую дату (согласно сервера Неба)
36 1 Александр Кварацхелия
* @contragent@ - ссылка на контрагента (минимально <code class="json">{"id": 1234}</code> или <code class="json">null</code>)
37
* @contract@ - ссылка на договор с контрагентом (минимально <code class="json">{"id": 1234}</code> или <code class="json">null</code>)
38
* @sclad@ - [[|Склад]], с которого будет выполняться отгрузка товара (минимально <code class="json">{"id": 1234}</code> или <code class="json">null</code>)
39
* @account_for_transfer@ - [[|Банковский счет организации]], на который должна поступить оплата (минимально <code class="json">{"id": 1234}</code> или <code class="json">null</code>)
40
* @nds_included@ - true/false в зависимости, включен ли НДС в цену или нет (по умолчанию, true)
41
* @summa@ - общая сумма по документу
42
* @comment@ - комментарий к счету (необязательно)
43
44
h3. Модель строки счета на оплату
45
46
<pre>
47
<code class="json">
48
{
49 2 Александр Кварацхелия
    "nomenclature": {"id": 1234},
50
    "name_ex": null,
51 1 Александр Кварацхелия
    "count": 1,
52
    "price": 3000.00,
53
    "NDS_rate": {"id": 1},
54
    "NDS_sum": 457.63,
55
    "summa": 3000.00
56
}
57
</code>
58
</pre>
59
60 2 Александр Кварацхелия
* @nomenclature@ - обязательная ссылка на объект номенклатуры
61
* @name_ex@ - расширенное название позиции номенклатуры (только для услуг) или null,
62
* @count@ - количество 
63
* @price@ - цена
64
* @NDS_rate@ - ставка НДС (объект вида <code class="json">{"id": 1234}</code>, обязательно)
65
* @NDS_sum@ - сумма НДС по строке
66
* @summa@ - сумма по строке
67 1 Александр Кварацхелия
68
h3. Операции
69
70 2 Александр Кварацхелия
*name*: Получение списка
71
*desc*: Возвращает список счетов на оплату из текущей рабочей организации
72
*url*: @/buh/invoice-for-payment-doc/list@
73 1 Александр Кварацхелия
*params*: Стандартные параметры операции [[API#Операция-LIST|LIST]]
74 2 Александр Кварацхелия
*return* список моделей
75 1 Александр Кварацхелия
 
76 2 Александр Кварацхелия
*name*: Чтение одного объекта
77
*desc*: Возвращает счет на оплату по указанному первичному ключу
78
*url*: @/buh/invoice-for-payment-doc/read@
79 1 Александр Кварацхелия
*params*: без параметров для получения нового (пустого) объекта; @id@ - для существующего объекта
80
81 2 Александр Кварацхелия
*name*: Создание
82
*desc*: Создает новый счет на оплату в рабочей организации
83
*url*: @/buh/invoice-for-payment-doc/create@
84 1 Александр Кварацхелия
*params*: модель счета на оплату без указанного @id@
85 3 Александр Кварацхелия
*return*: <code class="json">{"success": true, "data": {"id": 1234}}</code>
86 1 Александр Кварацхелия
87 2 Александр Кварацхелия
*name*: Изменение
88
*desc*: Изменяет данные счета на оплату в рабочей организации
89
*url*: @/buh/invoice-for-payment-doc/update@
90
*params*: модель счета на оплату с указанным @id@
91 1 Александр Кварацхелия
92 2 Александр Кварацхелия
*name*: Удаление 
93
*desc*: Удаляет счет на оплату с указанным id (см. [[API#Операция-DELETE|DELETE]])
94
*url*: @/buh/invoice-for-payment-doc/delete@
95 5 Александр Кварацхелия
*params*: модель счета на оплату, либо объект <code class="json">{"id": 123}</code>.
96
97
*name*: Печать счета на оплату
98
*desc*: Формирует файл печатной формы для счета на оплату
99
*url*: @/core/reports/run@
100
*type*: GET
101
*params*: @report_code=InvoiceForPayment@ и @id=1234@, где 1234 - идентификатор счета на оплату, который необходимо получить
102
*return*: объект вида <code class="json">{"success": true, "data": {"end_file_path": "/media/downloads/reports/SchetNaOplatu5835179a-c700-11e3-a015-5404a6a46ef3.xlsx"}}</code>, где в @data.end_file_path@ содержится относительный путь до подготовленного файла со счетом на оплату (путь представлен относительно https://nebopro.ru/)
103
104 3 Александр Кварацхелия
h3. Пример создания счета на оплату
105
106
Предположим, в рабочей организации мы хотим создать счет на оплату со следующими параметрами:
107
108
* Идентификатор контрагента: 21184
109
* Учета по договорам с контрагентом - нет
110
* Учета по складам - нет
111
* Адрес доставки неизвестен
112
* Идентификатор счета для зачисления средств: 2330
113
114
В табличной части счета на оплату указываются следующие параметры:
115
116
* Одна позиция для услуги с идентификатором 15341 с текстом "Оплата аренды сервиса за март 2014 года" (наименование услуги в справочнике "Оплата аренды сервиса")
117
* Одна позиция для товара с идентификатором 15340 (наименование товара в справочнике "Пакет для сдачи отчетности")
118
* Одна позиция для услуги с идентификатором 15342 (наименование услуги в справочнике "Расширенная консультация специалиста")
119
120
Все позиции в счете не облагаются НДС
121
122 4 Александр Кварацхелия
Объект создаваемого счета на оплату в этом случае будет выглядеть следующим образом:
123 3 Александр Кварацхелия
<pre>
124
<code class="json">
125
{
126
    "num": "1000",
127
    "date": "01.04.2014",
128
    "contragent": {"id": 21184},
129
    "account_for_transfer": {"id": 2330},
130
131
    "rows": [
132
        {
133
            "nomenclature": {"id": 15341},
134
            "name_ex": "Оплата аренды сервиса за март 2014 года",
135
            "count": 1,
136
            "price": 500.00,
137
            "NDS_rate": {"id": 3},
138
            "NDS_sum": 0.00,
139
            "summa": 500.00
140
        },
141
        {
142
            "nomenclature": {"id": 15340},
143
            "count": 1,
144
            "price": 100.00,
145
            "NDS_rate": {"id": 3},
146
            "NDS_sum": 0.00,
147
            "summa": 100.00
148
        },
149
        {
150
            "nomenclature": {"id": 15342},
151
            "count": 1,
152
            "price": 50.10,
153
            "NDS_rate": {"id": 3},
154
            "NDS_sum": 0.00,
155
            "summa": 50.10
156
        }
157
    ],
158
    "summa": 650.10
159
}
160
</code>
161 1 Александр Кварацхелия
</pre>
162 4 Александр Кварацхелия
163
Для создания счета необходимо отправить запрос следующего вида:
164 1 Александр Кварацхелия
165
!invoice-sample.png!
166 6 Александр Кварацхелия
167
Предположим, что запрос выполнился успешно и данному счету на оплату присвоился идентификатор 3042.
168
169
Далее, мы можем получить ссылку на печатную форму данного счета на оплату, отправив GET запрос по адресу https://nebopro.ru/core/reports/run?report_code=InvoiceForPayment&doc_id=3042.