НазначениеОтчеты. Ведомость остатков
Тип запросаАсинхронный
Версия SHSH4, SH5

В sh5 группировки значительно отличаются.

2.1 Формат запроса

<?xml version="1.0" encoding="utf-8"?>
<RQ cmd="sh_rep_bill_of_balance" tasktype = "any_call" callback="http://ya.ru">
  <PARAM name="object_id" val="199990106"/>
  <REPORTPARAMS>
    <REPORTDATE date="date" />
    <GOODSGROUP rid="int_or_null" with_nested_groups="int" />
    <CATEGORY main_rid="int_or_null" bookeeping_rid="int_or_null" />
    <CLASSIFY item_rid="int_or_null" />
    <STORE rid="int_or_null" group_rid="int_or_null" />
    <CURRENCY rid="int" />
    <CONSTRAINTS group_for="enum" only_with_movement_for_store="int_or_null" />
    <REMNANTS condition="enum" value="enum" />
  </REPORTPARAMS>  
</RQ>

Описание параметров


ПараметрТипОбязательныйОписаниеЗначение по умолчанию
object_idint+Код ресторана в системе лицензирования
groupguidguid-Необязательный guid для группировки запросов в рамках одного пользовательского сценария. Если создаётся серия запросов (создан заказ, сохранён, оплачен), то лучше группировать их в один сценарий для упрощения диагностики проблем.
callbackstring+HTTP адрес, по которому WhiteServer отправит запрос после выполнения команды
GOODSGROUP.ridint+Rid товарной группы
GOODSGROUP.with_nested_groupsint+включить в отчет данные по вложенным группам;
CATEGORY.main_ridint+ID основной категории
CATEGORY.bookeeping_ridint+ID бухгалтерской категории
CLASSIFY.item_ridint+ID значения товарного классификатора
STORE.ridint-ID склада. Если присутствует этот атрибут, то атрибута STORE.group_rid не должно быть;
STORE.group_ridint-ID группы складов. Если присутствует этот атрибут, то атрибута STORE.rid не должно быть;
CURRENCY.ridint+Rid валюты, поле обязательно для заполнения;
CONSTRAINTS.group_forNone - не группировать (используется, если атрибут отсутствует); ForStores - группировать по складам;+Группировать результаты по …
CONSTRAINTS.only_with_movement_for_storeint-Выводить только товары, по которым есть операции по складу (складам);
REMNANTS.conditionLess - меньше; NotMore - не более; Equal - равно; NotLess - не менее; More - больше; NotEqual - не равно;-условие
REMNANTS.valueZero - нуля; MinimumStock - мин. товарного запаса; MaximumStock - макс. товарного запаса;-Значение. Если REMNANTS.condition не заполнен, то значение атрибута REMNANTS.value игнорируется.


Обязательно наличие хотя бы 1 ед.изм.

2.2 Формат ответа

<?xml version="1.0" encoding="utf-8"?>
<RP taskguid="6774b0bc-dd5e-4eca-a1f9-d982607feb2e" code="0" version="1.5.0.7155" />

Описание параметров

ПараметрТипОписание
taskguidguidУникальный код этой задачи. При отправке callback будет использован этот код, чтобы вызывающий сервис мог сопоставить запрос и ответ


2.3 Формат callback (асинхронного ответа)

Ответ с группировкой

