Эти файлы хранят данные о скидках.
Disc.dat – автоматические скидки.
NakopSkid.dat – накопительные скидки и карты.
NakopQueue.dat – значения накоплений по накопительным картам.
Эти файлы имеют одинаковую организацию хранения данных. Т.е. одинаковая структура заголовка и последовательность расположения данных.
Схема расположения данных в файле.

Теперь подробнее каждый блок из этого рисунка.
Префикс и информация о количестве таблиц
|
Название |
Размер поля в байтах |
Примечание |
|
Префикс таблицы |
4 |
42h 41h 53h 45h, ( BASE) |
|
Размер заголовка |
4 |
|
|
Количество таблиц |
4 |
|
|
Описание таблиц |
- |
|
Описание одной таблицы.
|
Название |
Размер поля в байтах |
Примечание |
|
Количество записей |
4 |
|
|
Количество индексируемых полей |
4 |
|
|
Смещение данных в файле |
4 |
|
|
Описание индексов |
- |
|
Описание одного индекса.
|
Название |
Размер поля в байтах |
Примечание |
|
Смещение массива индексов в файле |
4 |
|
|
Количество записей индексов |
4 |
|
|
Размер записи одного индекса ( WidthIndex ) |
4 |
WidthIndex=размер индексируемого поля + 4 |
Размер и структура индекса зависит от индексируемого поля. Структура записи индексов состоит из двух полей: первое – индексируемое поле, второе – смещение в файле.
Структура таблиц файла Disc.dat
|
№ поля |
Название |
Назначение |
Размер поля в байтах |
Тип |
|
AutodiscSch / Схема скидки |
||||
|
1 |
Code |
Код |
4 |
INTEGER |
|
2 |
Name |
Наименование |
1-2000 |
STRING |
|
Autodisc / Значение Скидки |
||||
|
1 |
Code |
Код |
4 |
INTEGER |
|
2 |
Name |
Наименование |
1-2000 |
STRING |
|
3 |
Сodesch |
Код схемы |
4 |
INTEGER |
|
4 |
Text |
Текст для чека |
1-2000 |
STRING |
|
5 |
Type |
Тип ставки 0/1/2/3 - "-%" / "-$" / "+%" / "+$ |
4 |
INTEGER |
|
6 |
Val |
Значение скидки, процент или сумма, зависит от Type |
8 |
DOUBLE |
|
7 |
Date1 |
Фактор "Дата" начало |
8 |
DATE |
|
8 |
Date2 |
Фактор "Дата" окончание |
8 |
DATE |
|
9 |
Time1 |
Фактор "Время" начало |
8 |
TIME |
|
10 |
Time2 |
Фактор "Время" окончание |
8 |
TIME |
|
11 |
Day1 |
Фактор "День недели", начало. 0...6 - понедельник...воскресенье |
4 |
INTEGER |
|
12 |
Day2 |
Фактор "День недели", окончание |
4 |
INTEGER |
|
13 |
Qty1 |
Фактор "количество" начальное |
8 |
DOUBLE |
|
14 |
Qty2 |
Фактор "количество" конечное |
8 |
DOUBLE |
|
15 |
Summ1 |
Фактор "сумма" начальная |
8 |
LONGINTEGER |
|
16 |
Summ2 |
Фактор "сумма" конечное |
8 |
LONGINTEGER |
|
17 |
Kart |
Карта клиента |
1-2000 |
STRING |
|
FixedDisc / Фиксированные скидки |
||||
|
1 |
Code |
Код |
4 |
INTEGER |
|
2 |
Name |
Наименование |
1-2000 |
STRING |
|
3 |
Text |
Текст для чека |
1-2000 |
STRING |
|
4 |
Prefix |
Префикс карты |
|
|
|
5 |
Type |
Тип ставки 0/1/2/3 - "-%" / "-$" / "+%" / "+$ |
4 |
INTEGER |
|
6 |
Val |
Значение скидки, процент или сумма, зависит от Type |
8 |
DOUBLE |
|
7 |
Kind |
Назначение 0/1 - на позицию/на чек |
4 |
INTEGER |
Структура таблиц файла NakopSkid.dat
|
№ поля |
Название |
Назначение |
Размер поля в байтах |
Тип |
|
AutodiscSch / Параметры обмена |
||||
|
1 |
bServer |
Данный компьютер является сервером |
4 |
BOOL |
|
2 |
bAutoConnect |
Автоматически устанавливать соединение |
4 |
BOOL |
|
3 |
nSyncPos |
Количество синхронизируемых рабочих мест |
4 |
INTEGER |
|
4 |
bUnloadKarti |
Выгружать карты |
4 |
BOOL |
|
5 |
bUnloadNakop |
Выгружать накопления |
4 |
BOOL |
|
6 |
bUnloadSchem |
Выгружать схемы и значения скидок |
4 |
BOOL |
|
7 |
PeriodVigruzki |
Период автом. выгрузки в мин. Ноль - запрет автом. выгрузки |
4 |
INTEGER |
|
8 |
bFTP |
разрешить обмен через FTP |
4 |
BOOL |
|
9 |
bZipArc |
Упаковывать в ZIP-архив при передаче по FTP |
4 |
BOOL |
|
10 |
FtpServerName |
Имя сервера FTP |
1-2000 |
STRING |
|
11 |
FtpLogin |
Логин FTP |
1-2000 |
STRING |
|
12 |
FtpPassword |
Пароль FTP |
1-2000 |
STRING |
|
13 |
ChangeDir |
Имя каталога обмена |
1-2000 |
STRING |
|
14 |
LoadFile |
Имя файла загрузки |
1-2000 |
STRING |
|
15 |
UnloadFile |
Имя файла выгрузки |
1-2000 |
STRING |
|
NakopMode / Общие настройки накоп. скидок |
||||
|
1 |
bSkidki |
Разрешение накопительных скидок |
4 |
BOOL |
|
2 |
nSchemNakop |
Номер схемы накопительной скидки по умолчанию |
4 |
BOOL |
|
3 |
CreateFlags |
Флаги при создании карты: 0 – накоп., 1 – платежн., 2 - разр. добавление карт режиме регистрации продаж |
4 |
INTEGER |
|
NakopSchem / Схемы накоп. скидок |
||||
|
1 |
Code |
Код |
4 |
INTEGER |
|
2 |
Name |
Наименование |
1-2000 |
STRING |
|
3 |
Period |
Период учета: 0/1/2/3 – весь / тек. месяц / пред. месяц / последние 30 дней |
4 |
INTEGER |
|
4 |
bCalcCurChek |
Флаг: 0/1 – не учитывать / учитывать при расчете текущий чек |
4 |
BOOL |
|
5 |
bPosChek |
Флаг: 0/1 – на позицию / на чек |
4 |
BOOL |
|
6 |
bNakopWithoutSkid |
Флаг: 0/1 – включать в накопление товар со скидкой / вез скидки |
4 |
BOOL |
|
7 |
bNakopSummWithout |
Флаг: 0/1 - включать в накопление сумму с учетом / без учета скидки |
4 |
BOOL |
|
NakopSkid / Значение накоп. скидки |
||||
|
1 |
Code |
Код |
4 |
INTEGER |
|
2 |
Name |
Наименование |
1-2000 |
STRING |
|
3 |
Codesch |
Код схемы |
4 |
INTEGER |
|
4 |
Val |
Значение скидки, процент |
8 |
DOUBLE |
|
5 |
Summ1 |
Фактор "сумма" начальная |
8 |
LONGINTEGER |
|
6 |
Summ2 |
Фактор "сумма" конечная |
8 |
LONGINTEGER |
|
NakopKarta / Накопительная карта |
||||
|
1 |
Code |
Код |
4 |
INTEGER |
|
2 |
Name |
Наименование |
1-2000 |
STRING |
|
3 |
SchemNakop |
Код схемы |
4 |
INTEGER |
|
4 |
Flags |
Флаги: бит 0 – накоп., 1 - платежн. |
4 |
INTEGER |
|
5 |
NomerKarti |
Номер карты |
1-2000 |
STRING |
|
6 |
SummNakop |
Сумма накопления |
8 |
LONGINTEGER |
|
7 |
SummCredit |
Сумма кредита |
8 |
LONGINTEGER |
Структура таблиц файла NakopQueue.dat
|
№ поля |
Название |
Назначение |
Размер поля в байтах |
Тип |
|
NakopQueue / Накопления по картам |
||||
|
1 |
Code |
Код |
4 |
INTEGER |
|
2 |
DatTim |
Наименование |
8 |
DATETIME |
|
3 |
NumDoc |
Номер кассового документа |
4 |
INTEGER |
|
4 |
NumKassa |
Номер кассы |
4 |
INTEGER |
|
5 |
Summ |
Сумма накопления |
8 |
LONGINTEGER |
Ниже на рисунке приведена схема данных для таблиц, которые имеют связи между собой
