Структура базы данных
В этом разделе справки описана структура базы данных, которая предлагается к использованию в виде промежуточной базы данных. В конце раздела приведен пример БД в формате MS Access. Её структура полностью аналогична структуре БД в формате MS SQL.
Shopdesk использует лишь некоторые таблицы из базы данных ТЦУ:
- [articl] - статьи движения
- [discount_rules] - правила скидок для клиентов
- [izmer] - единицы измерения
- [kat] - группы товаров
- [list] - товарные записи документов. Заполнять, если используется импорт приходных накладных из заказов поставщику.
- [nakl] - документы. Заполнять, если используется импорт приходных накладных из заказов поставщику
- [point] - справочник клиентов и торговых точек
- [reestr] - реестр товаров
- [tcu_par] - некоторые параметры настройки учетной системы
- [tovar] - справочник товаров
- [tovar_code] - штрихкоды
- [user] - справочник пользователей
- [user_rights] - права пользователей
В перечисленных таблицах используются лишь некоторые поля. Ниже будут перечислены поля, которые должны присутствовать в этих таблицах, с пояснениями по некоторым из них. При необходимости, можно ознакомиться с полной технической спецификацией к базе данных ТЦУ.
articl
Статьи. Может быть по одной для продажи, возврата, инвентаризации, заказа, приходной накладной. Эти статьи должны быть активными (act_pass=False).
- articl_number
- articl_name
- act_pass
- closed
discount_rules
Правила скидок. Может быть пустая.
- discount_rules_number
- point_number - ссылка на клиента
- sales_sum
- discount_percent
- sales_period
- fact_sale_sum
izmer
Единицы измерений.
kat
Группы товаров. В поле PointsGeneratePercent.
- kat_number
- kat_name
- top_kat
- discount_percent
- PointsGeneratePercent - коэффициент начисления баллов по группе. Например, для алкоголя и сигарет = 0. Для остальных товаров =1. Используется в режиме работы франчайзи.
- MacroGroupId - ID макрогруппы из БД CRM (режим работы с франчайзи)
list
Таблица товарных записей документа. Ссылается на nakl по полю nakl_number. Заполняйте, если требуется создавать приходные накладные импортом из заказов поставщику.
- list_number – long, ID записи
- nakl_number – long, ID документа, который содержит данную товарную запись
- tovar_number – long, ID товара из справочника товаров tovar
- reestr_number – long, ID реестровой записи из таблицы reestr. Может быть = 0
- kol – double, количество товара в единицах измерения
- cena_opt – double, закупочная цена товара за единицу измерения. Может быть = 0 и в этом случае кассир должен установить закупочные цены самостоятельно после импорта документа. В любом случае, установит кассир эту цену или нет, в бэкофисе эту цену должен проконтролировать ответственный сотрудник перед утверждением приходной накладной.
- cena_rozn – double, розничная цена товара за единицу измерения. Обязательное значение, так как кассир не может редактировать эти значения. В бэкофисе эту цену должен проконтролировать ответственный сотрудник перед утверждением приходной накладной.
nakl
Таблица документов. На нее ссылается таблица товарных записей list по полю nakl_number. Заполняйте, если требуется создавать приходные накладные импортом из заказов поставщику.
- nakl_number – long, уникальный номер документа в учетной системе
- doc_number – text(255), учетный номер документа, который выводится на печать
- point1_number – long, номер торговой точки, на которой создан документ
- point2_number – long, номер контрагента (поставщика)
- date_utv – date, дата утверждения документа
- nakl_type – integer, энумератор типа документа. Для заказа поставщику = 19
- utv – boolean, признак утвержденного документа. Импортируются только утвержденные заказы поставщику
- articl_number – long, идентификатор статьи из таблицы articl
- sum_opt – double, сумма документа в закупочных ценах
point
Контрагенты и торговые точки. Для торговой точки post=False. Обязательно внести розничного покупателя и все торговые точки. Франчайзи клиенты хранятся в другой базе (CRM).
- point_number
- name_point
- ind_num
- address
- telefon
- post
- closed
- mfo
- bank_account
- bank_name
- saldo
- bank_from_param
- name_firm_from_param
- name_firm
- comm_agent
- card_number
- card_activated
- discount_card_percent
- discount_type
- price_column_number
reestr
Остатки товаров и их розничные цены.
- reestr_number
- point_number
- tovar_number
- kol
- cena_rozn
- kol_min
tcu_par
Параметры приложения. Здесь нужно добавить один параметр, если используется схема работы с франчайзи:
param_name=”MerchantId” (без кавычек), param_type=2, long_value=12345 (идентификатор франчайзи).
- param_name
- param_type
- text_value
- bool_value
- long_value
tovar
Справочник товаров.
- tovar_number
- tovar_name
- izmer_number - ссылка на единицу измерения
- kat_number - ссылка на группу товараr
- cena_rozn_sprav
- cena_rozn2
- cena_rozn3
- cena_rozn4
- cena_rozn5
- kol_default
- articul
- fiscal_group_number - фискальная группа товара. от 1 до 8
- discount_limitation
- franch_top_id - если используется режим работы франчайзи, то здесь указывается ID товара из БД CRM. Если не используется, то 0.
tovar_code
Штрихкоды товаров.
- tovar_code_number
- tovar_number - ссылка на аналогичное поле таблицы [tovar]
- tovar_bar_code
user
Пользователи. Тут нужны только кассиры и админ. Для администратора укажите admin=True. Кассиру нужно разрешить доступ к итогам по кассе (cash_report_access=True), доступ к отчетам (report_access=True) и разрешить торговать в минус (negative_rests=True)
- user_number
- user_name
- user_fullname
- user_passwd - MD5-хэш пароля, дополненный в начале строкой "ver2". Например, "ver2a0c758a9b1cf87e71176482d953d62"
- admin - True для администратора
- negative_rests
- max_discount
- cash_report_access
- report_access
- closed
user_rights
Права пользователей по каждой из торговых точек. Администратора можно не привязывать к точкам. Кассиру надо разрешить редактирование и утверждение чека.
- user_rights_number
- user_number - ссылка на кассира в таблице [user]
- point_number - торговая точка, по которой определяется перечень прав. Ссыдка на таблицу [point]
- 00edit - редактирование расходной накладной. True для кассира
- 00approve - утверждение расходной накладной. True для кассира
- 04edit - редактирование актов переоценки. True для кассира
- 04approve - утверждение актов переоценки. True для кассира
- 07edit - редактирование приходного кассового ордера. True для кассира
- 07approve - утверждение приходного кассового ордера. True для кассира
Для образца предлагаем загрузить базу данных, использующуюся для резервной копии базы данных ТЦУ на рабочем месте кассира. Напоминаем, что ее структура полность идентична структуре промежуточной базы данных, которую предлагается использовать как промежуточное звено между вашей учетной системой и рабочим местом Shopdesk.
Загрузить образец базы данных
Перечень и структура таблиц, описанные в этом разделе, могут незначительно отличаться в более поздних версиях приложения.