Структура бази даних
У цьому розділі довідки описано структуру бази даних, яка пропонується до використання у вигляді проміжної бази даних. Наприкінці розділу наведено приклад БД у форматі 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
- завершено
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 товару із довідника товарів zboží
- 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
- завершено
- 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 - посилання на групу товару
- 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
- завершено
user_rights
Права користувачів за кожною з торгових точок. Адміністратора можна не прив'язувати до точок. Касиру треба дозволити редагування та затвердження чека.
- user_rights_number
- user_number - посилання на касира в таблиці [user]
- point_number - торгова точка, за якою визначається список прав. Посилання на таблицю [point]
- 00edit - редагування витратної накладної. True для касира
- 00approve - затвердження витратної накладної. True для касира
- 04edit – редагування актів переоцінки. True для касира
- 04approve - затвердження актів переоцінки. True для касира
- 07edit - редагування прибуткового касового ордера. True для касира
- 07approve - затвердження прибуткового касового ордера. True для касира
Для зразка пропонуємо завантажити базу даних, що використовується для резервної копії бази даних ТЦП на робочому місці касира. Нагадуємо, що її структура повністю ідентична структурі проміжної бази даних, яку пропонується використовувати як проміжну ланку між вашою обліковою системою та робочим місцем Shopdesk.
Завантажити зразок бази даних
Перелік та структура таблиць, описані в цьому розділі, можуть незначно відрізнятися в пізніших версіях програми.