POS ExpertLinux Pro
Работа с базой данных
Версия 5.1.1
Содержание
Содержание
1. 1.1. 1.2. 2. 3.
Содержание Описание таблиц базы данных Описание таблиц в алфавитном порядке Описание таблиц по группам Описание полей таблиц Приложение А. Структура таблиц базы данных
ii 1 1 2 3 9
- ii -
Описание таблиц
1. Описание таблиц базы данных База данных в POS ExpertLinux Pro содержит ряд таблиц, которые содержат всю информацию о товарах и их свойствах, чеках и периодических отчетах, кассах и кассирах, а также содержит ряд дополнительных служебных таблиц. Ниже приведено описание назначения таблиц, а также полей в каждой из таблиц. Для удобства приведены два варианта размещения описания таблиц: в алфавитном порядке и по группам, к которым они непосредственно относятся. В описании таблиц по алфавитному порядку также приведены одновременно таблицы реплик, которые можно отлечить по присутствию суффикса _repl в названии. В квадратных скобках указан номер id_replictables из таблицы t_replictables.
1.1. Описание таблиц в алфавитном порядке Название таблицы t_articles [1] t_articles_repl t_articles_group [2] t_articles_group_repl t_bar [3] t_bar_repl t_check [4] t_check_repl t_checkcont [5] t_checkcont_repl t_checkpay [19] t_checkpay_repl t_client [6] t_client_repl t_convinfo t_department [7] t_department_repl t_detail [20] t_detail_repl t_discount [8] t_discount_repl t_group_perm [9] t_group_perm_repl t_kassa [10] t_kassa_repl t_kassa_department [11] t_kassa_department_repl t_kassa_replics t_kassir [12] t_kassir_repl t_kassir_groups [13]
Описание Таблица характеристик товаров -//- групп товаров -//- штрих-кодов товаров -//- чеков -//- содержимого чеков -//- оплатам по чекам -//- информации о клиенте -//- хранения служебной информации -//- отделов касс -//- расширенные характеристики товара (установка второстепенных параметров товаров, для регистрации которых используется один штрих-код, например, цвета и т.п.) -//- таблица скидок -//- группы прав кассиров -//- характеристик кассы -//- сводная касс по отделам -//- сведений о последних репликациях -//- характеристик кассиров -//- сводная кассиров по группам -1-
Описание таблиц t_kassir_groups_repl t_kgroup [14] t_kgroup_repl t_measure [15] t_measure_repl t_perm [16] t_perm_repl t_producer [18] t_producer_repl t_replictables t_system t_variables [21] t_zet [17] t_zet_repl
-//- групп кассиров -//- единиц измерения -//- прав кассиров -//- характеристик производителя -//- реплицируемых таблиц -//- служебной информации -//- переменных -//- Z - отчетов
1.2. Описание таблиц по группам Название таблицы Для касс: t_department [7] t_kassa [10] t_kassa_department [11] Для кассиров: t_group_perm [9] t_kassir [12] t_kassir_groups [13] t_kgroup [14] t_perm [16] Для товаров: t_articles [1] t_articles_group [2] t_bar [3] t_detail [20]
Описание Таблица отделов касс -//- характеристик кассы -//- сводная касс по отделам -//- группы прав кассиров -//- характеристик кассира -//- сводная кассиров по группам -//- групп кассиров -//- прав кассиров -//- характеристик товаров -//- групп товаров -//- штрих-кодов товаров -//- расширенные характеристики товара (установка второстепенных параметров товаров, для регистрации которых используется один штрих-код, например, цвета и т.п.) -//- единиц измерения -//- характеристик производителя
t_measure [15] t_producer [18] Для чеков: t_check [4] -//- чеков -//- содержимого чеков t_checkcont [5] t_checkpay [19] -//- оплатам по чекам t_zet [17] -//- Z - отчетов Дополнительные и служебные таблицы: t_client [6] -//- информации о клиенте -//- таблица скидок t_discount [8] t_kassa_replics -//- сведений о последних репликациях t_replictables -//- реплицируемых таблиц -//- служебной информации t_system t_variables [21] -//- переменных
-2-
Описание таблиц
2. Описание полей таблиц t_articles – Таблица характеристик товаров Наименование поля id_articles id_department id_producer id_articles_group name sname article taxgroup dtype memo
Тип данных
Not nulli
integer smallint smallint integer character varying(128) character varying(32) character varying(32) integer integer character varying(128)
+ + – – + + + + + –
Описание Идентификатор товара Идентификатор отдела Идентификатор производителя Идентификатор группы товаров Полное название товара Компактное название товара Артикул товара Налоговая группа Резервное поле Пользовательское поле (возможно заполнение служебной или описательной информации)
t_articles_group – Таблица групп товаров Наименование поля id_articles_group name sname picture memo
Тип данных
Not null
integer character varying(128) character varying(32) character varying(32) character varying(128)
+ + + – –
Описание Идентификатор группы товаров Полное название товара Компактное название товара Путь к картинке группы Пользовательское поле
t_bar – Таблица штрих-кодов товаров Наименование поля id_bar id _articles id_measure bar dtype
Тип данных
Not null
Описание
integer integer smallint character varying(128) smallint
+ + + +
Идентификатор штрих-кода товара Идентификатор артикула товара Идентификатор единиц измерения Штрих-код товара Тип штрих-кода (определяется файлом конфигурации, например, взвешиваемый и т.п.) Первая цена товара Вторая цена товара Третья цена товара Четвертая цена товара Пятая цена товара Идентификатор скидки Минимальная цена товара Резервное поле 1 Резервное поле 2 Резервное поле 3 Резервное поле 4 Резервное поле 5 Идентификатор характеристик товара
+ price1 price2 price3 price4 price5 id_discount minprice field1 field2 field3 field4 field5 id_detail
numeric(9,2) numeric(9,2) numeric(9,2) numeric(9,2) numeric(9,2) smallint numeric(9,2) numeric(9,2) numeric(9,2) numeric(9,2) numeric(9,2) numeric(9,2) smallint
+ + + + + – + + + + + + –
-3-
Описание таблиц
t_check – Таблица чеков Наименование поля id_kassa check_number zet_number
smallint integer integer
id_kassir id_client dtype
smallint integer smallint
Тип данных
Not null
Описание
+ +
Идентификатор кассы Номер чека (уникален для каждой кассы) Номер Z – отчета (уникальный для каждой кассы) Идентификатор кассира Идентификатор клиента Тип чека («1» - фискальный; «2» возвратный; «3» - нулевой; «4» аннулированный; «5» - служебный внос/вынос) Тип оплаты («0» - несколько оплат; «1» наличными; «2» - кредитная карточка; «3» - чек; «4» - платежная карточка) Дата и время открытия чека (int4 – unix time: time_t) Время закрытия чека (в секундах от dtime_open) Сумма чека (соответствует сумме уплаченной покупателем) Сумма скидки (специальная скидка на весь чек, позволяет устанавливать сложную скидку, а также полезна при фиксированной скидке на полную покупку) Номер платежной карточки Дополнительная информация Номер чека, по которому производится возврат
+ + – +
extype
smallint +
dtime_open
integer
dtime_close
integer
summa
numeric(9,2)
discount
numeric(9,2)
+ + +
+ cardnumber info check_ret
character varying(32) character varying(32) integer
– – –
t_checkcont – Таблица содержимого чеков Наименование поля id_kassa check_number article_pos bar dtime
Тип данных
Not null
smallint integer smallint character varying(128) smallint
+ + + +
article taxgroup
character varying(32) smallint
+
+
+ id_department id_articles_group id_producer id_measure summa price
smallint integer smallint smallint numeric(9,2) numeric(9,2)
+ – – + + +
Описание Идентификатор кассы Номер чека (уникален для каждой кассы) Позиция товара в чеке Штрих-код товара Время добавления в чек (в секундах от t_check.dtime_open) Артикул товара Налоговая группа («0» - группа А, «1» группа Б, «2» - группа В, «3» - группа Г, «4» - группа Д) Идентификатор отдела Идентификатор группы товаров Идентификатор производителя Идентификатор единицы измерения Сумма всей позиции с учетом скидки Номинальная цена единицы товара без -4-
Описание таблиц amount amount_return
numeric(9,3) numeric(9,3)
+
–
type_discount
smallint
price_type
smallint
id_detail
smallint
– + –
учета скидки Количество, которое было продано Количество возвратов в чеке (отражает количество фактических возвратов; при сложном проведении операции сторнирования сумма amount и amount_return может не соответствовать действительному количеству товара, первоначально выбранному покупателем) Тип скидка (определяется сервером скидки) Тип цены (номер цены, выбранный оператором) Идентификатор характеристик товара
t_checkpay – Таблица оплатам по чекам Наименование поля id_kassa check_number payorder
smallint integer smallint
extype
smallint
Тип данных
Not null
+ + + +
summa cardnum
numeric(9,2) character varying(32)
+ –
Описание Идентификатор кассы Номер чека (уникален для каждой кассы) Порядковый номер оплаты (уникален для каждого чека) Тип оплаты («1» - наличными, «2» кредит, «3» - чек, «4» - платежная карточка) Сумма оплаты по чеку Номер платежной карточки (или штрихкод)
t_client – Таблица информации о клиенте Наименование поля id_client dtype name dnumber summa
Тип данных
Not null
Описание
integer smallint character varying(128) character varying(16) numeric(11,2)
+ + + +
Идентификатор клиента Резервное поле Имя клиента Номер клиента (внутренний для системы) Резервное поле (может использоваться как накопительное по количеству покупок, дисконтный счет, etc.) Дата регистрации Активность (true/false) Номер карточки клиента (или штрих-код) Пользовательское поле
+ datareg isactive cardnum memo
date boolean character varying(128) character varying(128)
+ + + –
t_department – Таблица отделов касс Наименование поля id_department name sname
Тип данных
Not null
smallint character varying(128) character varying(32)
+ + +
Описание Идентификатор отделов касс Название отдела Короткое название отдела
-5-
Описание таблиц
t_detail – Таблица расширенные характеристики товара (установка второстепенных параметров товаров, для регистрации которых используется один штрих-код, например, цвета и т.п.) Наименование поля id_detail dgroup
smallint smallint
name memo
character varying(64) character varying(128)
Тип данных
Not null
+ + + –
Описание Идентификатор характеристики товара Пояснение характеристик (по цвет, размеру, etc.) Название группы товаров Пользовательское поле
t_discount – Таблица скидок Наименование поля id_discount dtype
Тип данных smallint smallint
Not null
Описание
+
Идентификатор скидки Описание типа скидки (возможно задание приоритетности, установка фиксированной скидки, etc.) Наименование скидки Пользовательское поле
+ name memo
character varying(32) character varying(128)
+ –
t_group_perm – Таблица группы прав кассиров Наименование поля kgroup_name perm_name disabled
Тип данных
Not null
character varying(32) character varying(32) boolean
+ + +
Описание Наименование группы кассиров Наименование права Активность
t_kassa – Таблица характеристик кассы Наименование поля id_kassa dnumber description active replica_mode sernumber
Тип данных
Not null
smallint character varying(32) character varying(128) boolean smallint character varying(64)
+ + + + + –
Описание Идентификатор кассы Номер кассы Описание кассы Активность Резервное поле Серийный номер кассы (например, может задаваться номером регистратора, с которым он непосредственно работает)
t_kassa_department – Сводная таблица касс по отделам Наименование поля id_kassa id_department
Тип данных smallint smallint
Not null
+ +
Описание Идентификатор кассы Идентификатор отдела
t_kassa_replics – Таблица сведений о последних репликациях Наименование поля id_kassa id_replictables lastreplica
Тип данных smallint smallint integer
Not null
Описание
+ +
Идентификатор кассы Идентификатор реплицируемой таблицы Номер последней реплики, полученный от кассы или от сервера
+
-6-
Описание таблиц
t_kassir – Таблица характеристик кассира Наименование поля id_kassir name
Тип данных
Not null
Описание
smallint character varying(16)
+
chname password
character varying(32) character(22)
+
Идентификатор кассира Имя кассира, запрашиваемое при входе в систему (логин) Имя кассира, которое печатается на чеке Пароль кассира (кодирование осуществляется командой unix crypt(<пароль>, `$1$0123aBC7$`), отбрасывая кодирующую последовательность, получаем заданную длину пароля – 22 бита) Штрих-код кассира, по которому может производиться идентификация на рабочем месте
+
+
cardnumber
character varying(32) –
t_kassir_groups – Сводная таблица кассиров по группам Наименование поля id_kassir kgroup_name
Тип данных
Not null
smallint character varying(32)
+ +
Описание Идентификатор кассира Наименование группы кассиров
t_kgroup – Таблица групп кассиров Наименование поля kgroup_name description
Тип данных
Not null
character varying(32) character varying(128)
+ +
Описание Наименование группы кассиров Описание содержимого группы
t_measure – Таблица единиц измерения Наименование поля id_measure name sname
Тип данных
Not null
smallint character varying(128) character varying(32)
+ +
digits amount
smallint numeric(9,3)
+
+ +
Описание Идентификатор единицы измерения Наименование единицы измерения Сокращенное наименование единицы измерения Количество знаков после запятой Количество товара, установленное по умолчанию
t_perm – Таблица прав кассиров Наименование поля perm_name description dfield
Тип данных
Not null
character varying(32) character varying(128) character varying(128)
+ + –
Описание Наименование действий Описание действий Служебное поле
t_producer – Таблица характеристик производителя Наименование поля id_producer name sname
Тип данных
Not null
smallint character varying(128) character varying(32)
+ + +
Описание Идентификатор производителя Наименование производителя Короткое имя производителя -7-
Описание таблиц
t_replictables – Таблица реплицируемых таблиц Наименование поля id_replictables name
Тип данных
Not null
smallint character varying(32)
+ +
Описание Идентификатор реплицируемой таблицы Название таблицы, которая реплицировалась
t_system – Таблица служебной информации Наименование поля name svalue
Тип данных
Not null
character varying(128) character varying(128)
+ –
Описание Название поля служебной информации Задаваемое значение
t_variables – Таблица переменных Наименование поля vgroup name dvalue
Тип данных
Not null
smallint character varying(32) character varying(128)
+ + +
Описание Группа переменных Имя переменной Значение переменной
t_zet – Таблица Z - отчетов
i
Наименование поля id_kassa zet_number dtime summa1 summa2 summa3 summa4 summa5 summa6 summa7 summa8 summa9 summa10 summa11
Not null
Описание
smallint integer
+
integer numeric(11,2) numeric(11,2) numeric(11,2) numeric(11,2) numeric(11,2) numeric(11,2) numeric(11,2) numeric(11,2) numeric(11,2) numeric(11,2) numeric(11,2)
+ + – – – – – – – – – –
Идентификатор кассы Номер Z – отчета (уникален для каждой кассы) Дата и время Z – отчета (unix time: time_t) Общая сумма Сумма по налоговой группе А Сумма по налоговой группе Б Сумма по налоговой группе В Сумма по налоговой группе Г Сумма по налоговой группе Д Сумма аннулированных чеков Сумма возвратных чеков Не используется Не используется Не используется
Тип данных
+
«+» означает обязательное ненулевое значение элемента, «–» - необязательное.
-8-
Описание таблиц
Приложение А
Системные
t_replictable
t_system PK
name
VARCHAR(128)
svalue
VARCHAR(128)
Права
t_kassir
PK
id_replictables
TINYINT
PK
id_kassir
TINYINT
U1
name
VARCHAR(32)
U2,U1
name chname password cardnumber
VARCHAR(16) VARCHAR(32) CHAR(22) VARCHAR(32)
t_kassir_groups
t_kassa_replics
Номенклатура
PK,FK1 PK,FK2
id_kassa id_replictables
PK
lastreplica
id_kassa
TINYINT
dnumber description active replica_mode sernumber
VARCHAR(32) VARCHAR(128) CHAR(1) TINYINT VARCHAR(64)
kgroup_name
VARCHAR(32)
description
VARCHAR(128) PK,FK1 PK,FK2
kgroup_name perm_name
PK
t_kassa_department id_kassa id_department
TINYINT VARCHAR(32)
VARCHAR(32) VARCHAR(32)
disabled
CHAR(1)
t_group_perm
INTEGER
t_perm
PK,FK1 PK,FK2
id_kassir kgroup_name
t_kgroup
TINYINT TINYINT PK
t_kassa
PK,FK1 PK,FK2
TINYINT TINYINT
perm_name
VARCHAR(32)
description dfield
VARCHAR(128) VARCHAR(128)
t_department PK
id_department
TINYINT
name sname
VARCHAR(128) VARCHAR(32) PK
t_articles PK
id_articles
INTEGER
FK1 FK3 FK2
id_department id_producer id_articles_group name sname article taxgroup dtype memo
TINYINT TINYINT INTEGER VARCHAR(128) VARCHAR(32) VARCHAR(32) TINYINT TINYINT VARCHAR(128)
I1
PK - Primary Key - Первичный ключ FK - Foreign Key - Внешний ключ I - Indexed Column - Индексированный столбец U - Unique Index Only - Только единственный индекс Выделенные надписи - Not Null - Непустые
t_articles_group id_articles_group
INTEGER
name sname picture memo
VARCHAR(128) VARCHAR(32) VARCHAR(32) VARCHAR(128)
Чеки t_producer t_check PK
id_producer name sname
VARCHAR(128) VARCHAR(32)
PK PK
t_measure PK
t_bar PK
id_bar
INTEGER
FK1,I2 FK2 I1,I3
id_articles id_measure bar dtype price1 price2 price3 price4 price5 id_discount minprice field1 field2 field3 field4 field5 id_detail
INTEGER TINYINT VARCHAR(128) TINYINT DECIMAL(9;2) DECIMAL(9;2) DECIMAL(9;2) DECIMAL(9;2) DECIMAL(9;2) TINYINT DECIMAL(9;2) DECIMAL(9;2) DECIMAL(9;2) DECIMAL(9;2) DECIMAL(9;2) DECIMAL(9;2) TINYINT
FK3
FK4
I2,I1
id_client
INTEGER
dtype name dnumber summa datareg isactive cardnum memo
TINYINT VARCHAR(128) VARCHAR(16) DECIMAL(11;2) DATE CHAR(1) VARCHAR(128) VARCHAR(128)
id_measure
TINYINT
name sname digits amount
VARCHAR(128) VARCHAR(32) TINYINT DECIMAL(9;3)
I1
id_kassa check_number
TINYINT INTEGER
zet_number id_kassir id_client dtype extype dtime_open dtime_close summa discount cardnumber info check_ret
INTEGER TINYINT INTEGER TINYINT TINYINT INTEGER INTEGER DECIMAL(9;2) DECIMAL(9;2) VARCHAR(32) VARCHAR(32) INTEGER
t_discount
PK,FK1 PK,FK1 PK
id_discount
TINYINT
dtype name memo
TINYINT VARCHAR(32) VARCHAR(128)
t_detail PK
id_detail
TINYINT
dgroup name memo
TINYINT VARCHAR(64) VARCHAR(128)
PK PK
id_kassa zet_number
TINYINT INTEGER
dtime summa1 summa2 summa3 summa4 summa5 summa6 summa7 summa8 summa9 summa10 summa11
INTEGER DECIMAL(11;2) DECIMAL(11;2) DECIMAL(11;2) DECIMAL(11;2) DECIMAL(11;2) DECIMAL(11;2) DECIMAL(11;2) DECIMAL(11;2) DECIMAL(11;2) DECIMAL(11;2) DECIMAL(11;2)
id_kassa check_number payorder
TINYINT INTEGER TINYINT
extype summa cardnum
TINYINT DECIMAL(9;2) VARCHAR(32)
t_checkcont PK,FK1 PK,FK1 PK
t_zet PK
t_client PK
t_checkpay
TINYINT
I1
id_kassa check_number article_pos
TINYINT INTEGER TINYINT
bar dtime article taxgroup id_department id_articles_group id_producer id_measure summa price amount amount_return type_discount price_type id_detail id_bar id_articles
VARCHAR(128) INTEGER VARCHAR(32) TINYINT TINYINT INTEGER TINYINT TINYINT DECIMAL(9;2) DECIMAL(9;2) DECIMAL(9;3) DECIMAL(9;3) TINYINT TINYINT TINYINT INTEGER INTEGER
t_variables PK PK
vgroup name
TINYINT VARCHAR(32)
dvalue
VARCHAR(128)
-9-