Файл чека (*.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>
 

Структура чека, коллекций сущностей и формат имени файла могут незначительно отличаться (могут быть добавлены новые сущности, типы данных и др.) от описанных в этом разделе справки.