Запрос справочников
Запрос GetRefList позволяет получить полный перечень названий всех справочников, их версии и количество записей в них.
Запрос при необходимости так же может:
- Отфильтровать по имени свойства
- Отфильтровать по значению свойства.
Описание
Необязательные параметры запроса
WithMacroProp
Параметр позволяет отображать генерируемые (расширенные) свойства.
| 0 | Не выводить генерируемые (расширенные) свойства (по умолчанию) |
| 1 | Выводить генерируемые (расширенные) свойства |
MacroPropExtra
Параметр позволяет отображать ДОПОЛНИТЕЛЬНЫЕ генерируемые (расширенные) свойства, которые не являются обычной частью элемента, а как правило относятся к одному из других свойств.
Примером таких свойств является GlobalTradeItemNumbers, для которого генерируются подполя с ресторанами, в которых можно указывать GTIN для каждого ресторана индивидуально. Для этих подполей на сервере генерируются дополнительные поля, которые называются по маске RESTAURANTS-IDENT(GTIN) (в XML отображаются как RESTAURANTS-IDENT_GTIN_).
| 0 | Не выводить дополнительные генерируемые (расширенные) свойства (по умолчанию) |
| 1 | Выводить дополнительные генерируемые (расширенные) свойства |
WithChildItems
Параметр позволяет выводить дочерние элементы у выводимых элементов
| 0 | Без дочерних элементов |
| 1 | Только иерархия внутри справочника в разделе RIChildItems коллекции |
| 2 | Дочерние элементы в разделе items только из других справочников |
| 3 | Иерархия внутри справочника и дочерние элементы из других справочников в разделе RIChildItems коллекции. Добавляется псевдосвойство RIChildItems, может использоваться в маске. Тэги дочерних элементов совпадают с именами классов |
OnlyActive
Параметр позволяет убрать из ответа неактивные элементы
| 0 | Выводить все элементы |
| 1 | Выводить только активные элементы |
RefItemIdent / RefItemGUID
Параметры позволяют в ответе вернуть только один элемент справочника, а не весь справочник. В качестве значения параметра передается идентификатор / guid элемента.
PropMask
Параметр позволяет выводить в ответе только нужные тэги/атрибуты.
При заполненном RefItemIdent или RefItemGUID относится к элементу, иначе к коллекции.
Обрабатываемые значения:
| * | Все свойства |
| items.(...) | Элементы коллекции, например "{Name}" – только имена элементов |
| {...} | То же, что Items.(...) |
| RIChildItems.(...) | Дочерние элементы, используется при выставленном WithChildItems=1 |
| RIChildItems.Type() | Только дочерние элементы заданного типа Type. Например, "RIChildItems.TEmployee(Ident,Name)" |
| ! | Исключение свойства из ответа. RIChildItems.(!AltName) – дочерние элементы со всеми свойствами кроме AltName |
| : | Для указания конкретного типа (доменного класса) в списках свойств, например, для указания некоторых свойств только для комбо блюд: "TRK7MenuItemCombo:ComboDiscount" |
Paging
Поддерживается начиная с версии 7.07.00.140. Кроме входных параметров добавлен атрибут коллекции на выходе TotalItemCount — общее количество элементов, которое вернулось бы, если бы не было задано параметров из этой главы.
Можно запросить часть справочника с помощью следующих параметров:
Offset
Смещение возвращаемого окна от начала. По умолчанию 0 — вернуть с первого элемента (с начала). Если значение больше или равно количеству элементов, то вернётся пустой список.
ItemCount
Количество элементов, которое надо вернуть. По умолчанию 0 — вернуть всё.
MaxRunMs
Примерное максимальное время в миллисекундах на выполнение запроса. Половина от этого времени используется на запись в бинарный стрим, потом происходит конверсия в XML, которая занимает примерно такое же время. Как только время исчерпано вывод прекращается и возвращается то количество элементов, которое успело записаться.
Примеры
Запрос данных справочника: базовый
Базовый запрос без указания дополнительных параметров возвращает все свойства всех элементов в коллекции.
Запрос
<?xml version="1.0" encoding="utf-8"?>
<RK7Query>
<RK7CMD CMD="GetRefData" RefName="RATECLASSES"/>
</RK7Query>
Ответ
<?xml version="1.0" encoding="utf-8"?>
<RK7QueryResult ServerVersion="7.6.5.171" XmlVersion="247" NetName="WM-03-REPS-000" Status="Ok" CMD="GetRefData" ErrorText="" DateTime="2020-04-08T14:04:36" WorkTime="0" Processed="1">
<RK7Reference DataVersion="78" ClassName="TRateClasses" Name="RATECLASSES" MinIdent="1" MaxIdent="0" ViewRight="0" UpdateRight="40" ChildRight="40" DeleteRight="40" XMLExport="true" XMLMask="*">
<Items>
<Item Ident="1" ItemIdent="1" SourceIdent="0" GUIDString="{C7F1B51B-1C26-453B-8E36-277604B7F031}" AssignChildsOnServer="false" ActiveHierarchy="true" Name="Национальный" AltName="National" Code="1" MainParentIdent="0" Status="rsActive" Rate="10000" ISOCode="">
<Childs ClassName="tChildCollection"/>
</Item>
<Item Ident="10026" ItemIdent="10026" SourceIdent="0" GUIDString="{4D845AF9-E0AE-44E0-9A7D-01385835ECB4}" AssignChildsOnServer="false" ActiveHierarchy="true" Name="Рубли" AltName="Rubles" Code="810" MainParentIdent="0" Status="rsActive" Rate="10000" ISOCode="">
<Childs ClassName="tChildCollection"/>
</Item>
<Item Ident="10027" ItemIdent="10027" SourceIdent="0" GUIDString="{B7841D09-911E-4B67-8306-A89825423DF1}" AssignChildsOnServer="false" ActiveHierarchy="true" Name="Доллары США" AltName="Dollars USA" Code="100" MainParentIdent="0" Status="rsActive" Rate="300000" ISOCode="">
<Childs ClassName="tChildCollection"/>
</Item>
<Item Ident="10028" ItemIdent="10028" SourceIdent="0" GUIDString="{0139E7C7-5C6C-4646-B167-0DDB1B632805}" AssignChildsOnServer="false" ActiveHierarchy="true" Name="Евро" AltName="Euro" Code="10028" MainParentIdent="0" Status="rsActive" Rate="350000" ISOCode="">
<Childs ClassName="tChildCollection"/>
</Item>
</Items>
</RK7Reference>
</RK7QueryResult>
Запрос данных справочника: фильтр по списку свойств
Атрибут PropMask позволяет запросить только необходимые свойства (в данном случае Code / Name / AltName).
Запрос
<?xml version="1.0" encoding="utf-8"?>
<RK7Query>
<RK7CMD CMD="GetRefData" RefName="Currencies" PropMask="items.(Code,Name,AltName)"/>
</RK7Query>
Ответ
<?xml version="1.0" encoding="utf-8"?>
<RK7QueryResult ServerVersion="7.6.5.171" XmlVersion="247" NetName="WM-03-REPS-000" Status="Ok" CMD="GetRefData" ErrorText="" DateTime="2020-04-08T14:21:27" WorkTime="0" Processed="1">
<RK7Reference DataVersion="517" ClassName="TCurrencies">
<Items>
<Item Ident="1" Code="1" Name="Рубли" AltName="Russian Rubles"/>
<Item Ident="2" Code="2" Name="Евро" AltName="Euro"/>
<Item Ident="3" Code="3" Name="Доллар США" AltName="Dollar USA"/>
<Item Ident="4" Code="4" Name="Кредитная карта" AltName="VISA"/>
<Item Ident="5" Code="5" Name="Кредитная карта Доставка" AltName="MasterCard"/>
<Item Ident="6" Code="6" Name="Кредитка ООО Арбат" AltName="American Express"/>
<Item Ident="7" Code="7" Name="Кредитка ИП Пашин" AltName="Diners Club"/>
<Item Ident="8" Code="8" Name="Euro Cirrus Maestro" AltName="Euro Cirrus Maestro"/>
<Item Ident="9" Code="9" Name="JCB" AltName="JCB"/>
<Item Ident="10" Code="2" Name="CRM Корпор.питание" AltName="PDS payment"/>
<Item Ident="11" Code="11" Name="Персонал" AltName="Cashless"/>
<Item Ident="12" Code="12" Name="Закрытие на номер" AltName="Hotel Card"/>
<Item Ident="13" Code="13" Name="Карта Plazius" AltName="Plazius Card"/>
<Item Ident="14" Code="14" Name="Бонусы Plazius" AltName="Plazius Bonus"/>
<Item Ident="15" Code="15" Name="Карта Plazius (предоплата)" AltName="Plazius Card (prepayment)"/>
<Item Ident="16" Code="16" Name="Бонусы Plazius (предоплата)" AltName="Plazius Bonus (prepayment)"/>
<Item Ident="17" Code="200017" Name="Зачёт аванса" AltName="Use Of Advance"/>
<Item Ident="18" Code="200018" Name="Фискальный зачёт аванса (валюта)" AltName="Fiscal Use Of Advance"/>
<Item Ident="19" Code="96" Name="Скидка Plazius" AltName="Plazius Discount"/>
<Item Ident="20" Code="18" Name="МИР" AltName="MIR"/>
<Item Ident="21" Code="21" Name="Скидка Plazius (предоплата) 2ФР" AltName="Plazius Discount (prepayment) 2FR"/>
<Item Ident="22" Code="22" Name="Карта Plazius (предоплата) 2ФР" AltName="Plazius Card (prepayment) 2FR"/>
<Item Ident="23" Code="23" Name="Бонусы Plazius (предоплата) 2ФР" AltName="Plazius Bonus (prepayment) 2FR"/>
<Item Ident="24" Code="24" Name="Карта Plazius 2ФР" AltName="Plazius Card 2FR"/>
<Item Ident="25" Code="200019" Name="Зачёт аванса 2ФР" AltName="Use Of Advance 2FR"/>
<Item Ident="26" Code="200020" Name="Фискальный зачёт аванса 2ФР" AltName="Fiscal Use Of Advance 2FR"/>
<Item Ident="1001975" Code="121" Name="Представительские расходы" AltName=""/>
<Item Ident="1001976" Code="97" Name="Комплименты гостям" AltName=""/>
<Item Ident="1001977" Code="98" Name="Бракераж" AltName=""/>
<Item Ident="1002106" Code="99" Name="CRM Администрация УК" AltName=""/>
<Item Ident="1002618" Code="100" Name="CRM Пит.персонала" AltName=""/>
<Item Ident="1002806" Code="101" Name="БАНКЕТ (безнал)" AltName=""/>
<Item Ident="1002910" Code="102" Name="Рубли Доставка" AltName=""/>
<Item Ident="1003199" Code="103" Name="ЛАММА карта лояльности" AltName=""/>
<Item Ident="1003895" Code="104" Name="FoodCards" AltName=""/>
<Item Ident="1003896" Code="104" Name="Food" AltName=""/>
<Item Ident="1008962" Code="105" Name="Кальян" AltName=""/>
<Item Ident="1009519" Code="106" Name="CRM Администрация УК (Чайхона)" AltName=""/>
<Item Ident="1009522" Code="107" Name="CRM Личные средства*" AltName=""/>
<Item Ident="1009525" Code="108" Name="CRM Бонусы за пополнение" AltName=""/>
<Item Ident="1010126" Code="109" Name="Деливери" AltName=""/>
<Item Ident="1011853" Code="110" Name="Кредитная карта*" AltName=""/>
<Item Ident="1012951" Code="111" Name="ОБЕДРУ" AltName=""/>
<Item Ident="1012956" Code="112" Name="Оплата бонусами" AltName=""/>
<Item Ident="1012969" Code="113" Name="FoodCard" AltName=""/>
<Item Ident="1013095" Code="114" Name="Рубли*" AltName="Russian Rubles"/>
<Item Ident="1013112" Code="110" Name="UDS" AltName=""/>
<Item Ident="1013114" Code="10" Name="UDS Валюта" AltName=""/>
<Item Ident="1013126" Code="110" Name="КРЕДИТКА Б\А" AltName=""/>
<Item Ident="1013128" Code="17" Name="КРЕДИТКА Б\А" AltName=""/>
<Item Ident="1013236" Code="18" Name="тест" AltName=""/>
<Item Ident="1013237" Code="110" Name="КРЕДИТКА Б\А2" AltName=""/>
<Item Ident="1013424" Code="115" Name="LAMA" AltName=""/>
<Item Ident="1013439" Code="116" Name="ЛАМА" AltName=""/>
<Item Ident="1013440" Code="115" Name="Лама" AltName=""/>
<Item Ident="1013443" Code="103" Name="Лама" AltName=""/>
<Item Ident="1013537" Code="116" Name="Тугрики" AltName=""/>
</Items>
</RK7Reference>
</RK7QueryResult>
Запрос данных справочника: один элемент
Атрибут RefItemGUID позволяет запросить данные конкретного элемента из коллекции по его GUID.
Запрос
<?xml version="1.0" encoding="utf-8"?>
<RK7Query>
<RK7CMD CMD="GetRefData" RefName="LinkedSystemsTypes" RefItemGUID="{DAAEA3F9-37DA-40DC-AFC6-2CF9B45FE10D}"/>
</RK7Query>
Ответ
<?xml version="1.0" encoding="utf-8"?><RK7QueryResult ServerVersion="7.6.5.180" XmlVersion="247" NetName="OA-01-REPS-000" Status="Ok" CMD="GetRefData" ErrorText="" DateTime="2020-04-21T10:42:15" WorkTime="0" Processed="1">
<RK7Reference BlobNames="CONFIGSCHEME" DataVersion="188">
<Items>
<Item Ident="6" ItemIdent="6" SourceIdent="0" GUIDString="{DAAEA3F9-37DA-40DC-AFC6-2CF9B45FE10D}" AssignChildsOnServer="false" ActiveHierarchy="true" Name="Ингредиенты блюда" AltName="Dish ingredients" Code="6" MainParentIdent="0" Status="rsActive" Parent="0" UCSPreset="pmUCS" LicenseKind="0" isTemplate="0" FilePath=".\rkpluginSHDetail.exe"/>
</Items>
</RK7Reference>
</RK7QueryResult>
Запрос одного элемента справочника с дочерними элементами
Запрос
<?xml version="1.0" encoding="UTF-8"?>
<RK7Query>
<RK7CMD CMD="GetRefData" RefName="Selectors" WithChildItems="3" RefItemIdent="231011"/>
</RK7Query>
Ответ
<?xml version="1.0" encoding="utf-8"?>
<RK7QueryResult ServerVersion="7.6.5.185" XmlVersion="247" NetName="NAS_765_SRV" Status="Ok" CMD="GetRefData" ErrorText="" DateTime="2020-04-27T10:17:29" WorkTime="0" Processed="1">
<RK7Reference BlobNames="FORM" DataVersion="3796">
<Items>
<Item Ident="231011" ItemIdent="231011" SourceIdent="0" GUIDString="{80661BC5-D884-49EE-A587-FAF267873410}" AssignChildsOnServer="false" ActiveHierarchy="true" Code="231011" Name="Селектор "Готовить позже"" AltName="Prepare later Selector" MainParentIdent="232011" Status="rsActive" VisualType_Image="0" VisualType_BColor="-16777007" VisualType_TextColor="-16777015" VisualType_Flags="bsPictureTop" SelectorGroup="232011" GoToOperation="413" Parameter="0" RefParameter="0" PageNum="0" Form="[Layout]" UCSPreset="pmUCS" FormWidth="349" FormHeight="768" Flags="[sfForm]" LargeImagePath="" AlphabeticalSort="false" ButtonTypeSort="false" ItemCodeSort="false" FormFlag="true" DefaultBehavior="false" AutoTranslate="false" RightLvl="0">
<RIChildItems>
<TSelectorDetail ItemIdent="230550" SourceIdent="0" GUIDString="{CB40DD43-2648-4464-BBC1-F79AF9139301}" AssignChildsOnServer="false" TradeObject="toFuncKey" ObjectSifr="210266" refCollName="FUNCTIONKEYS" Flags="[]" OrderNum="43283" Selector="231011" PlacedOnForm="false" Ident="230550"/>
<TSelectorDetail ItemIdent="230551" SourceIdent="0" GUIDString="{BBE05C99-ACBE-44EF-A6F8-2DA857E63BAA}" AssignChildsOnServer="false" TradeObject="toFuncKey" ObjectSifr="210359" refCollName="FUNCTIONKEYS" Flags="[]" OrderNum="43303" Selector="231011" PlacedOnForm="false" Ident="230551"/>
<TSelectorDetail ItemIdent="230552" SourceIdent="0" GUIDString="{803ED150-467E-4FB5-B770-BF9D3735EA05}" AssignChildsOnServer="false" TradeObject="toFuncKey" ObjectSifr="210263" refCollName="FUNCTIONKEYS" Flags="[]" OrderNum="43323" Selector="231011" PlacedOnForm="false" Ident="230552"/>
<TSelectorDetail ItemIdent="230553" SourceIdent="0" GUIDString="{2D03FBB7-8115-4F11-9869-8285AA9B383C}" AssignChildsOnServer="false" TradeObject="toFuncKey" ObjectSifr="210269" refCollName="FUNCTIONKEYS" Flags="[]" OrderNum="43343" Selector="231011" PlacedOnForm="false" Ident="230553"/>
<TSelectorDetail ItemIdent="230554" SourceIdent="0" GUIDString="{09F9A928-15D4-4E55-BA56-95D272D6E620}" AssignChildsOnServer="false" TradeObject="toFuncKey" ObjectSifr="210270" refCollName="FUNCTIONKEYS" Flags="[]" OrderNum="43363" Selector="231011" PlacedOnForm="false" Ident="230554"/>
<TSelectorDetail ItemIdent="230555" SourceIdent="0" GUIDString="{9B30372A-97E4-4183-8FBF-A779FBBAFA48}" AssignChildsOnServer="false" TradeObject="toFuncKey" ObjectSifr="210268" refCollName="FUNCTIONKEYS" Flags="[]" OrderNum="43383" Selector="231011" PlacedOnForm="false" Ident="230555"/>
<TSelectorDetail ItemIdent="230556" SourceIdent="0" GUIDString="{78F31BE4-F511-4CDD-B283-266005239697}" AssignChildsOnServer="false" TradeObject="toFuncKey" ObjectSifr="210260" refCollName="FUNCTIONKEYS" Flags="[]" OrderNum="43403" Selector="231011" PlacedOnForm="false" Ident="230556"/>
</RIChildItems>
</Item>
</Items>
</RK7Reference>
</RK7QueryResult>
Запрос группы селекторов с заданным guid и перечнем необходимых полей
Запрос
<?xml version="1.0" encoding="UTF-8"?>
<RK7Query>
<RK7CMD CMD="GetRefData" RefName="SelectorGroups" RefItemGUID="{7CB21801-1111-43DE-AF72-0037F53E3777}" PropMask="Ident, GuidString, Status, Name"/>
</RK7Query>
Ответ
<?xml version="1.0" encoding="utf-8"?>
<RK7QueryResult ServerVersion="7.6.5.185" XmlVersion="247" NetName="NAS_765_SRV" Status="Ok" CMD="GetRefData" ErrorText="" DateTime="2020-04-27T11:37:41" WorkTime="0" Processed="1">
<RK7Reference DataVersion="1716">
<Items>
<Item Ident="1001348" GUIDString="{7CB21801-1111-43DE-AF72-0037F53E3777}" Name="Новое меню" Status="rsActive"/>
</Items>
</RK7Reference>
</RK7QueryResult>