Файл чека (*.TCUDOC)
Файлы чеков и кассовых документов представляют собой файлы с XML структурой, описанной ниже. Перед передачей торговому серверу файл упаковывается в архив. Архиву присваивается имя согласно шаблону DOC_D243_F16_P5_U2_2016-03-10_09-05-10.tcudoc.zip. В нем после краткого обозначения идентификатора следует его значение. Имя завершается датой и временем создания документа:
- DOC - документ (чек). Может быть как DOC_RETURN (возврат), DOC_INVENTORY (инвентаризация) и др.
- D243 - документ №243
- F16 - франчайзи №16
- P5 - в чеке товары по торговой точке №5
- U2 - чек создал пользователь учетной системы (кассир) №2
- 2016-03-10_09-05-10 - дата и время создания чека в формате YYYY-MM-DD_HH-MM-SS
Пример содержимого файла чека приведен ниже.
Таблица 1. Структура чека
Имя Элемента | Тип данных | Описание |
---|---|---|
Id | Long | Внутренний номер документа (внутренний номер в табл. nakl) |
DocumentNumber | Long | Номер документа |
DocumentGuid | String | Уникальный идентификатор документа |
TopDocumentGuid | String | Уникальный идентификатор связанного документа (используется для возвратов товаров, ссылка на расх. накладную) |
DepartmentId | Long | ID торговой точки |
DepartmentName | String | Название торговой точки |
FranchiseeId | Long | ID франчайзи |
IsFiscal | Boolean | Фискал/нефискал 1/0 |
FiscalRegisterId | String | ID фискального регистратора (серийный номер). Необязательное значение |
UserID | Long | ID пользователя (кассира) |
UserName | String | Имя пользователя (кассира) |
UserFullName | String | Полное имя пользователя (кассира) |
TransactionTypeId | Integer | ID статьи |
TopDocumentId | Long | Ссылка на ID расх. накл. в документе оплаты |
ContractorId | Long | ID клиента. =0 если это франчайзи клиент |
FranchiseContractorId | Long | ID клиента из базы франчайзера. =0 если это обычный клиент |
FranchiseContractorBarcode | String | Штрихкод карты лояльности франч.клиента |
DeliveryPointId | Long | ID точки доставки |
AgentId | Long | ID торгового агента (из справочника клиентов) |
DateOfApprove | Date | Дата проводки |
DateOfCreate | Date | Дата создания |
Status | StatusEnum | Проведен |
Amount | Double | Сумма по документу |
AmountPaid | Double | Сумма оплаты |
BonusPaid | Double | Сумма оплаты бонусами |
CurrencyId | CurrencyEnum | Валюта оплаты |
CurrencyRate | Double | Курс валюты |
PaymentMethod | Byte | Форма оплаты. 0 - наличная, 1 – безналичная (карта) |
GiftCertificateSumma | Integer | Номинал сертификата |
PointsFranch | Double | Баллы, которые начислены по товарам франчайзера |
PointsOther | Double | Баллы по прочим товарам |
SupportingDocument | String | Основание |
SourceDocumentId | Long | Откуда копия. =0 |
DocumentType | DocumentTypeEnum | Тип документа, энумератор (см. ниже) |
BonusCalculationPrinted | Boolean | Признак того, что в чеке распечатано сообщение о начисленных в начале месяца бонусах |
DetailsCollection | Collection | Коллекция строк с товарами для накладных (см. ниже) |
MarketingActionRecordsCollection | Collection | Коллекция записей по подарочным баллам по акциям, которым удовлетворяет чек (см. ниже) |
MarketingToolRecordDescriptionsCollection | Collection | Коллекция записей по отображенным сообщениям из Датацентра по акциям для клиента (см. ниже) |
Таблица 2. Коллекция строк с товарами для накладных
Имя Элемента | Тип данных | Описание |
---|---|---|
Id | Long | ID записи |
DocumentId | Long | Ссылка на документ, содержащий запись |
GoodId | Long | ID товара |
FranchGoodId | Long | ID товара из базы CRM |
GoodsCategoryId | Long | ID группы товара |
InventoryRecordId | Long | Реестровая запись |
BarcodeId | Long | ID штрихкода товара |
Barcode | String | Штрихкод товара |
GoodsItemName | String | Название товара |
CurrentQuantity | Double | Тек. кол-во. =0 |
Quantity | Double | Кол-во в документе |
QuantityInPack | Double | Кол-во в упаковке (не исп.) |
QuantityPack | Double | Кол-во упаковок. =0 |
SalePrice | Double | Факт. розничная цена |
PurchasePrice | Double | Закуп. цена |
Discount | Double | Скидка как разница между реестровой ценой и розничной в текущем документе |
BonusSum | Double | Бонусная доля в оплате за товар |
MoneySum | Double | Сумма оплаты именно деньгами (как разница между суммой товара и бонусной долей в оплате) |
PointsSum | Double | Баллы, начисленные за товар |
MarketingActionId | Long | ID акции, по которой товар добавлен в чек (подарок) |
MarketingToolId | Long | ID маркетингового инструмента, по которому товар добавлен в чек (подарок) |
Таблица 3. Коллекция записей по подарочным баллам по акциям, которым удовлетворяет чек
Имя Элемента | Тип данных | Описание |
---|---|---|
id | Integer | ID записи |
MarketingActionId | Long | ID маркетинговой акции, по которой начислены баллы |
MarketingToolId | Long | ID маркетингового инструмента, по которому начислены баллы |
MarketingPresentType | Integer | 1 |
MarketingPresentedPoints | Long | Количество подаренных баллов по акции |
Таблица 4. Коллекция записей по отображенным сообщениям из Датацентра по акциям для клиента
Имя Элемента | Тип данных | Описание |
---|---|---|
id | Long | ID MarketingToolRecord |
Таблица 5. Энумератор типов документов DocumentTypeEnum
Имя Элемента | Описание |
---|---|
AnyDocument = 0 | Не используется |
SalesInvoice = 1 | Расходная накладная |
PurchaseInvoice = 2 | Приходная накладная |
CustomerOrder = 4 | Заказ от клиента |
PayInSlip = 8 | Приходный кассовый ордер |
PayOutOrder = 16 | Расходный кассовый ордер |
PurchaseOrder = 32 | Заказ поставщику |
CustomerReturnOrder = 64 | Возврат от покупателя |
SupplierReturnOrder = 128 | Возврат поставщику |
Correction = 256 | Пересчет остатков |
Пример чека продажи и его оплаты
<?xml version="1.0" encoding="windows-1251"?>
<ArrayOfDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
software="ShopDesk 4.9.365 ©ANDRIY.CO">
<Document>
<Id>74</Id>
<DocumentNumber>74</DocumentNumber>
<DocumentGuid>{59DA851A-FB38-4A4D-B86F-7B2BFBDE419E}</DocumentGuid>
<TopDocumentGuid></TopDocumentGuid>
<DepartmentId>1</DepartmentId>
<DepartmentName>01 Фрунзе</DepartmentName>
<FranchiseeId>1</FranchiseeId>
<IsFiscal>0</IsFiscal>
<FiscalRegisterId></FiscalRegisterId>
<UserId>1</UserId>
<UserName>1</UserName>
<UserFullName>BASE2BASE</UserFullName>
<TransactionTypeId>1</TransactionTypeId>
<TopDocumentId>74</TopDocumentId>
<ContractorId>0</ContractorId>
<FranchiseContractorId>9065</FranchiseContractorId>
<FranchiseContractorBarcode>2950000090632</FranchiseContractorBarcode>
<DeliveryPointId>0</DeliveryPointId>
<AgentId>0</AgentId>
<DateOfApprove>2015-07-09 14:42:58</DateOfApprove>
<DateOfCreate>2015-07-09 14:42:58</DateOfCreate>
<Status>1</Status>
<Amount>36.48</Amount>
<AmountPaid>36.48</AmountPaid>
<BonusPaid>0</BonusPaid>
<CurrencyId>0</CurrencyId>
<CurrencyRate>0</CurrencyRate>
<PaymentMethod>0</PaymentMethod>
<PointsFranch>9.48</PointsFranch>
<PointsOther>27</PointsOther>
<GiftCertificateSumma>0</GiftCertificateSumma>
<SupportingDocument></SupportingDocument>
<SourceDocumentId>0</SourceDocumentId>
<DocumentType>1</DocumentType>
<BonusCalculationPrinted>False</BonusCalculationPrinted>
<Detail>
<DocumentDetail>
<Id>1</Id>
<DocumentId>74</DocumentId>
<GoodId>800</GoodId>
<FranchGoodId>0</FranchGoodId>
<GoodsCategoryId>440</GoodsCategoryId>
<InventoryRecordId>535</InventoryRecordId>
<BarcodeId>0</BarcodeId>
<Barcode></Barcode>
<GoodsItemName>Спред растительно-сливочный №1 Тульчинка</GoodsItemName>
<CurrentQuantity>0</CurrentQuantity>
<Quantity>2</Quantity>
<QuantityInPack>1</QuantityInPack>
<QuantityPack>0</QuantityPack>
<SalePrice>13.5</SalePrice>
<PurchasePrice>0</PurchasePrice>
<Discount>0</Discount>
<BonusSum>0</BonusSum>
<MoneySum>27</MoneySum>
<PointsSum>27</PointsSum>
<MarketingActionId>0</MarketingActionId>
<MarketingToolId>0</MarketingToolId>
</DocumentDetail>
<DocumentDetail>
<Id>2</Id>
<DocumentId>74</DocumentId>
<GoodId>723</GoodId>
<FranchGoodId>723</FranchGoodId>
<GoodsCategoryId>448</GoodsCategoryId>
<InventoryRecordId>546</InventoryRecordId>
<BarcodeId>0</BarcodeId>
<Barcode></Barcode>
<GoodsItemName>Грудка без шкури куряча охол.</GoodsItemName>
<CurrentQuantity>0</CurrentQuantity>
<Quantity>.174</Quantity>
<QuantityInPack>1</QuantityInPack>
<QuantityPack>0</QuantityPack>
<SalePrice>54.5</SalePrice>
<PurchasePrice>0</PurchasePrice>
<Discount>0</Discount>
<BonusSum>0</BonusSum>
<MoneySum>9.48</MoneySum>
<PointsSum>9.483</PointsSum>
<MarketingActionId>0</MarketingActionId>
<MarketingToolId>0</MarketingToolId>
</DocumentDetail>
</Detail>
</Document>
<Document>
<Id>74</Id>
<DocumentNumber>74</DocumentNumber>
<DocumentGuid>{7947A9F5-F232-4CFD-A844-3386E223BBB7}</DocumentGuid>
<TopDocumentGuid>{59DA851A-FB38-4A4D-B86F-7B2BFBDE419E}</TopDocumentGuid>
<DepartmentId>1</DepartmentId>
<DepartmentName>01 Фрунзе</DepartmentName>
<FranchiseeId>1</FranchiseeId>
<IsFiscal>0</IsFiscal>
<FiscalRegisterId></FiscalRegisterId>
<UserId>1</UserId>
<UserName>1</UserName>
<UserFullName>BASE2BASE</UserFullName>
<TransactionTypeId>1</TransactionTypeId>
<TopDocumentId>74</TopDocumentId>
<ContractorId>0</ContractorId>
<FranchiseContractorId>9065</FranchiseContractorId>
<FranchiseContractorBarcode>2950000090632</FranchiseContractorBarcode>
<DeliveryPointId>0</DeliveryPointId>
<AgentId>0</AgentId>
<DateOfApprove>2015-07-09 14:42:58</DateOfApprove>
<DateOfCreate>2015-07-09 14:42:58</DateOfCreate>
<Status>1</Status>
<Amount>36.48</Amount>
<AmountPaid>0</AmountPaid>
<BonusPaid>0</BonusPaid>
<CurrencyId>0</CurrencyId>
<CurrencyRate>0</CurrencyRate>
<PaymentMethod>0</PaymentMethod>
<PointsFranch>9.48</PointsFranch>
<PointsOther>27</PointsOther>
<GiftCertificateSumma>0</GiftCertificateSumma>
<SupportingDocument>Оплата накладной №74 от 2015-07-09 14:42:58</SupportingDocument>
<SourceDocumentId>0</SourceDocumentId>
<DocumentType>8</DocumentType>
<BonusCalculationPrinted>False</BonusCalculationPrinted>
</Document>
</ArrayOfDocument>
Структура чека, коллекций сущностей и формат имени файла могут незначительно отличаться (могут быть добавлены новые сущности, типы данных и др.) от описанных в этом разделе справки.