<RP cmdguid="e1761d18-6325-43d0-85a3-2610ad637f3d" posid="90EF4C1B-358E-4408-8B4D-E2BC799A0688">
	<GROUPS>
		<GROUP name="Второй склад" id="0" rid="1421"/>
		<GROUP name="Склад" id="1" rid="2"/>
		<GROUP name="Третий склад" id="2" rid="1422"/>
		<GROUP name="Дополнительный склад" id="3" rid="1423"/>
	</GROUPS>
	<LINES>
		<LINE rid="14149" good_name="йонику дим-сам" atr_text="фабрика" atr_num="7" munits_ref="5" munits_name="шт" qnt="136.000" sum_without_tax="3685.76" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000" group_id="1"/>
		<LINE rid="14148" good_name="ясай дим-сам" atr_text="фабрика" atr_num="6" munits_ref="5" munits_name="шт" qnt="0.998" sum_without_tax="0.00" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000" group_id="0"/>
		<LINE rid="14148" good_name="ясай дим-сам" atr_text="фабрика" atr_num="6" munits_ref="5" munits_name="шт" qnt="208.000" sum_without_tax="5551.52" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000" group_id="1"/>
		<LINE rid="13979" good_name="кани дим-сам" atr_text="фабрика" atr_num="3" munits_ref="5" munits_name="шт" qnt="680.000" sum_without_tax="23745.60" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000" group_id="1"/>
		<LINE rid="13493" good_name="эби-хотатэ дим-сам" atr_text="фабрика" atr_num="5" munits_ref="5" munits_name="шт" qnt="408.000" sum_without_tax="16936.00" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000" group_id="1"/>
		<LINE rid="13488" good_name="тори дим-сам" atr_text="фабрика" atr_num="4" munits_ref="5" munits_name="шт" qnt="120.000" sum_without_tax="3500.40" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000" group_id="1"/>
		<LINE rid="13491" good_name="игай дим-сам" atr_text="фабрика" atr_num="2" munits_ref="5" munits_name="шт" qnt="200.000" sum_without_tax="7096.00" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000" group_id="1"/>
		<LINE rid="13743" good_name="даи-тори дим-сам" atr_text="фабрика" atr_num="1" munits_ref="5" munits_name="шт" qnt="120.000" sum_without_tax="3480.00" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000" group_id="1"/>
	</LINES>
</RP>

Ответ без группировки

<RP cmdguid="e1761d18-6325-43d0-85a3-2610ad637f3d" posid="7E04197A-8885-46BF-BB07-78274C0C5F38">
	<LINES>
		<LINE rid="14149" good_name="йонику дим-сам" atr_text="фабрика" atr_num="7" munits_ref="5" munits_name="шт" qnt="136.000" sum_without_tax="3685.76" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000"/>
		<LINE rid="14148" good_name="ясай дим-сам" atr_text="фабрика" atr_num="6" munits_ref="5" munits_name="шт" qnt="208.998" sum_without_tax="5551.52" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000"/>
		<LINE rid="13979" good_name="кани дим-сам" atr_text="фабрика" atr_num="3" munits_ref="5" munits_name="шт" qnt="680.000" sum_without_tax="23745.60" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000"/>
		<LINE rid="13493" good_name="эби-хотатэ дим-сам" atr_text="фабрика" atr_num="5" munits_ref="5" munits_name="шт" qnt="408.000" sum_without_tax="16936.00" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000"/>
		<LINE rid="13488" good_name="тори дим-сам" atr_text="фабрика" atr_num="4" munits_ref="5" munits_name="шт" qnt="120.000" sum_without_tax="3500.40" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000"/>
		<LINE rid="13491" good_name="игай дим-сам" atr_text="фабрика" atr_num="2" munits_ref="5" munits_name="шт" qnt="200.000" sum_without_tax="7096.00" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000"/>
		<LINE rid="13743" good_name="даи-тори дим-сам" atr_text="фабрика" atr_num="1" munits_ref="5" munits_name="шт" qnt="120.000" sum_without_tax="3480.00" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000"/>
	</LINES>
</RP>

Если запрошен отчет без группировок, то тэг GROUP не возвращается. Описание параметров


ПараметрТипОписание
cmdguidguidСовпадает с taskguid в ответе
posidguidPOS id кассового сервера (можно игнорировать)
GROUP namestringназвание группы
GROUP idintидентификатор группы
LINE ridintrid товара
LINE good_namestringназвание товара
LINE atr_textstringаббревиатура товара префикс
LINE atr_numintаббревиатура товара номер
LINE munits_ridintrid единицы измерения;
LINE munits_nameintназвание единицы измерения;
LINE qntintколичество (с точностью до 3-х знаков после запятой);
LINE sum_without_taxintсумма без налогов;
LINE sum_ndsintсумма НДС;
LINE min_reserveintминимальный запас;
LINE max_reserveintмаксимальный запас. Если атрибута нет в ответе, то максимальный запас не ограничен
LINE group_idintid группы. Если запрошен отчет без группировок, то это поле не возвращается;

