Структура базы данных

В этом разделе справки описана структура базы данных, которая предлагается к использованию в виде промежуточной базы данных. В конце раздела приведен пример БД в формате MS Access. Её структура полностью аналогична структуре БД в формате MS SQL.

Shopdesk использует лишь некоторые таблицы из базы данных ТЦУ:

  1. [articl] - статьи движения
  2. [discount_rules] - правила скидок для клиентов
  3. [izmer] - единицы измерения
  4. [kat] - группы товаров
  5. [list] - товарные записи документов. Заполнять, если используется импорт приходных накладных из заказов поставщику.
  6. [nakl] - документы. Заполнять, если используется импорт приходных накладных из заказов поставщику
  7. [point] - справочник клиентов и торговых точек
  8. [reestr] - реестр товаров
  9. [tcu_par] - некоторые параметры настройки учетной системы
  10. [tovar] - справочник товаров
  11. [tovar_code] - штрихкоды
  12. [user] - справочник пользователей
  13. [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

Единицы измерений.

  • izmer_number
  • izmer_name

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.
Загрузить образец базы данных

Перечень и структура таблиц, описанные в этом разделе, могут незначительно отличаться в более поздних версиях приложения.