3.1 Пример

3.1.1 Запрос

<?xml version="1.0" encoding="utf-8"?>
<RQ cmd="sh_rep_bill_of_balance" tasktype="any_call" callback="http://ya.ru">
  <PARAM name="object_id" val="199990106"/>
 <REPORTPARAMS>
    <REPORTDATE date="2017-09-28" />
    <GOODSGROUP rid="97" with_nested_groups="1" />
    <CATEGORY main_rid="98" bookeeping_rid="99" />
    <CLASSIFY item_rid="14" />
    <STORE rid="52" />
    <CURRENCY rid="15" />    
    <CONSTRAINTS group_for="ForStores" only_with_movement_for_store="0" />
    <REMNANTS condition="Less" value="MaximumStock" />
  </REPORTPARAMS>
</RQ>

3.1.2 Ответ

<?xml version="1.0" encoding="utf-8"?>
<RP taskguid="0a85447e-f4da-4424-8c36-d20c63fe6b89" code="0" version="1.7.0.8215" />

3.1.3 Callback (асинхронный ответ)

<RP cmdguid="e1761d18-6325-43d0-85a3-2610ad637f3d" posid="7E04197A-8885-46BF-BB07-78274C0C5F38">
	<GROUPS>
		<GROUP name="Второй склад" id="0" rid="1421"/>
		<GROUP name="Склад" id="1" rid="2"/>
		<GROUP name="Третий склад" id="2" rid="1422"/>
		<GROUP name="Дополнительный склад" id="3" rid="1423"/>
	</GROUPS>
	<LINES>
		<LINE rid="14149" good_name="йонику дим-сам" atr_text="фабрика" atr_num="7" munits_ref="5" munits_name="шт" qnt="136.000" sum_without_tax="3685.76" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000" group_id="1"/>
		<LINE rid="14148" good_name="ясай дим-сам" atr_text="фабрика" atr_num="6" munits_ref="5" munits_name="шт" qnt="0.998" sum_without_tax="0.00" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000" group_id="0"/>
		<LINE rid="14148" good_name="ясай дим-сам" atr_text="фабрика" atr_num="6" munits_ref="5" munits_name="шт" qnt="208.000" sum_without_tax="5551.52" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000" group_id="1"/>
		<LINE rid="13979" good_name="кани дим-сам" atr_text="фабрика" atr_num="3" munits_ref="5" munits_name="шт" qnt="680.000" sum_without_tax="23745.60" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000" group_id="1"/>
		<LINE rid="13493" good_name="эби-хотатэ дим-сам" atr_text="фабрика" atr_num="5" munits_ref="5" munits_name="шт" qnt="408.000" sum_without_tax="16936.00" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000" group_id="1"/>
		<LINE rid="13488" good_name="тори дим-сам" atr_text="фабрика" atr_num="4" munits_ref="5" munits_name="шт" qnt="120.000" sum_without_tax="3500.40" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000" group_id="1"/>
		<LINE rid="13491" good_name="игай дим-сам" atr_text="фабрика" atr_num="2" munits_ref="5" munits_name="шт" qnt="200.000" sum_without_tax="7096.00" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000" group_id="1"/>
		<LINE rid="13743" good_name="даи-тори дим-сам" atr_text="фабрика" atr_num="1" munits_ref="5" munits_name="шт" qnt="120.000" sum_without_tax="3480.00" sum_nds="0.00" sum_nsp="0.00" min_reserve="0.000" max_reserve="-1.000" group_id="1"/>
	</LINES>
</RP>

Обратите внимание, что в 3.1.2 taskguid и 3.1.3 cmdguid совпадают.

V2 ShRepBillOfBalance