Updating versions

1. Сделать резервные копии скриптов и базы данных (средствами хостинга)

2. Скачать и установить новую версию программы Melbis Shop

3. Переместить в корень сайта папки: templates, units, profiles

4. Переименовать папки шаблонов: templates/default/units

5. Переместить в корень сайта и изменить файл config.php:

  • УДАЛИТЬ define('SCRIPT_VERSION', '6.3.0');
  • УДАЛИТЬ define('LICENCE', '');
  • УДАЛИТЬ define('SHOP_GMT', '1');
  • ДОБАВИТЬ define('TIME_ZONE', 'Europe/Kyiv');
  • ИЗМЕНИТЬ define('DB_COMMAND', 'SET sql_mode = CONCAT(@@sql_mode, \',NO_UNSIGNED_SUBTRACTION\');');
  • ИЗМЕНИТЬ define('DB_CHARSET', 'utf8mb4');

6. Зайти в "Среда разработки" и выполнить SQL-команды

UPDATE {DBNICK}_generator SET gen_value = (SELECT MAX(id) FROM {DBNICK}_key) + 1 WHERE table_name = 'key';
CREATE TABLE {DBNICK}_lang (
   id      INT UNSIGNED DEFAULT '0' NOT NULL,
   skey        CHAR(32) DEFAULT '' NOT NULL,
   name        CHAR(255) DEFAULT '' NOT NULL,
   descr       MEDIUMTEXT DEFAULT ('') NOT NULL,
   kind_key  CHAR(100) DEFAULT '' NOT NULL,
   params    CHAR(255) DEFAULT '' NOT NULL,
   is_origin  TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   pos         INT UNSIGNED DEFAULT '0' NOT NULL,
   PRIMARY KEY (id)
) ENGINE = MYISAM DEFAULT CHARSET=utf8mb4;

CREATE TABLE {DBNICK}_files_lang (
   id        INT UNSIGNED DEFAULT '0' NOT NULL,
   elem_id    INT UNSIGNED DEFAULT NULL,
   kind_key  CHAR(100) DEFAULT '' NOT NULL,
   file_name  CHAR(100) DEFAULT '' NOT NULL,
   file_size INT UNSIGNED DEFAULT '0' NOT NULL,
   upload_time DATETIME DEFAULT '2000-01-01 00:00:00' NOT NULL,
   upload_ok  TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   real_name CHAR(255) DEFAULT '' NOT NULL,
   parent_id INT UNSIGNED DEFAULT NULL,
   format_xml  MEDIUMTEXT DEFAULT ('') NOT NULL,
   pos     INT UNSIGNED DEFAULT '0' NOT NULL,
   PRIMARY KEY (id),
   KEY elem_id (elem_id)
) ENGINE = MYISAM DEFAULT CHARSET=utf8mb4;

CREATE TABLE {DBNICK}_trans (
   id      INT UNSIGNED DEFAULT '0' NOT NULL,
   skey        CHAR(32) DEFAULT '' NOT NULL,
   name        CHAR(255) DEFAULT '' NOT NULL,
   tindex     INT UNSIGNED DEFAULT '0' NOT NULL,
   tlevel     INT UNSIGNED DEFAULT '0' NOT NULL,
   absindex  INT UNSIGNED DEFAULT '0' NOT NULL,
   folder     TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   kind_key  CHAR(100) DEFAULT '' NOT NULL,
   table_key  CHAR(32) DEFAULT '' NOT NULL,
   PRIMARY KEY (id)
) ENGINE = MYISAM DEFAULT CHARSET=utf8mb4;

CREATE TABLE {DBNICK}_trans_origin (
   id      INT UNSIGNED DEFAULT '0' NOT NULL,
   trans_id    INT UNSIGNED DEFAULT NULL,
   item_id    INT UNSIGNED DEFAULT NULL,
   item_code  CHAR(32) DEFAULT '' NOT NULL,
   context     CHAR(255) DEFAULT '' NOT NULL,
   origin      MEDIUMTEXT DEFAULT ('') NOT NULL,
   crc        CHAR(32) DEFAULT '' NOT NULL,
   kind_key  CHAR(100) DEFAULT '' NOT NULL,
   params      CHAR(255) DEFAULT '' NOT NULL,
   is_active   TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   is_html     TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   no_trans     TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   pos         INT UNSIGNED DEFAULT '0' NOT NULL,   
   PRIMARY KEY (id),
   KEY trans_id (trans_id),
   KEY item_id (item_id),
   KEY item_code (item_code)   
) ENGINE = MYISAM DEFAULT CHARSET=utf8mb4;

CREATE TABLE {DBNICK}_trans_lang (
   id      INT UNSIGNED DEFAULT '0' NOT NULL,
   lang_id    INT UNSIGNED DEFAULT NULL,
   trans_id    INT UNSIGNED DEFAULT NULL,
   origin_id   INT UNSIGNED DEFAULT NULL,
   translate   MEDIUMTEXT DEFAULT ('') NOT NULL,
   is_approve  TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   is_error    TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   PRIMARY KEY (id),
   KEY lang_id (lang_id),
   KEY trans_id (trans_id),
   KEY origin_id (origin_id)
) ENGINE = MYISAM DEFAULT CHARSET=utf8mb4;

CREATE TABLE {DBNICK}_tmp_trans (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   user_id INT UNSIGNED DEFAULT NULL,
   UNIQUE (user_id, id)
) ENGINE = MYISAM DEFAULT CHARSET=utf8mb4;

INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('lang', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('trans', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('trans_origin', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('trans_lang', 0);

ALTER TABLE {DBNICK}_key_value CHANGE value_txt value_txt TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_key_value CHANGE format_xml  format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_user CHANGE params params MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_user_chat CHANGE message_txt message_txt TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_user_log CHANGE options options TEXT DEFAULT ('') NOT NULL, CHANGE vars vars TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_user_filter CHANGE sql_txt sql_txt MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_user_file_version CHANGE content content MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_user_task_note CHANGE content content MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_topic CHANGE intro intro MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE option_code option_code TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_topic CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_topic_key CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_topic_key_set CHANGE value_txt value_txt MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_self_key_value CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE value_txt value_txt MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_brand CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_brand CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_brand_key CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_brand_key_set CHANGE value_txt value_txt MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_provider CHANGE notice notice MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_provider_key CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_provider_key_set CHANGE value_txt value_txt MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_info CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_info CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_info_value CHANGE name name MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_info_value CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_info_key CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_info_key_set CHANGE value_txt value_txt MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_advert_text CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_advert_text CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_store CHANGE intro intro MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE review review MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE clann_descr clann_descr MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE option_code option_code TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_store CHANGE format_xml  format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_store_info CHANGE value_txt value_txt MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_store_comment CHANGE params params MEDIUMTEXT DEFAULT (''), CHANGE positive positive MEDIUMTEXT DEFAULT ('') NOT NULL,CHANGE negative negative MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE summary summary MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_u_info_value CHANGE name name MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_u_files_info_value CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_u_store CHANGE intro intro MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE review review MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE clann_descr clann_descr MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE option_code option_code TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_u_files_store CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_u_store_info CHANGE value_txt value_txt MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_field CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_field CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_client_field CHANGE value_txt value_txt MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_order_option CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_order_option CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_order_option_value CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE message message MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_order_option_value CHANGE  format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_order_option_block CHANGE message message TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_order_option_limit CHANGE message message TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_order_store_option_block CHANGE message message TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_orders_client_field CHANGE value_txt value_txt MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_orders_store CHANGE store_name store_name TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_orders_option CHANGE notice notice MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_web_outside CHANGE url url TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_web_inside CHANGE url url TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_web_key CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_web_key CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_web_key_value CHANGE name name MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_web_key_value CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_report CHANGE report_file report_file MEDIUMTEXT DEFAULT ('') NOT NULL;

Обновить кодировку всех таблиц базы данных на utf8mb4. Пример получения списка команд:
SELECT CONCAT('ALTER TABLE ', TABLE_NAME, ' CONVERT TO CHARACTER SET utf8mb4;')
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'database_name';

7. Открыть "Система/Пользователи", закладка "Операции и права доступа" и внести изменения

  • Структура
    • ДОБАВИТЬ Мультиязычность
      • ДОБАВИТЬ Языки и категории
        • ДОБАВИТЬ Получить GET_LANG
          • ДОБАВИТЬ trans trans *
          • ДОБАВИТЬ lang lang *
          • ДОБАВИТЬ files_lang files_lang *
          • ДОБАВИТЬ key_value cut_key_value *
          • ДОБАВИТЬ files_key_value cut_files_key_value *
        • ДОБАВИТЬ Сохранить PUT_LANG
          • ДОБАВИТЬ trans trans *
          • ДОБАВИТЬ lang lang *
          • ДОБАВИТЬ files_lang files_lang *
      • ДОБАВИТЬ Переводы
        • ДОБАВИТЬ Обновить настройки GET_TRANS_LANG_RELATIVE
          • ДОБАВИТЬ trans cut_trans *
          • ДОБАВИТЬ lang cut_lang *
          • ДОБАВИТЬ key_value cut_key_value *
          • ДОБАВИТЬ files_key_value cut_files_key_value *
          • ДОБАВИТЬ oper cut_oper *
          • ДОБАВИТЬ oper_right cut_oper_right *
          • ДОБАВИТЬ user cut_user id,group_id,login,name,phone,email,add_group_id
          • ДОБАВИТЬ user_group cut_user_group *
          • ДОБАВИТЬ web_inside cut_web_inside *
          • ДОБАВИТЬ web_inside_right cut_web_inside_right *
        • ДОБАВИТЬ Добавить оригинал ADD_TRANS_ORIGIN
        • ДОБАВИТЬ Добавить перевод ADD_TRANS_LANG
        • ДОБАВИТЬ Получить переводы GET_PART_TRANS_LANG
          • ДОБАВИТЬ FUNC:GetPartTransOrigin  part_trans_origin
          • ДОБАВИТЬ FUNC:GetPartTransLang part_trans_lang
        • ДОБАВИТЬ Расширенный запрос GET_EXTEND_TRANS_LANG
          • ДОБАВИТЬ FUNC:GetExtendTransOrigin  part_trans_origin
          • ДОБАВИТЬ FUNC:GetExtendTransLang part_trans_lang
        • ДОБАВИТЬ Выполнить перевод TRANS_LANG_SERVICE
        • ДОБАВИТЬ Сохранить UPDATE_TRANS_LANG

8. Зайти в "Реестр настроек" и внести изменения

  • Компоненты
    •  ДОБАВИТЬ Мультиязычность
      • ДОБАВИТЬ Язык
        • ДОБАВИТЬ Тип LANG_KIND_KEY
          • ДОБАВИТЬ [x] kDefault По умолчанию
      • ДОБАВИТЬ Категория
        • ДОБАВИТЬ Тип TRANS_KIND_KEY
          • ДОБАВИТЬ [x] kDefault По умолчанию   
        • ДОБАВИТЬ  Данные TRANS_TABLE_KEY
          • ДОБАВИТЬ [x] kDefault По умолчанию   
          • ДОБАВИТЬ kTopic Разделы   
          • ДОБАВИТЬ kStore Товары
      • ДОБАВИТЬ Оригинал
        • ДОБАВИТЬ Тип TRANS_ORIGIN_KIND_KEY
          • ДОБАВИТЬ [x] kDefault По умолчанию  

  • Вызываемые модули
    •  ДОБАВИТЬ Мультиязычность
      • ДОБАВИТЬ Переводчик MODULE_TRANSLATE_LINE
        • ДОБАВИТЬ melbis_inc_translate.php MELBIS_INC_TRANSLATE_service

9. Зайти в "Среда разработки" и внести изменения

  • В корневые файлы index.php, lazy.php и другие: убрать константу FOLDER и добавить вызов библиотек: 
    require_once('config.php');
    require_once('units/melbis_inc.php');
  • Обратить внимание и обновить скрипты согласно новым библиотекам melbis_inc и melbis_inc_std
  • Переименовать папку с шалонами по образцу: templates/default/unit в templates/default/untis
  • Обновить скрипты магазина для новых версии PHP 8.3 и MySQL 8.4

1. Сделать резервные копии скриптов и базы данных (средствами хостинга)

2. Скачать и установить новую версию программы Melbis Shop

3. Изменить версию программы в config.php

  • ИЗМЕНИТЬ define('SCRIPT_VERSION', '6.2.0'); => define('SCRIPT_VERSION', '6.3.0');
  • ДОБАВИТЬ define('OBFUSCATE_URL', '');
  • ДОБАВИТЬ define('DESKTOP_CHARSET', 'WIN1252');
  • УДАЛИТЬ define('SEC_MAX_CLIENT', '1');
  • УДАЛИТЬ define('SEC_MAX_DAY', '1');

4. Запустить программу и проверить, что никто в данный момент не работает

5. Открыть параметры подключения и указать номер персональной лицензии

6. Обновить скрипты программы на сервере (папка core) 

7. Открыть окно "Инсталляция" и указанть новый серийный номер программы

8. Зайти в "Среда разработки" и выполнить SQL-команды

CREATE TABLE {DBNICK}_web_key (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   skey  CHAR(32) DEFAULT '' NOT NULL,
   name  CHAR(255) DEFAULT '' NOT NULL,
   descr  MEDIUMTEXT DEFAULT '' NOT NULL,
   tindex  INT UNSIGNED DEFAULT '0' NOT NULL,
   tlevel  INT UNSIGNED DEFAULT '0' NOT NULL,
   absindex  INT UNSIGNED DEFAULT '0' NOT NULL,
   folder  TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   kind_key  CHAR(100) DEFAULT '' NOT NULL,   params  CHAR(255) DEFAULT '' NOT NULL,
   color_set CHAR(32) DEFAULT '' NOT NULL,
   PRIMARY KEY (id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_files_web_key (
   id  INT UNSIGNED DEFAULT '0' NOT NULL,
   base_id INT UNSIGNED DEFAULT NULL,
   elem_id INT UNSIGNED DEFAULT NULL,
   kind_key  CHAR(100) DEFAULT '' NOT NULL,
   file_name  CHAR(100) DEFAULT '' NOT NULL,
   file_size INT UNSIGNED DEFAULT NULL,
   upload_time  DATETIME DEFAULT '2000-01-01 00:00:00' NOT NULL,
   upload_ok  TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   real_name CHAR(255) DEFAULT '' NOT NULL,
   parent_id INT UNSIGNED DEFAULT NULL,
   format_xml  TEXT DEFAULT '' NOT NULL,
   pos  INT UNSIGNED DEFAULT '0' NOT NULL,
   PRIMARY KEY (id),
   KEY elem_id (elem_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_web_key_value (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   skey  CHAR(32) DEFAULT '' NOT NULL,
   web_key_id  INT UNSIGNED DEFAULT NULL,
   name  MEDIUMTEXT DEFAULT '' NOT NULL,
   descr  MEDIUMTEXT DEFAULT '' NOT NULL,
   kind_key  CHAR(100) DEFAULT '' NOT NULL,   
   params  CHAR(255) DEFAULT '' NOT NULL,
   color_set CHAR(32) DEFAULT '' NOT NULL,
   pos   INT UNSIGNED DEFAULT '0' NOT NULL,
   PRIMARY KEY (id),
   KEY web_key_id (web_key_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_files_web_key_value (
   id  INT UNSIGNED DEFAULT '0' NOT NULL,
   base_id INT UNSIGNED DEFAULT NULL,
   elem_id INT UNSIGNED DEFAULT NULL,
   kind_key  CHAR(100) DEFAULT '' NOT NULL,
   file_name  CHAR(100) DEFAULT '' NOT NULL,
   file_size INT UNSIGNED DEFAULT NULL,
   upload_time  DATETIME DEFAULT '2000-01-01 00:00:00' NOT NULL,
   upload_ok  TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   real_name CHAR(255) DEFAULT '' NOT NULL,
   parent_id INT UNSIGNED DEFAULT NULL,
   format_xml  TEXT DEFAULT '' NOT NULL,
   pos  INT UNSIGNED DEFAULT '0' NOT NULL,
   PRIMARY KEY (id),
   KEY elem_id (elem_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_web_key_right (
   id  INT UNSIGNED DEFAULT '0' NOT NULL,
   web_key_id  INT UNSIGNED DEFAULT NULL,
   user_id  INT UNSIGNED DEFAULT NULL,
   group_id  INT UNSIGNED DEFAULT NULL,
   for_read TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   for_write TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   for_remove TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   PRIMARY KEY (id),
   KEY web_key_id (web_key_id),
   KEY user_id (user_id),
   KEY group_id (group_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_tmp_web_key (
   id  INT UNSIGNED DEFAULT '0' NOT NULL,
   user_id INT UNSIGNED DEFAULT NULL,
   for_read TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   for_write TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   for_remove TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   PRIMARY KEY (id, user_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_tmp_order_right (
   id  INT UNSIGNED DEFAULT '0' NOT NULL,
   user_id INT UNSIGNED DEFAULT NULL,
   PRIMARY KEY (id, user_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_tmp_info (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   user_id INT UNSIGNED DEFAULT NULL,
   PRIMARY KEY (id, user_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('web_key', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('web_key_right', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('web_key_value', 0);

ALTER TABLE {DBNICK}_provider ADD kind_key CHAR(100) DEFAULT '' NOT NULL AFTER name;
ALTER TABLE {DBNICK}_provider ADD state_key CHAR(100) DEFAULT '' NOT NULL AFTER kind_key;
ALTER TABLE {DBNICK}_provider ADD params CHAR(255) DEFAULT '' NOT NULL AFTER state_key;

ALTER TABLE {DBNICK}_store_info ADD value_txt MEDIUMTEXT DEFAULT '' NOT NULL AFTER value_dec;
ALTER TABLE {DBNICK}_u_store_info ADD value_txt MEDIUMTEXT DEFAULT '' NOT NULL AFTER value_dec;

ALTER TABLE {DBNICK}_user_shop ADD is_blocked TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER is_provider_id;

ALTER TABLE {DBNICK}_store_set ADD obj_key CHAR(100) DEFAULT '' NOT NULL AFTER store_id;
ALTER TABLE {DBNICK}_u_store_set ADD obj_key CHAR(100) DEFAULT '' NOT NULL AFTER store_id;
UPDATE {DBNICK}_store_set SET obj_key = 'kGoods';
UPDATE {DBNICK}_u_store_set SET obj_key = 'kGoods';

ALTER TABLE {DBNICK}_u_store ADD exist_time DATETIME DEFAULT '2000-01-01 00:00:00' NOT NULL AFTER update_time;

CREATE INDEX clann ON {DBNICK}_store (clann);
CREATE INDEX topic_store ON {DBNICK}_topic_store (topic_id,store_id);
CREATE INDEX option_value ON {DBNICK}_order_option_set (option_id, value_id);

ALTER TABLE {DBNICK}_u_info_value ADD was_update TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER base_id;

ALTER TABLE {DBNICK}_files_key_value DROP base_id;
ALTER TABLE {DBNICK}_files_brand DROP base_id;
ALTER TABLE {DBNICK}_files_advert_text DROP base_id;
ALTER TABLE {DBNICK}_files_info DROP base_id;
ALTER TABLE {DBNICK}_files_info_value DROP base_id;
ALTER TABLE {DBNICK}_files_topic DROP base_id;
ALTER TABLE {DBNICK}_files_store DROP base_id;
ALTER TABLE {DBNICK}_files_client_field DROP base_id;
ALTER TABLE {DBNICK}_files_order_option DROP base_id;
ALTER TABLE {DBNICK}_files_order_option_value DROP base_id;
ALTER TABLE {DBNICK}_files_web_key DROP base_id;
ALTER TABLE {DBNICK}_files_web_key_value DROP base_id;

CREATE TABLE {DBNICK}_info_right (
   id  INT UNSIGNED DEFAULT '0' NOT NULL,
   info_id  INT UNSIGNED DEFAULT NULL,
   user_id  INT UNSIGNED DEFAULT NULL,
   group_id  INT UNSIGNED DEFAULT NULL,
   for_info TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   for_value TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   PRIMARY KEY (id),
   KEY info_id (info_id),
   KEY user_id (user_id),
   KEY group_id (group_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('info_right', 0);

ALTER TABLE {DBNICK}_topic ADD skey CHAR(32) DEFAULT '' NOT NULL AFTER id;
ALTER TABLE {DBNICK}_topic DROP seo_descr;
ALTER TABLE {DBNICK}_topic DROP seo_keywords;
ALTER TABLE {DBNICK}_topic DROP seo_link;

ALTER TABLE {DBNICK}_store DROP seo_descr;
ALTER TABLE {DBNICK}_store DROP seo_keywords;
ALTER TABLE {DBNICK}_store DROP seo_link;
ALTER TABLE {DBNICK}_store DROP seo_alt;

ALTER TABLE {DBNICK}_u_store DROP seo_descr;
ALTER TABLE {DBNICK}_u_store DROP seo_keywords;
ALTER TABLE {DBNICK}_u_store DROP seo_link;
ALTER TABLE {DBNICK}_u_store DROP seo_alt;

ALTER TABLE {DBNICK}_info_value ADD skey CHAR(32) DEFAULT '' NOT NULL AFTER id;
ALTER TABLE {DBNICK}_u_info_value ADD skey CHAR(32) DEFAULT '' NOT NULL AFTER id;
ALTER TABLE {DBNICK}_client_field_set ADD skey CHAR(32) DEFAULT '' NOT NULL AFTER id;

ALTER TABLE {DBNICK}_user_group ADD phone CHAR(255) DEFAULT '' NOT NULL AFTER name;
ALTER TABLE {DBNICK}_user_group ADD email CHAR(255) DEFAULT '' NOT NULL AFTER phone;

ALTER TABLE {DBNICK}_user_shop DROP is_provider_id;

CREATE TABLE {DBNICK}_provider_group (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   skey  CHAR(32) DEFAULT '' NOT NULL,
   name  CHAR(100) DEFAULT '' NOT NULL,
   pos  INT UNSIGNED DEFAULT '0' NOT NULL,
   PRIMARY KEY (id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

ALTER TABLE {DBNICK}_currency ADD provider_id INT UNSIGNED DEFAULT NULL AFTER division;
ALTER TABLE {DBNICK}_provider ADD group_id INT UNSIGNED DEFAULT NULL AFTER skey;

INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('provider_group', 1);
INSERT INTO {DBNICK}_provider_group (id, name, pos) VALUES (1, 'По умолчанию', 1);

UPDATE {DBNICK}_provider SET group_id = 1;

CREATE TABLE {DBNICK}_topic_key (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   skey  CHAR(32) DEFAULT '' NOT NULL,
   name  CHAR(255) DEFAULT '' NOT NULL,
   tindex  INT UNSIGNED DEFAULT '0' NOT NULL,
   tlevel  INT UNSIGNED DEFAULT '0' NOT NULL,
   absindex  INT UNSIGNED DEFAULT '0' NOT NULL,
   folder  TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   descr MEDIUMTEXT DEFAULT '' NOT NULL,
   mask_edit CHAR(255) DEFAULT '' NOT NULL,
   PRIMARY KEY (id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_topic_key_value (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   skey  CHAR(32) DEFAULT '' NOT NULL,
   key_id INT UNSIGNED DEFAULT NULL,
   name  CHAR(255) DEFAULT '' NOT NULL,
   pos   INT UNSIGNED DEFAULT '0' NOT NULL,
   PRIMARY KEY (id),
   KEY key_id (key_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_topic_key_set (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   topic_id INT UNSIGNED DEFAULT NULL,
   key_id INT UNSIGNED DEFAULT NULL,
   value_id INT UNSIGNED DEFAULT NULL,
   value_txt  MEDIUMTEXT DEFAULT '' NOT NULL,
   PRIMARY KEY (id),
   KEY topic_id (topic_id),
   KEY key_id (key_id),
   KEY value_id (value_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_brand_key (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   skey  CHAR(32) DEFAULT '' NOT NULL,
   name  CHAR(255) DEFAULT '' NOT NULL,
   tindex  INT UNSIGNED DEFAULT '0' NOT NULL,
   tlevel  INT UNSIGNED DEFAULT '0' NOT NULL,
   absindex  INT UNSIGNED DEFAULT '0' NOT NULL,
   folder  TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   descr MEDIUMTEXT DEFAULT '' NOT NULL,
   mask_edit CHAR(255) DEFAULT '' NOT NULL,
   PRIMARY KEY (id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_brand_key_value (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   skey  CHAR(32) DEFAULT '' NOT NULL,
   key_id INT UNSIGNED DEFAULT NULL,
   name  CHAR(255) DEFAULT '' NOT NULL,
   pos   INT UNSIGNED DEFAULT '0' NOT NULL,
   PRIMARY KEY (id),
   KEY key_id (key_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_brand_key_set (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   brand_id INT UNSIGNED DEFAULT NULL,
   key_id INT UNSIGNED DEFAULT NULL,
   value_id INT UNSIGNED DEFAULT NULL,
   value_txt  MEDIUMTEXT DEFAULT '' NOT NULL,
   PRIMARY KEY (id),
   KEY brand_id (brand_id),
   KEY key_id (key_id),
   KEY value_id (value_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_provider_key (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   skey  CHAR(32) DEFAULT '' NOT NULL,
   name  CHAR(255) DEFAULT '' NOT NULL,
   tindex  INT UNSIGNED DEFAULT '0' NOT NULL,
   tlevel  INT UNSIGNED DEFAULT '0' NOT NULL,
   absindex  INT UNSIGNED DEFAULT '0' NOT NULL,
   folder  TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   descr MEDIUMTEXT DEFAULT '' NOT NULL,
   mask_edit CHAR(255) DEFAULT '' NOT NULL,
   PRIMARY KEY (id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_provider_key_value (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   skey  CHAR(32) DEFAULT '' NOT NULL,
   key_id INT UNSIGNED DEFAULT NULL,
   name  CHAR(255) DEFAULT '' NOT NULL,
   pos   INT UNSIGNED DEFAULT '0' NOT NULL,
   PRIMARY KEY (id),
   KEY key_id (key_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_provider_key_set (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   provider_id INT UNSIGNED DEFAULT NULL,
   key_id INT UNSIGNED DEFAULT NULL,
   value_id INT UNSIGNED DEFAULT NULL,
   value_txt  MEDIUMTEXT DEFAULT '' NOT NULL,
   PRIMARY KEY (id),
   KEY provider_id (provider_id),
   KEY key_id (key_id),
   KEY value_id (value_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_info_key (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   skey  CHAR(32) DEFAULT '' NOT NULL,
   name  CHAR(255) DEFAULT '' NOT NULL,
   tindex  INT UNSIGNED DEFAULT '0' NOT NULL,
   tlevel  INT UNSIGNED DEFAULT '0' NOT NULL,
   absindex  INT UNSIGNED DEFAULT '0' NOT NULL,
   folder  TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   descr MEDIUMTEXT DEFAULT '' NOT NULL,
   mask_edit CHAR(255) DEFAULT '' NOT NULL,
   PRIMARY KEY (id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_info_key_value (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   skey  CHAR(32) DEFAULT '' NOT NULL,
   key_id INT UNSIGNED DEFAULT NULL,
   name  CHAR(255) DEFAULT '' NOT NULL,
   pos   INT UNSIGNED DEFAULT '0' NOT NULL,
   PRIMARY KEY (id),
   KEY key_id (key_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_info_key_set (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   info_id INT UNSIGNED DEFAULT NULL,
   key_id INT UNSIGNED DEFAULT NULL,
   value_id INT UNSIGNED DEFAULT NULL,
   value_txt  MEDIUMTEXT DEFAULT '' NOT NULL,
   PRIMARY KEY (id),
   KEY info_id (info_id),
   KEY key_id (key_id),
   KEY value_id (value_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('topic_key', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('topic_key_value', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('topic_key_set', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('brand_key', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('brand_key_value', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('brand_key_set', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('provider_key', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('provider_key_value', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('provider_key_set', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('info_key', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('info_key_value', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('info_key_set', 0);

CREATE TABLE {DBNICK}_param_value (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   skey  CHAR(32) DEFAULT '' NOT NULL,
   param_id INT UNSIGNED DEFAULT NULL,
   name  CHAR(255) DEFAULT '' NOT NULL,
   value_sum  DECIMAL(10,2) DEFAULT '0' NOT NULL,
   sum_curr_id  INT UNSIGNED DEFAULT NULL,
   pos   INT UNSIGNED DEFAULT '0' NOT NULL,
   PRIMARY KEY (id),
   KEY param_id (param_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('param_value', 0);

ALTER TABLE {DBNICK}_param ADD fixed_set TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER kind_key;
ALTER TABLE {DBNICK}_param ADD custom_sum TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER fixed_set;
ALTER TABLE {DBNICK}_store_param ADD value_id INT UNSIGNED DEFAULT NULL AFTER param_id;
CREATE INDEX value_id ON {DBNICK}_store_param (value_id);
CREATE INDEX store_value ON {DBNICK}_store_param (store_id, value_id);

ALTER TABLE {DBNICK}_order_option ADD fixed_set TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER kind_key;
ALTER TABLE {DBNICK}_order_option ADD needs_calc TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER fixed_set;
ALTER TABLE {DBNICK}_order_option ADD custom_sum TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER needs_calc;

ALTER TABLE {DBNICK}_store_option ADD fixed_set TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER kind_key;
ALTER TABLE {DBNICK}_store_option ADD needs_calc TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER fixed_set;
ALTER TABLE {DBNICK}_store_option ADD custom_sum TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER needs_calc;

ALTER TABLE {DBNICK}_order_store_option ADD value_id INT UNSIGNED DEFAULT NULL AFTER option_pos;

ALTER TABLE {DBNICK}_user_key_value ADD mask_edit CHAR(255) DEFAULT '' NOT NULL AFTER descr;

ALTER TABLE {DBNICK}_u_topic_store ADD base_id INT UNSIGNED DEFAULT NULL;

CREATE TABLE {DBNICK}_order_option_block (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   value1_id  INT UNSIGNED DEFAULT NULL,
   value2_id  INT UNSIGNED DEFAULT NULL,
   message TEXT DEFAULT '' NOT NULL,
   PRIMARY KEY (id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_order_option_limit (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   option_id  INT UNSIGNED DEFAULT NULL,
   was_value_id INT UNSIGNED DEFAULT NULL,
   set_value_id INT UNSIGNED DEFAULT NULL,
   message TEXT DEFAULT '' NOT NULL,
   PRIMARY KEY (id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_order_option_limit_right (
   id  INT UNSIGNED DEFAULT '0' NOT NULL,
   limit_id  INT UNSIGNED DEFAULT NULL,
   user_id  INT UNSIGNED DEFAULT NULL,
   group_id  INT UNSIGNED DEFAULT NULL,
   PRIMARY KEY (id),
   KEY limit_id (limit_id),
   KEY user_id (user_id),
   KEY group_id (group_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_store_option_right (
   id  INT UNSIGNED DEFAULT '0' NOT NULL,
   option_id  INT UNSIGNED DEFAULT NULL,
   user_id  INT UNSIGNED DEFAULT NULL,
   group_id  INT UNSIGNED DEFAULT NULL,
   PRIMARY KEY (id),
   KEY option_id (option_id),
   KEY user_id (user_id),
   KEY group_id (group_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

CREATE TABLE {DBNICK}_store_option_block (
   id   INT UNSIGNED DEFAULT '0' NOT NULL,
   value1_id  INT UNSIGNED DEFAULT NULL,
   value2_id  INT UNSIGNED DEFAULT NULL,
   message TEXT DEFAULT '' NOT NULL,
   PRIMARY KEY (id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('order_option_block', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('order_option_limit', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('order_option_limit_right', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('store_option_block', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('store_option_right', 0);

ALTER TABLE {DBNICK}_order_option_value DROP email_key;
ALTER TABLE {DBNICK}_order_option_value DROP emails;
ALTER TABLE {DBNICK}_order_option_value ADD use_default TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER color_set;
ALTER TABLE {DBNICK}_order_option_value ADD after_create TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER use_default;
ALTER TABLE {DBNICK}_store_option_value ADD use_default TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER sum_curr_id;
ALTER TABLE {DBNICK}_store_option_value ADD after_create TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER use_default;

ALTER TABLE {DBNICK}_user_shop ADD params MEDIUMTEXT DEFAULT '' NOT NULL AFTER email;

9. Открыть "Система/Пользователи", закладка "Операции и права доступа" и внести изменения

  • Проектирование
    • ПЕРЕИМЕНОВАТЬ Опции модулей => Модули и опции
      • Получить
        • ДОБАВИТЬ web_key web_key *
        • ДОБАВИТЬ web_key_value web_key_value *
        • ДОБАВИТЬ web_key_right web_key_right *
        • ДОБАВИТЬ files_web_key files_web_key *
        • ДОБАВИТЬ files_web_key_value files_web_key_value *
      • Сохранить
        • ДОБАВИТЬ web_key web_key *
        • ДОБАВИТЬ web_key_value web_key_value *
        • ДОБАВИТЬ web_key_right web_key_right *
        • ДОБАВИТЬ files_web_key files_web_key *
        • ДОБАВИТЬ files_web_key_value files_web_key_value *
    • Среда разработки
      • Работа с файлами
        • ДОБАВИТЬ Обфускация кода 
  • Бизнес
    • Поставщики
      • Получить
        • ДОБАВИТЬ key_value cut_key_value *
        • ДОБАВИТЬ files_key_value cut_files_key_value *   
    • Цены
      • Обновить настройки 
        • ИЗМЕНИТЬ brand cut_brand * => brand cut_brand id,skey,name,kind_key,params,seo_code,pos
    • Прайс-листы
      • Обновить настройки
        • ИЗМЕНИТЬ brand cut_brand * => brand cut_brand id,skey,name,kind_key,params,seo_code,pos
    • Заказы
      • Обновить настройки
        • ИЗМЕНИТЬ brand cut_brand * => brand cut_brand id,skey,name,kind_key,params,seo_code,pos
  • Товары
    • Параметры ПЕРЕМЕСТИТЬ из Товары в Проектирование,  ПЕРЕИМЕНОВАТЬ в Параметры товаров
    • Описания
      • Персональный раздел
        • Обновить настройки
          • ИЗМЕНИТЬ brand cut_brand * => brand cut_brand id,skey,name,kind_key,params,seo_code,pos
          • УДАЛИТЬ info_value imp_info_value *
        • ПЕРЕМЕСТИТЬ ПЕРЕИМЕНОВАТЬ Создать новый клан => Товары/Описания/Добавить новый клан
      • Получить товары
        • Получение данных
          • ДОБАВИТЬ FUNC:GetImportStoreInfoValue imp_info_value *
          • ДОБАВИТЬ FUNC:GetImportStoreFilesInfoValue imp_files_info_value *
      • Характеристики
        • ДОБАВИТЬ Получить значения [группа]
          • ДОБАВИТЬ Подготовка данных PREPARE_IMPORT_INFO_VALUE
          • ДОБАВИТЬ Получение данных GET_IMPORT_INFO_VALUE
            • ДОБАВИТЬ FUNC:GetImportInfoValue imp_info_value * 
            • ДОБАВИТЬ FUNC:GetImportFilesInfoValue imp_files_info_value *
      • ДОБАВИТЬ Добавить новый бренд NEW_BRAND
        • ДОБАВИТЬ brand
    • Расположение
      • Обновить настройки
        • ИЗМЕНИТЬ brand cut_brand * => brand cut_brand id,skey,name,kind_key,params,seo_code,pos
    • Обозреватель
      • Обновить настройки
        • ИЗМЕНИТЬ brand cut_brand * => brand cut_brand id,skey,name,kind_key,params,seo_code,pos
  • Система
    • Диспетчер ПЕРЕМЕСТИТЬ из Система в Бизнес

  • Бизнес
    • Цены  ПЕРЕМЕСТИТЬ из Бизнес в Товары
    • Прайс-листы ПЕРЕМЕСТИТЬ из Бизнес в Товары
  • Товары
    • Разделы  ПЕРЕИМЕНОВАТЬ в Каталог
    • Характеристики ПЕРЕМЕСТИТЬ из Товары в Структура
    • Параметры ПЕРЕМЕСТИТЬ из Товары в Структура
  • Товары
    • Описания
      • Характеристики
        • Добавить
          • ДОБАВИТЬ info_right
  • Структура
    • Каталог
      • Быстрый доступ
        • Обновить список 
          • ИЗМЕНИТЬ topic cut_topic id,name,tindex,tlevel,absindex,no_visible,kind_key => topic cut_topic *

    • Фильтры
      • Получить
        • ИЗМЕНИТЬ info cut_info id,skey,name,tindex,tlevel,absindex,folder,kind_key,type_key => info cut_info *
    • Характеристики
      • Получить
        • ДОБАВИТЬ info_right info_right *
        • ДОБАВИТЬ operation cut_operation *
        • ДОБАВИТЬ oper_right cut_oper_right *
        • ДОБАВИТЬ user_shop cut_user_shop id,group_id,login,name,phone,email,add_group_id,is_provider_id
        • ДОБАВИТЬ user_group cut_user_group *
      • Сохранить
        • ДОБАВИТЬ info_right info_right *

  • Товары
    • Описания
      • Получить товары
        • УДАЛИТЬ Блокировка
        • УДАЛИТЬ Запрос товаров раздела
        • ПЕРЕИМЕНОВАТЬ Получение данных => Запрос товаров раздела
        • ИЗМЕНИТЬ Расширенный запрос PREPARE_EXTEND_IMPORT_GOODS => GET_EXTEND_IMPORT_GOODS
          • ДОБАВИТЬ FUNC:GetImportStore imp_store *
          • ДОБАВИТЬ FUNC:GetImportFilesStore imp_files_store *
          • ДОБАВИТЬ FUNC:GetImportStoreSet imp_store_set *
          • ДОБАВИТЬ FUNC:GetImportTopicStore imp_topic_store *
          • ДОБАВИТЬ FUNC:GetImportStoreInfo imp_store_info *
          • ДОБАВИТЬ FUNC:GetImportStoreInfoValue imp_info_value *
          • ДОБАВИТЬ FUNC:GetImportStoreFilesInfoValue imp_files_info_value *
      • Характеристики
        • Получить значения
          • ПЕРЕИМЕНОВАТЬ Получение данных => Получить значения характеристик
          • УДАЛИТЬ Подготовка данных
          • Получить значения характеристик ПЕРЕМЕСТИТЬ в Товары/Описания
          • УДАЛИТЬ Получить значения
      • Характеристики ПЕРЕИМЕНОВАТЬ в Быстрый доступ и ПЕРЕМЕСТИТЬ из Товары/Описания в Структура/Характеристики
      • Передать в магазин
        • УДАЛИТЬ Слияние товаров
        • УДАЛИТЬ Получить список товаров
        • ПЕРЕИМЕНОВАТЬ ИЗМЕНИТЬ Блокировка => Слияние товаров, MERGE_TABLES => MERGE_STORE
          • УДАЛИТЬ info_value
          • УДАЛИТЬ files_info_value
        • Слияние характеристик
          • ДОБАВИТЬ info_value
          • ДОБАВИТЬ files_info_value

  • Бизнес
    • Заказы
      • Получить заказы
        • ИЗМЕНИТЬ Запрос на поиск, PREPARE_SEARCH_ORDERS => GET_SEARCH_ORDERS
          • ДОБАВИТЬ FUNC:GetOrdersOrders orders *
          • ДОБАВИТЬ FUNC:GetOrdersVersion order_version *
          • ДОБАВИТЬ FUNC:GetOrdersClientField order_client_field *
          • ДОБАВИТЬ FUNC:GetOrdersStore order_store *
          • ДОБАВИТЬ FUNC:GetOrdersOptionSet order_option_set *
          • ДОБАВИТЬ FUNC:GetOrdersStoreOption order_store_option *
        • ИЗМЕНИТЬ Расширенный запрос, PREPARE_EXTEND_ORDERS => GET_EXTEND_ORDERS
          • ДОБАВИТЬ FUNC:GetOrdersOrders orders *
          • ДОБАВИТЬ FUNC:GetOrdersVersion order_version *
          • ДОБАВИТЬ FUNC:GetOrdersClientField order_client_field *
          • ДОБАВИТЬ FUNC:GetOrdersStore order_store *
          • ДОБАВИТЬ FUNC:GetOrdersOptionSet order_option_set *
          • ДОБАВИТЬ FUNC:GetOrdersStoreOption order_store_option *
        • УДАЛИТЬ Получение данных
    • Покупатели
      • Получить покупателей
        • УДАЛИТЬ Расширенный запрос
        • Получение данных ПЕРЕМЕСТИТЬ из Бизнес/Покупатели/Получить покупателей в Бизнес/Покупатели
      • УДАЛИТЬ Получить покупателей
      • Получение данных ПЕРЕИМЕНОВАТЬ в Получить покупателей
  • Товары
    • Расположение
      • Получить товары
        • УДАЛИТЬ Запрос товаров раздела
        • Получение данных ПЕРЕМЕСТИТЬ из Товары/Расположение/Получить товары в Товары/Расположение
      • УДАЛИТЬ Получить товары
      • Получение данных ПЕРЕИМЕНОВАТЬ в Получить товары
    • Цены
      • Товары
        • Получить товары
          • Запрос товаров раздела
            • УДАЛИТЬ Подготовка данных 
            • Получение данных ПЕРЕМЕСТИТЬ из Товары/Цены/Товары/Получить товары/Запрос товаров раздела в Товары/Цены
          • УДАЛИТЬ Запрос товаров раздела
      • Получение данных ПЕРЕИМЕНОВАТЬ в Получить товары раздела
      • Товары
        • Получить товары
          • Расширенный запрос
            • УДАЛИТЬ Подготовка данных 
            • Получение данных ПЕРЕМЕСТИТЬ из Товары/Цены/Товары/Получить товары/Расширенный запрос в Товары/Цены
          • УДАЛИТЬ Расширенный запрос
      • Получение данных ПЕРЕИМЕНОВАТЬ в Расширенный запрос товаров
      • Товары
        • Добавить товар ПЕРЕМЕСТИТЬ из Товары/Цены/Товары в Товары/Цены
        • УДАЛИТЬ Получить товары
      • УДАЛИТЬ Товары
    • Отзывы
      • Получить отзывы
        • УДАЛИТЬ Расширенный запрос
        • Получение данных ПЕРЕМЕСТИТЬ из Товары/Отзывы/Получить отзывы в Товары/Отзывы
      • УДАЛИТЬ Получить отзывы
      • Получение данных ПЕРЕИМЕНОВАТЬ в Получить
    • Обозреватель
      • Получить список товаров
        • ИЗМЕНИТЬ Запрос на поиск, PREPARE_SEARCH_SELECT_STORE => GET_SEARCH_SELECT_STORE
        • ИЗМЕНИТЬ Запрос товаров раздела, PREPARE_PART_SELECT_STORE => GET_PART_SELECT_STORE
          • ДОБАВИТЬ FUNC:GetPartSelectStore part_select_store *
          • ДОБАВИТЬ FUNC:GetPartSelectTopicStore part_select_topic_store *
        • УДАЛИТЬ Получение данных
        • Запрос на поиск ПЕРЕИМЕНОВАТЬ в Найти и получить товары и ПЕРЕМЕСТИТЬ из Товары/Обозреватель/Получить список товаров в Товары/Обозреватель
        • Запрос товаров раздела ПЕРЕИМЕНОВАТЬ в Получить товары раздела и ПЕРЕМЕСТИТЬ из Товары/Обозреватель/Получить список товаров в Товары/Обозреватель
      • УДАЛИТЬ Получить список товаров
  • Товары
    • Прайс-листы
      • Обновить настройки
        • УДАЛИТЬ brand cut_brand id,skey,name,kind_key,params,seo_code,pos
        • ДОБАВИТЬ param cut_param *
        • ДОБАВИТЬ currency cut_currency *
  • Бизнес
    • Планировщик
      • Обновить настройки
        • ИЗМЕНИТЬ user_shop cut_user_shop id,group_id,login,name,phone,email,add_group_id
    • Заказы
      • Обновить настройки
        • ИЗМЕНИТЬ user_shop cut_user_shop id,group_id,login,name,phone,email,add_group_id
    • Покупатели
      • Обновить настройки
        • ИЗМЕНИТЬ user_shop cut_user_shop id,group_id,login,name,phone,email,add_group_id
  • Товары
    • Описания
      • Персональный раздел
        • Обновить настройки
          • ИЗМЕНИТЬ user_shop cut_user_shop id,group_id,login,name,phone,email,add_group_id
    • Расположение
      • Обновить настройки
        • ИЗМЕНИТЬ user_shop cut_user_shop id,group_id,login,name,phone,email,add_group_id
    • Цены
      • Обновить настройки
        • ИЗМЕНИТЬ user_shop cut_user_shop id,group_id,login,name,phone,email,add_group_id
  • Структура
    • Каталог
      • Получить
        • ИЗМЕНИТЬ user_shop cut_user_shop id,group_id,login,name,phone,email,add_group_id
    • Характеристики
      • Получить
        • ИЗМЕНИТЬ user_shop cut_user_shop id,group_id,login,name,phone,email,add_group_id
    • Настройки
      • Получить
        • ИЗМЕНИТЬ user_shop cut_user_shop id,group_id,login,name,phone,email,add_group_id
  • Проектирование
    • Реестр настроек
      • Получить
        • ИЗМЕНИТЬ user_shop cut_user_shop id,group_id,login,name,phone,email,add_group_id
    • Модули и опции
      • Получить
        • ИЗМЕНИТЬ user_shop cut_user_shop id,group_id,login,name,phone,email,add_group_id
    • Опции заказа
      • Получить
        • ИЗМЕНИТЬ user_shop cut_user_shop id,group_id,login,name,phone,email,add_group_id
    • Редактор отчетов
      • Получить
        • ИЗМЕНИТЬ user_shop cut_user_shop id,group_id,login,name,phone,email,add_group_id
  • Система
    • Пользователи
      • Получить
        • УДАЛИТЬ provider cut_provider id,skey,name,serv_addr,serv_phone,pos

  • Проектирование
    • Реестр настроек
      • Получить
        • ДОБАВИТЬ topic_key topic_key *
        • ДОБАВИТЬ topic_key_value topic_key_value *
        • ДОБАВИТЬ provider_key provider_key *
        • ДОБАВИТЬ provider_key_value provider_key_value *
        • ДОБАВИТЬ brand_key brand_key *
        • ДОБАВИТЬ brand_key_value brand_key_value *
        • ДОБАВИТЬ info_key info_key *
        • ДОБАВИТЬ info_key_value info_key_value *
      • Сохранить
        • ДОБАВИТЬ topic_key topic_key *
        • ДОБАВИТЬ topic_key_value topic_key_value *
        • ДОБАВИТЬ provider_key provider_key *
        • ДОБАВИТЬ provider_key_value provider_key_value *
        • ДОБАВИТЬ brand_key brand_key *
        • ДОБАВИТЬ brand_key_value brand_key_value *
        • ДОБАВИТЬ info_key info_key *
        • ДОБАВИТЬ info_key_value info_key_value *
  • Бизнес
    • Поставщики
      • Получить
        • ДОБАВИТЬ provider_group provider_group * Важно! Переместить в списке выше таблицы provider
        • ДОБАВИТЬ provider_key_set provider_key_set *
        • ДОБАВИТЬ provider_key cut_provider_key *
        • ДОБАВИТЬ provider_key_value cut_provider_key_value *
      • Сохранить
        • ДОБАВИТЬ provider_group provider_group *
        • ДОБАВИТЬ provider_key_set provider_key_set *
    • Валюты
      • Получить
        • ДОБАВИТЬ provider cut_provider id,skey,group_id,name,serv_addr,serv_phone,pos
        • ДОБАВИТЬ provider_group cut_provider_group *
  • Товары
    • Бренды
      • Получить
        • ДОБАВИТЬ brand_key_set brand_key_set *
        • ДОБАВИТЬ brand_key cut_brand_key *
        • ДОБАВИТЬ brand_key_value cut_brand_key_value *
      • Сохранить
        • ДОБАВИТЬ brand_key_set brand_key_set *

  • Структура
    • Каталог
      • Получить
        • ДОБАВИТЬ topic_key_set topic_key_set *
        • ДОБАВИТЬ topic_key cut_topic_key *
        • ДОБАВИТЬ topic_key_value cut_topic_key_value *
      • Сохранить
        • ДОБАВИТЬ topic_key_set topic_key_set *
    • Характеристики
      • Получить
        • ДОБАВИТЬ info_key_set info_key_set *
        • ДОБАВИТЬ info_key cut_info_key *
        • ДОБАВИТЬ info_key_value cut_info_key_value *
      • Сохранить
        • ДОБАВИТЬ info_key_set info_key_set *

  • Система
    • Инсталляция ПЕРЕМЕСТИТЬ из Система в Проектирование

  • Бизнес
    • Заказы
      • Обновить настройки
        • ИЗМЕНИТЬ provider cut_provider id,skey,group_id,name,serv_addr,serv_phone,pos
        • ДОБАВИТЬ provider_group cut_provider_group *
  • Товары
    • Цены
      • Обновить настройки
        • ИЗМЕНИТЬ provider cut_provider id,skey,group_id,name,serv_addr,serv_phone,pos
        • ДОБАВИТЬ provider_group cut_provider_group *
    • Описания
      • Персональный раздел
        • Обновить настройки
          • ИЗМЕНИТЬ provider cut_provider id,skey,group_id,name,serv_addr,serv_phone,pos
          • ДОБАВИТЬ provider_group cut_provider_group *
    • Расположение
      • Обновить настройки
        • ИЗМЕНИТЬ provider cut_provider id,skey,group_id,name,serv_addr,serv_phone,pos
        • ДОБАВИТЬ provider_group cut_provider_group *
    • Прайс-листы
      • Обновить настройки
        • ИЗМЕНИТЬ provider cut_provider id,skey,group_id,name,serv_addr,serv_phone,pos
        • ДОБАВИТЬ provider_group cut_provider_group *
    • Обозреватель
      • Обновить настройки
        • ИЗМЕНИТЬ provider cut_provider id,skey,group_id,name,serv_addr,serv_phone,pos
        • ДОБАВИТЬ provider_group cut_provider_group *

  • Структура
    • Параметры
      • Получить
        • ДОБАВИТЬ param_value param_value *
        • ДОБАВИТЬ currency cut_currency *
      • Сохранить
        • ДОБАВИТЬ param_value param_value *
  • Товары
    • Цены
      • Обновить настройки
        • ДОБАВИТЬ param_value cut_param_value *
    • Описания
      • ДОБАВИТЬ Переместить значения характеристик RELOCATE_INFO_VALUE
        • ДОБАВИТЬ info_value
        • ДОБАВИТЬ store_info
      • ДОБАВИТЬ Переметить товары RELOCATE_GOODS
    • Прайс-листы
      • Обновить настройки
        • ДОБАВИТЬ key_value cut_key_value *
        • ДОБАВИТЬ files_key_value cut_files_key_value *

  • Структура
    • Характеристики
      • ДОБАВИТЬ Управление и настройки
      • Получить ПЕРЕМЕСТИТЬ в Управление и настройки
      • Сохранить ПЕРЕМЕСТИТЬ в Управление и настройки
      • Поиск неиспользуемых ПЕРЕМЕСТИТЬ в Управление и настройки
      • ДОБАВИТЬ Права доступа пользователей
        • ДОБАВИТЬ Получить GET_INFO_RIGHT
          • ДОБАВИТЬ info_right info_right *
          • ДОБАВИТЬ info cut_info *
          • ДОБАВИТЬ key_value cut_key_value *
          • ДОБАВИТЬ files_key_value cut_files_key_value *
          • ДОБАВИТЬ operation cut_operation *
          • ДОБАВИТЬ oper_right cut_oper_right *
          • ДОБАВИТЬ user_shop cut_user_shop id,group_id,login,name,phone,email,add_group_id
          • ДОБАВИТЬ user_group cut_user_group *
        • ДОБАВИТЬ Сохранить PUT_INFO_RIGHT
          • ДОБАВИТЬ info_right info_right *
      • ДОБАВИТЬ Дополнительные опции
        • Получить GET_INFO_KEY_SET
          • ДОБАВИТЬ info_key_set info_key_set *
          • ДОБАВИТЬ info cut_info *
          • ДОБАВИТЬ info_key cut_info_key *
          • ДОБАВИТЬ info_key_value cut_info_key_value *
          • ДОБАВИТЬ key_value cut_key_value *
          • ДОБАВИТЬ files_key_value cut_files_key_value *
        • Сохранить PUT_INFO_KEY_SET
          • ДОБАВИТЬ info_key_set info_key_set *
    • Каталог
      • ДОБАВИТЬ Управление и настройки
      • Получить ПЕРЕМЕСТИТЬ в Управление и настройки
      • Сохранить ПЕРЕМЕСТИТЬ в Управление и настройки
      • ДОБАВИТЬ Альтернативные каталоги
        • ДОБАВИТЬ Получить GET_TOPIC_ALT
          • ДОБАВИТЬ alt_topic alt_topic *
          • ДОБАВИТЬ topic cut_topic *
          • ДОБАВИТЬ key_value cut_key_value *
          • ДОБАВИТЬ files_key_value cut_files_key_value *
        • ДОБАВИТЬ Сохранить PUT_TOPIC_ALT
          • ДОБАВИТЬ alt_topic alt_topic *
      • ДОБАВИТЬ Права доступа пользователей
        • ДОБАВИТЬ Получить GET_TOPIC_RIGHT
          • ДОБАВИТЬ topic_right topic_right *
          • ДОБАВИТЬ topic cut_topic *
          • ДОБАВИТЬ key_value cut_key_value *
          • ДОБАВИТЬ files_key_value cut_files_key_value *
          • ДОБАВИТЬ operation cut_operation *
          • ДОБАВИТЬ oper_right cut_oper_right *
          • ДОБАВИТЬ user_shop cut_user_shop id,group_id,login,name,phone,email,add_group_id
          • ДОБАВИТЬ user_group cut_user_group *
        • ДОБАВИТЬ Сохранить PUT_TOPIC_RIGHT
          • ДОБАВИТЬ topic_right topic_right *
      • ДОБАВИТЬ Дополнительные опции
        • Получить GET_TOPIC_KEY_SET
          • ДОБАВИТЬ topic_key_set topic_key_set *
          • ДОБАВИТЬ topic cut_topic *
          • ДОБАВИТЬ topic_key cut_topic_key *
          • ДОБАВИТЬ topic_key_value cut_topic_key_value *
          • ДОБАВИТЬ key_value cut_key_value *
          • ДОБАВИТЬ files_key_value cut_files_key_value *
        • Сохранить PUT_TOPIC_KEY_SET
          • ДОБАВИТЬ topic_key_set topic_key_set *

  • Проектирование
    • Опции заказа
      • Получить
        • ДОБАВИТЬ order_option_block order_option_block *
        • ДОБАВИТЬ order_option_limit order_option_limit *
        • ДОБАВИТЬ order_option_limit_right order_option_limit_right *
        • ДОБАВИТЬ store_option_right store_option_right *
        • ДОБАВИТЬ store_option_block store_option_block *
      • Сохранить
        • ДОБАВИТЬ order_option_block order_option_block *
        • ДОБАВИТЬ order_option_limit order_option_limit *
        • ДОБАВИТЬ order_option_limit_right order_option_limit_right *
        • ДОБАВИТЬ store_option_right store_option_right *
        • ДОБАВИТЬ store_option_block store_option_block *
  • Бизнес
    • Заказы
      • Обновить настройки
        • ДОБАВИТЬ order_option_block cut_order_option_block *
        • ДОБАВИТЬ order_option_limit cut_order_option_limit *
        • ДОБАВИТЬ order_option_limit_right cut_order_option_limit_right *
        • ДОБАВИТЬ store_option_right cut_store_option_right *
        • ДОБАВИТЬ store_option_block cut_store_option_block *
      • УДАЛИТЬ Добавить новый заказ
      • ПЕРЕИМЕНОВАТЬ Добавить новую версию заказа => Сохранить версию заказа
      • Сохранить версию заказа ПЕРЕМЕСТИТЬ в Редактирование
  • Система
    • ДОБАВИТЬ Профайлы
      • ДОБАВИТЬ Получить LOAD_PROFILE
      • ДОБАВИТЬ Сохранить SAVE_PROFILE



10. Зайти в "Реестр настроек" и внести изменения

  • Компоненты
    •  ДОБАВИТЬ Опции модулей
      • ДОБАВИТЬ Наименование
        • ДОБАВИТЬ Тип WEB_KEY_KIND_KEY
          • ДОБАВИТЬ [x] kDefault По умолчанию
        • ДОБАВИТЬ Группы файлов FILES_WEB_KEY
          • ДОБАВИТЬ [x] kBase Исходный файл
          • ДОБАВИТЬ [x] kDescr Файл из описания
          • ДОБАВИТЬ  kDefault Иконка по умолчанию
      • ДОБАВИТЬ Значение
        • ДОБАВИТЬ Тип WEB_KEY_VALUE_KIND_KEY
          • ДОБАВИТЬ [x] kDefault По умолчанию
        • ДОБАВИТЬ Группы файлов FILES_WEB_KEY_VALUE
          • ДОБАВИТЬ [x] kBase Исходный файл
          • ДОБАВИТЬ [x] kDescr Файл из описания
          • ДОБАВИТЬ  kDefault Иконка по умолчанию

  • Вызываемые модули
    • ПЕРЕИМЕНОВАТЬ Добавление версии заказа => Редактирование заказа

  • Основные справочники
    •  ДОБАВИТЬ Поставщики
      • ДОБАВИТЬ Тип PROVIDER_KIND_KEY
        • ДОБАВИТЬ [x] kDefault По умолчанию
      • ДОБАВИТЬ Состояние PROVIDER_STATE_KEY
        • ДОБАВИТЬ [x] kDefault По умолчанию
    • Характеристики
      • Наименование
        • Содержание
          • ДОБАВИТЬ [x] kText Текст

  • Каталог и товары
    • Товары
      • ПЕРЕИМЕНОВАТЬ Связь с товарами => Привязка
        • ДОБАВИТЬ Объект STORE_SET_OBJ_KEY
          • ДОБАВИТЬ [x] kGoods К товару
          • ДОБАВИТЬ [x] kTopic К разделу

  • Покупатели и заказы
    • Заказы
      • Опции заказов
        • Значение опции
          • УДАЛИТЬ Тип уведомления

  • Вызываемые модули
    • Заказы
      • УДАЛИТЬ Добавление заказа

  • Настройки редакторов
    • HTML-редактор
      • Настройки
        • ДОБАВИТЬ [x] kPostProcess  editor.find('span.Apple-tab-span').replaceWith(' ');

11. Переименование таблиц
  • Закрыть все окна и выйти из программы.
  • Выполнить SQL-команды через phpmyadmin: 
    
    ALTER TABLE {DBNICK}_user_shop RENAME {DBNICK}_user; 
    ALTER TABLE {DBNICK}_alt_topic RENAME {DBNICK}_topic_alt;
    ALTER TABLE {DBNICK}_filter_topic RENAME {DBNICK}_topic_filter;
    ALTER TABLE {DBNICK}_scripts_version RENAME {DBNICK}_user_file_version;
    ALTER TABLE {DBNICK}_smart_filter RENAME {DBNICK}_user_filter;
    ALTER TABLE {DBNICK}_sched_task RENAME {DBNICK}_user_task;
    ALTER TABLE {DBNICK}_sched_note RENAME {DBNICK}_user_task_note;
    ALTER TABLE {DBNICK}_key_set RENAME {DBNICK}_key;
    ALTER TABLE {DBNICK}_user_key RENAME {DBNICK}_self_key;
    ALTER TABLE {DBNICK}_user_key_value RENAME {DBNICK}_self_key_value;
    ALTER TABLE {DBNICK}_user_key_right RENAME {DBNICK}_self_key_right;
    ALTER TABLE {DBNICK}_operation RENAME {DBNICK}_oper;
    ALTER TABLE {DBNICK}_in_work RENAME {DBNICK}_oper_block;
    ALTER TABLE {DBNICK}_user_generator RENAME {DBNICK}_generator_u;
    ALTER TABLE {DBNICK}_client_field RENAME {DBNICK}_field;
    ALTER TABLE {DBNICK}_client_field_set RENAME {DBNICK}_field_value;
    ALTER TABLE {DBNICK}_client_field_value RENAME {DBNICK}_client_field;
    ALTER TABLE {DBNICK}_files_client_field RENAME {DBNICK}_files_field;
    ALTER TABLE {DBNICK}_order_version RENAME {DBNICK}_orders_version;
    ALTER TABLE {DBNICK}_order_client_field RENAME {DBNICK}_orders_client_field;
    ALTER TABLE {DBNICK}_order_store RENAME {DBNICK}_orders_store;
    ALTER TABLE {DBNICK}_order_store_option RENAME {DBNICK}_orders_store_option;
    ALTER TABLE {DBNICK}_order_option_set RENAME {DBNICK}_orders_option;
    ALTER TABLE {DBNICK}_store_option RENAME {DBNICK}_order_store_option;
    ALTER TABLE {DBNICK}_store_option_value RENAME {DBNICK}_order_store_option_value;
    ALTER TABLE {DBNICK}_store_option_right RENAME {DBNICK}_order_store_option_right;
    ALTER TABLE {DBNICK}_store_option_block RENAME {DBNICK}_order_store_option_block;
    ALTER TABLE {DBNICK}_order_right RENAME {DBNICK}_order_option_right;
    ALTER TABLE {DBNICK}_order_opt_right RENAME {DBNICK}_order_right;
    ALTER TABLE {DBNICK}_inside RENAME {DBNICK}_web_inside;
    ALTER TABLE {DBNICK}_inside_right RENAME {DBNICK}_web_inside_right;
    ALTER TABLE {DBNICK}_outside RENAME {DBNICK}_web_outside;
    ALTER TABLE {DBNICK}_outside_right RENAME {DBNICK}_web_outside_right;
    ALTER TABLE {DBNICK}_tmp_user_key RENAME {DBNICK}_tmp_self_key;
    ALTER TABLE {DBNICK}_tmp_order_option_value RENAME {DBNICK}_tmp_order_right;
    DROP TABLE {DBNICK}_tmp_order_option;
    
    UPDATE {DBNICK}_generator SET table_name = 'user' WHERE table_name = 'user_shop';
    UPDATE {DBNICK}_generator SET table_name = 'user_filter' WHERE table_name = 'smart_filter';
    UPDATE {DBNICK}_generator SET table_name = 'key' WHERE table_name = 'key_set';
    UPDATE {DBNICK}_generator SET table_name = 'self_key' WHERE table_name = 'user_key';
    UPDATE {DBNICK}_generator SET table_name = 'self_key_value' WHERE table_name = 'user_key_value';
    UPDATE {DBNICK}_generator SET table_name = 'self_key_right' WHERE table_name = 'user_key_right';
    UPDATE {DBNICK}_generator SET table_name = 'oper' WHERE table_name = 'operation';
    UPDATE {DBNICK}_generator SET table_name = 'field' WHERE table_name = 'client_field';
    UPDATE {DBNICK}_generator SET table_name = 'field_value' WHERE table_name = 'client_field_set';
    UPDATE {DBNICK}_generator SET table_name = 'client_field' WHERE table_name = 'client_field_value';
    UPDATE {DBNICK}_generator SET table_name = 'orders_version' WHERE table_name = 'order_version';
    UPDATE {DBNICK}_generator SET table_name = 'order_store_option' WHERE table_name = 'store_option';
    UPDATE {DBNICK}_generator SET table_name = 'order_store_option_value' WHERE table_name = 'store_option_value';
    UPDATE {DBNICK}_generator SET table_name = 'order_store_option_right' WHERE table_name = 'store_option_right';
    UPDATE {DBNICK}_generator SET table_name = 'order_store_option_block' WHERE table_name = 'store_option_block';
    UPDATE {DBNICK}_generator SET table_name = 'web_inside' WHERE table_name = 'inside';
    UPDATE {DBNICK}_generator SET table_name = 'web_inside_right' WHERE table_name = 'inside_right';
    UPDATE {DBNICK}_generator SET table_name = 'web_outside' WHERE table_name = 'outside';
    UPDATE {DBNICK}_generator SET table_name = 'web_outside_right' WHERE table_name = 'outside_right';
    UPDATE {DBNICK}_generator SET table_name = 'files_field' WHERE table_name = 'files_client_field';
    UPDATE {DBNICK}_generator SET table_name = 'topic_alt' WHERE table_name = 'alt_topic';
    UPDATE {DBNICK}_generator SET table_name = 'topic_filter' WHERE table_name = 'filter_topic';
    UPDATE {DBNICK}_generator SET table_name = 'order_option_right' WHERE table_name = 'order_right';
    UPDATE {DBNICK}_generator SET table_name = 'order_right' WHERE table_name = 'order_opt_right';
     
    ALTER TABLE {DBNICK}_self_key_right CHANGE user_key_id key_id INT UNSIGNED DEFAULT NULL;
    ALTER TABLE {DBNICK}_self_key_value CHANGE user_key_id key_id INT UNSIGNED DEFAULT NULL;
    ALTER TABLE {DBNICK}_self_key_right DROP KEY user_key_id, ADD KEY key_id (key_id);
    ALTER TABLE {DBNICK}_self_key_value DROP KEY user_key_id, ADD KEY key_id (key_id);
    ALTER TABLE {DBNICK}_key_value CHANGE key_set_code key_code CHAR(100) DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_key_value DROP KEY key_set_code, ADD KEY key_code (key_code(10));
    
    ALTER TABLE {DBNICK}_user_log CHANGE comm_opt options TEXT DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_user_log CHANGE comm_str vars TEXT DEFAULT '' NOT NULL;
    
    ALTER TABLE {DBNICK}_client_field CHANGE content value_txt MEDIUMTEXT DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_client_field ADD value_id  INT UNSIGNED DEFAULT NULL AFTER field_id;
    
    ALTER TABLE {DBNICK}_field ADD fixed_set TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER parent_id;
    
    ALTER TABLE {DBNICK}_order_store_option_value CHANGE value_sum modify_sum DECIMAL(10,4) UNSIGNED DEFAULT '0' NOT NULL;
    
    ALTER TABLE {DBNICK}_orders_client_field CHANGE skey field_skey CHAR(32) DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_orders_client_field CHANGE name field_name CHAR(255) DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_orders_client_field CHANGE tindex field_tindex INT UNSIGNED DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_client_field CHANGE tlevel field_tlevel INT UNSIGNED DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_client_field CHANGE absindex field_absindex INT UNSIGNED DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_client_field CHANGE folder field_folder TINYINT UNSIGNED DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_client_field CHANGE kind_key field_kind_key CHAR(100) DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_orders_client_field CHANGE spec_key field_spec_key CHAR(100) DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_orders_client_field CHANGE content value_txt MEDIUMTEXT DEFAULT '' NOT NULL;
    
    ALTER TABLE {DBNICK}_orders_client_field ADD value_id INT UNSIGNED DEFAULT NULL AFTER field_spec_key;
    ALTER TABLE {DBNICK}_orders_client_field ADD value_skey CHAR(32) DEFAULT '' NOT NULL AFTER value_id;
    ALTER TABLE {DBNICK}_orders_client_field ADD value_code CHAR(255) DEFAULT '' NOT NULL AFTER value_skey;
    ALTER TABLE {DBNICK}_orders_client_field ADD value_kind_key CHAR(100) DEFAULT '' NOT NULL AFTER value_code;
    
    ALTER TABLE {DBNICK}_orders_store CHANGE provider_id store_provider_id INT UNSIGNED DEFAULT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE brand_id store_brand_id INT UNSIGNED DEFAULT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE pprice store_pprice DECIMAL(10,2) UNSIGNED DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE rprice store_rprice DECIMAL(10,2) UNSIGNED DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE price store_price DECIMAL(10,2) UNSIGNED DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE price2 store_price2 DECIMAL(10,2) UNSIGNED DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE price3 store_price3 DECIMAL(10,2) UNSIGNED DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE how store_how INT UNSIGNED DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE code_shop store_code_shop CHAR(255) DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE code_prov store_code_prov CHAR(255) DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE code_made store_code_made CHAR(255) DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE meas store_meas CHAR(32) DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE name store_name TEXT DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE kind_key store_kind_key CHAR(100) DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE status_key store_status_key CHAR(100) DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE state_key store_state_key CHAR(100) DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE min_order store_min_order INT UNSIGNED DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE step_order store_step_order INT UNSIGNED DEFAULT '0' NOT NULL;
    
    ALTER TABLE {DBNICK}_orders_store CHANGE how_count amount INT DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE notice notice MEDIUMTEXT DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE auto_notice auto_notice MEDIUMTEXT DEFAULT '' NOT NULL;
    
    ALTER TABLE {DBNICK}_orders_store_option CHANGE skey value_skey CHAR(32) DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store_option CHANGE name value_name CHAR(255) DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store_option CHANGE modify_sum value_modify_sum DECIMAL(10,4) UNSIGNED DEFAULT '0' NOT NULL;
    
    ALTER TABLE {DBNICK}_orders_option CHANGE skey value_skey CHAR(32) DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_orders_option CHANGE name value_name CHAR(255) DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_orders_option CHANGE kind_key value_kind_key CHAR(100) DEFAULT '' NOT NULL;
    ALTER TABLE {DBNICK}_orders_option CHANGE modify_sum value_modify_sum DECIMAL(10,4) UNSIGNED DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_option CHANGE oper_num value_oper_num TINYINT UNSIGNED DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_option CHANGE source_num value_source_num TINYINT UNSIGNED DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_option CHANGE notice notice MEDIUMTEXT DEFAULT '' NOT NULL;
    
    ALTER TABLE {DBNICK}_param_value CHANGE value_sum set_sum DECIMAL(10,2) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_store_param CHANGE value_sum value_set_sum DECIMAL(10,2) DEFAULT '0' NOT NULL;
    
    
    UPDATE {DBNICK}_key SET code = 'TOPIC_ALT_KIND_KEY' WHERE code = 'ALT_TOPIC_KIND_KEY';
    UPDATE {DBNICK}_key_value SET key_code = 'TOPIC_ALT_KIND_KEY' WHERE key_code = 'ALT_TOPIC_KIND_KEY';
    UPDATE {DBNICK}_key SET code = 'TOPIC_FILTER_KIND_KEY' WHERE code = 'FILTER_TOPIC_KIND_KEY';
    UPDATE {DBNICK}_key_value SET key_code = 'TOPIC_FILTER_KIND_KEY' WHERE key_code = 'FILTER_TOPIC_KIND_KEY';
    UPDATE {DBNICK}_key SET code = 'TASK_KIND_KEY' WHERE code = 'SCHED_KIND_KEY';
    UPDATE {DBNICK}_key_value SET key_code = 'TASK_KIND_KEY' WHERE key_code = 'SCHED_KIND_KEY';
    UPDATE {DBNICK}_key SET code = 'TASK_STATE_KEY' WHERE code = 'SCHED_STATE_KEY';
    UPDATE {DBNICK}_key_value SET key_code = 'TASK_STATE_KEY' WHERE key_code = 'SCHED_STATE_KEY';
    UPDATE {DBNICK}_key SET code = 'FIELD_KIND_KEY' WHERE code = 'CLIENT_FIELD_KIND_KEY';
    UPDATE {DBNICK}_key_value SET key_code = 'FIELD_KIND_KEY' WHERE key_code = 'CLIENT_FIELD_KIND_KEY';
    UPDATE {DBNICK}_key SET code = 'FIELD_SPEC_KEY' WHERE code = 'CLIENT_FIELD_SPEC_KEY';
    UPDATE {DBNICK}_key_value SET key_code = 'FIELD_SPEC_KEY' WHERE key_code = 'CLIENT_FIELD_SPEC_KEY';
    UPDATE {DBNICK}_key SET code = 'FIELD_VALUE_KIND_KEY' WHERE code = 'CLIENT_FIELD_SET_KIND_KEY';
    UPDATE {DBNICK}_key_value SET key_code = 'FIELD_VALUE_KIND_KEY' WHERE key_code = 'CLIENT_FIELD_SET_KIND_KEY';
    UPDATE {DBNICK}_key SET code = 'ORDER_STORE_OPTION_KIND_KEY' WHERE code = 'STORE_OPTION_KIND_KEY';
    UPDATE {DBNICK}_key_value SET key_code = 'ORDER_STORE_OPTION_KIND_KEY' WHERE key_code = 'STORE_OPTION_KIND_KEY';
    
    
    UPDATE {DBNICK}_oper_table SET server_table = 'user', local_table = 'users'  WHERE server_table = 'user_shop' AND local_table = 'user_shop';
    UPDATE {DBNICK}_oper_table SET server_table = 'user', local_table = 'cut_user'  WHERE server_table = 'user_shop' AND local_table = 'cut_user_shop';
    UPDATE {DBNICK}_oper_table SET server_table = 'topic_alt', local_table = 'topic_alt'  WHERE server_table = 'alt_topic' AND local_table = 'alt_topic';
    UPDATE {DBNICK}_oper_table SET server_table = 'topic_filter', local_table = 'topic_filter'  WHERE server_table = 'filter_topic' AND local_table = 'filter_topic';
    UPDATE {DBNICK}_oper_table SET server_table = 'user_filter', local_table = 'user_filter'  WHERE server_table = 'smart_filter' AND local_table = 'smart_filter';
    UPDATE {DBNICK}_oper_table SET server_table = 'user_filter', local_table = 'cut_user_filter'  WHERE server_table = 'smart_filter' AND local_table = 'cut_smart_filter';
    UPDATE {DBNICK}_oper_table SET server_table = 'key', local_table = 'keys'  WHERE server_table = 'key_set' AND local_table = 'key_set';
    UPDATE {DBNICK}_oper_table SET server_table = 'self_key', local_table = 'self_key'  WHERE server_table = 'user_key' AND local_table = 'user_key';
    UPDATE {DBNICK}_oper_table SET server_table = 'self_key_value', local_table = 'self_key_value'  WHERE server_table = 'user_key_value' AND local_table = 'user_key_value';
    UPDATE {DBNICK}_oper_table SET server_table = 'self_key_right', local_table = 'self_key_right'  WHERE server_table = 'user_key_right' AND local_table = 'user_key_right';
    UPDATE {DBNICK}_oper_table SET server_table = 'FUNC:GetSelfKey', local_table = 'cut_self_key'  WHERE server_table = 'FUNC:GetUserKey' AND local_table = 'cut_user_key';
    UPDATE {DBNICK}_oper_table SET server_table = 'self_key_right', local_table = 'cut_self_key_right'  WHERE server_table = 'user_key_right' AND local_table = 'cut_user_key_right';
    UPDATE {DBNICK}_oper_table SET server_table = 'FUNC:GetSelfKeyValue', local_table = 'cut_self_key_value'  WHERE server_table = 'FUNC:GetUserKeyValue' AND local_table = 'cut_user_key_value';
    UPDATE {DBNICK}_oper_table SET server_table = 'self_key_value', local_table = 'cut_self_key_value'  WHERE server_table = 'user_key_value' AND local_table = 'cut_user_key_value';
    UPDATE {DBNICK}_oper_table SET server_table = 'oper', local_table = 'oper'  WHERE server_table = 'operation' AND local_table = 'operation';
    UPDATE {DBNICK}_oper_table SET server_table = 'oper', local_table = 'cut_oper'  WHERE server_table = 'operation' AND local_table = 'cut_operation';
    UPDATE {DBNICK}_oper_table SET server_table = 'field', local_table = 'field'  WHERE server_table = 'client_field' AND local_table = 'client_field';
    UPDATE {DBNICK}_oper_table SET server_table = 'field_value', local_table = 'field_value'  WHERE server_table = 'client_field_set' AND local_table = 'client_field_set';
    UPDATE {DBNICK}_oper_table SET server_table = 'FUNC:GetClientField', local_table = 'client_field'  WHERE server_table = 'FUNC:GetClientFieldValue' AND local_table = 'client_field_value';
    UPDATE {DBNICK}_oper_table SET server_table = 'files_field', local_table = 'files_field'  WHERE server_table = 'files_client_field' AND local_table = 'files_client_field';
    UPDATE {DBNICK}_oper_table SET server_table = 'files_field', local_table = 'd_files_field'  WHERE server_table = 'files_client_field' AND local_table = 'd_files_client_field';
    UPDATE {DBNICK}_oper_table SET server_table = 'field', local_table = 'cut_field'  WHERE server_table = 'client_field' AND local_table = 'cut_client_field';
    UPDATE {DBNICK}_oper_table SET server_table = 'field_value', local_table = 'cut_field_value'  WHERE server_table = 'client_field_set' AND local_table = 'cut_client_field_set';
    UPDATE {DBNICK}_oper_table SET server_table = 'FUNC:GetOrdersVersion', local_table = 'orders_version'  WHERE server_table = 'FUNC:GetOrdersVersion' AND local_table = 'order_version';
    UPDATE {DBNICK}_oper_table SET server_table = 'FUNC:GetPartOrdersVersion', local_table = 'part_orders_version'  WHERE server_table = 'FUNC:GetPartOrdersVersion' AND local_table = 'part_order_version';
    UPDATE {DBNICK}_oper_table SET server_table = 'FUNC:GetOrdersClientField', local_table = 'orders_client_field'  WHERE server_table = 'FUNC:GetOrdersClientField' AND local_table = 'order_client_field';
    UPDATE {DBNICK}_oper_table SET server_table = 'FUNC:GetPartOrdersClientField', local_table = 'part_orders_client_field'  WHERE server_table = 'FUNC:GetPartOrdersClientField' AND local_table = 'part_order_client_field';
    UPDATE {DBNICK}_oper_table SET server_table = 'FUNC:GetOrdersStore', local_table = 'orders_store'  WHERE server_table = 'FUNC:GetOrdersStore' AND local_table = 'order_store';
    UPDATE {DBNICK}_oper_table SET server_table = 'FUNC:GetPartOrdersStore', local_table = 'part_orders_store'  WHERE server_table = 'FUNC:GetPartOrdersStore' AND local_table = 'part_order_store';
    UPDATE {DBNICK}_oper_table SET server_table = 'FUNC:GetOrdersStoreOption', local_table = 'orders_store_option'  WHERE server_table = 'FUNC:GetOrdersStoreOption' AND local_table = 'order_store_option';
    UPDATE {DBNICK}_oper_table SET server_table = 'FUNC:GetPartOrdersStoreOption', local_table = 'part_orders_store_option'  WHERE server_table = 'FUNC:GetPartOrdersStoreOption' AND local_table = 'part_order_store_option';
    UPDATE {DBNICK}_oper_table SET server_table = 'FUNC:GetOrdersOption', local_table = 'orders_option'  WHERE server_table = 'FUNC:GetOrdersOptionSet' AND local_table = 'order_option_set';
    UPDATE {DBNICK}_oper_table SET server_table = 'FUNC:GetPartOrdersOption', local_table = 'part_orders_option'  WHERE server_table = 'FUNC:GetPartOrdersOptionSet' AND local_table = 'part_order_option_set';
    UPDATE {DBNICK}_oper_table SET server_table = 'order_store_option', local_table = 'order_store_option'  WHERE server_table = 'store_option' AND local_table = 'store_option';
    UPDATE {DBNICK}_oper_table SET server_table = 'order_store_option_value', local_table = 'order_store_option_value'  WHERE server_table = 'store_option_value' AND local_table = 'store_option_value';
    UPDATE {DBNICK}_oper_table SET server_table = 'order_store_option_right', local_table = 'order_store_option_right'  WHERE server_table = 'store_option_right' AND local_table = 'store_option_right';
    UPDATE {DBNICK}_oper_table SET server_table = 'order_store_option_block', local_table = 'order_store_option_block'  WHERE server_table = 'store_option_block' AND local_table = 'store_option_block';
    UPDATE {DBNICK}_oper_table SET server_table = 'order_store_option', local_table = 'cut_order_store_option'  WHERE server_table = 'store_option' AND local_table = 'cut_store_option';
    UPDATE {DBNICK}_oper_table SET server_table = 'order_store_option_value', local_table = 'cut_order_store_option_value'  WHERE server_table = 'store_option_value' AND local_table = 'cut_store_option_value';
    UPDATE {DBNICK}_oper_table SET server_table = 'order_store_option_right', local_table = 'cut_order_store_option_right'  WHERE server_table = 'store_option_right' AND local_table = 'cut_store_option_right';
    UPDATE {DBNICK}_oper_table SET server_table = 'order_store_option_block', local_table = 'cut_order_store_option_block'  WHERE server_table = 'store_option_block' AND local_table = 'cut_store_option_block';
    UPDATE {DBNICK}_oper_table SET server_table = 'order_option_right', local_table = 'order_option_right'  WHERE server_table = 'order_right' AND local_table = 'order_right';
    UPDATE {DBNICK}_oper_table SET server_table = 'order_option_right', local_table = 'cut_order_option_right'  WHERE server_table = 'order_right' AND local_table = 'cut_order_right';
    UPDATE {DBNICK}_oper_table SET server_table = 'order_right', local_table = 'order_right'  WHERE server_table = 'order_opt_right' AND local_table = 'order_opt_right';
    UPDATE {DBNICK}_oper_table SET server_table = 'web_inside', local_table = 'web_inside'  WHERE server_table = 'inside' AND local_table = 'inside';
    UPDATE {DBNICK}_oper_table SET server_table = 'web_inside_right', local_table = 'web_inside_right'  WHERE server_table = 'inside_right' AND local_table = 'inside_right';
    UPDATE {DBNICK}_oper_table SET server_table = 'web_inside', local_table = 'cut_web_inside'  WHERE server_table = 'inside' AND local_table = 'cut_inside';
    UPDATE {DBNICK}_oper_table SET server_table = 'web_inside_right', local_table = 'cut_web_inside_right'  WHERE server_table = 'inside_right' AND local_table = 'cut_inside_right';
    UPDATE {DBNICK}_oper_table SET server_table = 'web_outside', local_table = 'web_outside'  WHERE server_table = 'outside' AND local_table = 'outside';
    UPDATE {DBNICK}_oper_table SET server_table = 'web_outside_right', local_table = 'web_outside_right'  WHERE server_table = 'outside_right' AND local_table = 'outside_right';
    UPDATE {DBNICK}_oper_table SET server_table = 'web_outside', local_table = 'cut_web_outside'  WHERE server_table = 'outside' AND local_table = 'cut_outside';
    UPDATE {DBNICK}_oper_table SET server_table = 'web_outside_right', local_table = 'cut_web_outside_right'  WHERE server_table = 'outside_right' AND local_table = 'cut_outside_right';
    
    ALTER TABLE {DBNICK}_currency CHANGE multiplex multiplex DECIMAL(10,4) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_disc_rate CHANGE from_sum from_sum DECIMAL(10,2) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_disc_rate CHANGE disc_proc disc_proc DECIMAL(10,4) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_store CHANGE how how INT DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_store CHANGE pprice pprice DECIMAL(10,2) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_store CHANGE rprice rprice DECIMAL(10,2) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_store CHANGE price price DECIMAL(10,2) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_store CHANGE price2 price2 DECIMAL(10,2) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_store CHANGE price3 price3 DECIMAL(10,2) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_store CHANGE relate_proc relate_proc DECIMAL(10,2) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_store CHANGE proc_price2 proc_price2 DECIMAL(10,2) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_store CHANGE proc_price3 proc_price3 DECIMAL(10,2) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_store CHANGE min_order min_order INT DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_store CHANGE step_order step_order INT DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_store CHANGE award_cnt award_cnt INT DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_store CHANGE award_avg award_avg DECIMAL(10,4) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_store_comment CHANGE pro_cnt pro_cnt INT DEFAULT '0' NOT NULL; 
    ALTER TABLE {DBNICK}_store_comment CHANGE contra_cnt contra_cnt INT DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_u_store CHANGE price price DECIMAL(10,2) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_client CHANGE discount discount DECIMAL(10,4) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_client CHANGE order_sum order_sum DECIMAL(10,2) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_client_group CHANGE discount discount DECIMAL(10,4) DEFAULT '0' NOT NULL; 
    ALTER TABLE {DBNICK}_client_rules CHANGE order_sum order_sum DECIMAL(10,2) DEFAULT '0' NOT NULL;  
    ALTER TABLE {DBNICK}_client_rules CHANGE set_discount set_discount DECIMAL(10,4) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_order_option_value CHANGE modify_sum modify_sum DECIMAL(10,4) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_order_store_option_value CHANGE modify_sum modify_sum DECIMAL(10,4) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE store_pprice store_pprice DECIMAL(10,2) DEFAULT '0' NOT NULL; 
    ALTER TABLE {DBNICK}_orders_store CHANGE store_rprice store_rprice DECIMAL(10,2) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE store_price store_price DECIMAL(10,2) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE store_price2 store_price2 DECIMAL(10,2) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE store_price3 store_price3 DECIMAL(10,2) DEFAULT '0' NOT NULL;   
    ALTER TABLE {DBNICK}_orders_store CHANGE store_how store_how INT DEFAULT '0' NOT NULL;   
    ALTER TABLE {DBNICK}_orders_store CHANGE store_min_order store_min_order INT DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE store_step_order store_step_order INT DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store CHANGE out_price out_price DECIMAL(10,2) DEFAULT '0' NOT NULL;
    ALTER TABLE {DBNICK}_orders_store_option CHANGE value_modify_sum value_modify_sum DECIMAL(10,4) DEFAULT '0' NOT NULL; 
    ALTER TABLE {DBNICK}_orders_option CHANGE value_modify_sum value_modify_sum DECIMAL(10,4) DEFAULT '0' NOT NULL;
    
    
  • Внести изменения в Ваши скрипты согласно таблиц изменений:
    • Переименованы таблицы:
      Старое имя  Новое имя
      user_shop user
      alt_topic topic_alt 
      filter_topic  topic_filter
      scripts_version user_file_version
      smart_filter user_filter
      sched_task  user_task
      sched_note user_task_note
      key_set key
      user_key self_key
      user_key_value self_key_value
      user_key_right self_key_right
      operation oper
      in_work oper_block
      user_generator generator_u
      client_field field
      client_field_set field_value
      client_field_value client_field
      files_client_field files_field
      order_versionorders_version
      order_client_fieldorders_client_field
      order_storeorders_store
      order_store_optionorders_store_option
      order_option_setorders_option
      store_optionorder_store_option
      store_option_valueorder_store_option_value
      store_option_rightorder_store_option_right
      store_option_blockorder_store_option_block
      order_rightorder_option_right
      order_opt_rightorder_right
      insideweb_inside
      inside_rightweb_inside_right
      outsideweb_outside
      outside_rightweb_outside_right
    • Переименованы и добавлены поля таблиц

      self_key_right, self_key_value
      user_key_id key_id
      key
      key_set_code key_code
      user_log
      comm_opt options
      comm_str vars
      order_store_option_value
      value_summodify_sum
      client_field
      content value_txt 
      value_id
      field
      fixed_set
      orders_client_field
      skey field_skey
      name field_name
      tindex field_tindex
      tlevel field_tlevel
      absindex field_absindex
      folder field_folder
      kind_key field_kind_key
      spec_key field_spec_key
      content value_txt 
      value_id
      value_skey
      value_code
      value_kind_key
      orders_store
      provider_id store_provider_id
      brand_is store_brand_id
      pprice store_pprice
      rprice store_rprice
      price store_price
      price2 store_price2
      price3 store_price3
      how store_how
      code_shop store_code_shop
      code_prov store_code_prov
      code_made store_code_made
      meas store_meas
      name store_name
      kind_key store_kind_key
      status_key store_status_key
      state_key store_state_key
      min_order store_min_order
      step_order store_step_order
      how_count amount
      orders_store_option
      skey value_skey
      name value_name
      modify_sum value_modify_sum
      orders_option
      skey value_skey
      name value_name
      kind_key value_kind_key
      modify_sum value_modify_sum
      oper_num value_oper_num
      source_num value_source_num
      param_value
      value_sumset_sum
      store_param
      value_sumvalue_set_sum
    • Переименованы ключи таблиц key и key_value
      ALT_TOPIC_KIND_KEYTOPIC_ALT_KIND_KEY
      FILTER_TOPIC_KIND_KEYTOPIC_FILTER_KIND_KEY
      SCHED_KIND_KEY TASK_KIND_KEY
      SCHED_STATE_KEY TASK_STATE_KEY
      CLIENT_FIELD_KIND_KEY FIELD_KIND_KEY
      CLIENT_FIELD_SPEC_KEY FIELD_SPEC_KEY
      CLIENT_FIELD_SET_KIND_KEY FIELD_VALUE_KIND_KEY
      STORE_OPTION_KIND_KEY ORDER_STORE_OPTION_KIND_KEY

12. Зайти в "Среда разработки" и внести изменения
  • Добавить новый метод $gSession = $gParser->DefineSession(DB_USER_NAME.'_MELBIS_SHOP'); при необходимости, после конструктора  Parser(MELBIS_INC_system_halt, $gDb) 
  • При необходимости изменить метод: $gSession->Create(DB_USER_NAME.'_MELBIS_SHOP', '.shop.com'); добавив дополнительные параметры где указывается имя домена сессии, время жизни куки и путь. 
  • Изменение параметров конструктора: Parser(MELBIS_INC_system_halt, $gDb, $gSession, $gBuild); Сессию и сборку необходимо убрать здесь.
  • Изменены имена функций модуля MELBIS_INC: MELBIS_INC_system_halt => MELBIS_INC_halt, MELBIS_INC_make_file_path => MELBIS_INC_path
  • Изменения написания параметров методов $gParser->SqlInsert, $gParser->SqlUpdate, $gParser->SqlDelete. Имя таблицы теперь необходимо указывать с приставкой {DBNICK}
  • Изменения параметров методов $gParser->SqlInsert, $gParser->SqlUpdate, $gParser->SqlDelete, теперь допустимо использовать значений типа null.
  • Удалены шаблоны корневых скриптов, теперь необходимо использовать их только как входную точку для вызова парсера необходимого модуля.
  • Переименовать методы $gParser:
    • DefineUserConst => DefineSelfConst, DefineUserVars => DefineSelfVars
    • ParsingLazyModule => ParseLazy, ParsingModuleAsPage => Parse, FetchPage => Fetch, EchoPageTime => Report
  • Новый метод печати страницы с заголовком $gParser->Publish(); 
  • Изменить вызов методов Parse, ParseLazy, добавив новый параметр сборке в конце, например Parse($gSitePath, $gTemplate, 'index.htm', $gUseCache, $gBuild) 
  • Изменение алгоритма сохранения заказа. Упразднена функция создания заказа (теперь это делается при необходимости в сохранении самой версии). Также сохранение заказа блокируется в программе, до тех пор пока не будет получет результат без ошибок.

1. Сделать резервные копии скриптов и базы данных (услуга хостинга)

2. Скачать и установить программу

3. Изменить версию программы в config.php

  • ИЗМЕНИТЬ define('SCRIPT_VERSION', '6.1.0'); => define('SCRIPT_VERSION', '6.2.0');
  • ДОБАВИТЬ define('VERSION_CACHE', '1000');

4. Запустить программу и проверить, что никто в данный момент не работает

5. Открыть параметры подключения и указать номер персональной лицензии

6. Обновить скрипты (папка core) и проверить что установлена новая версия PHP 5.5 а также модуль ionCube Encoder

7. Открыть окно Инсталляция и указанть новый серийный номер программы

8. Зайти в Melbis Shop Server SDK и выполнить SQL команды

ALTER TABLE {DBNICK}_operation ADD allow_from  DATETIME DEFAULT '2000-01-01 00:00:00' NOT NULL AFTER command;
ALTER TABLE {DBNICK}_operation ADD allow_to  DATETIME DEFAULT '2000-01-01 00:00:00' NOT NULL AFTER allow_from;
UPDATE {DBNICK}_operation SET allow_from = '2000-01-01 00:00:00';
UPDATE {DBNICK}_operation SET allow_to = '2000-01-01 23:59:59';

ALTER TABLE {DBNICK}_store ADD clann_title CHAR(255) DEFAULT '' NOT NULL AFTER clann;
ALTER TABLE {DBNICK}_store ADD clann_descr MEDIUMTEXT DEFAULT '' NOT NULL AFTER clann_title;
ALTER TABLE {DBNICK}_store ADD clann_root TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER clann_descr;
ALTER TABLE {DBNICK}_u_store ADD clann_title CHAR(255) DEFAULT '' NOT NULL AFTER clann;
ALTER TABLE {DBNICK}_u_store ADD clann_descr MEDIUMTEXT DEFAULT '' NOT NULL AFTER clann_title;
ALTER TABLE {DBNICK}_u_store ADD clann_root TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER clann_descr;

CREATE TABLE {DBNICK}_scripts_version (   
   id  INT UNSIGNED NOT NULL AUTO_INCREMENT,  
   user_id  INT UNSIGNED DEFAULT NULL,
   path  CHAR(255) DEFAULT '' NOT NULL,
   content MEDIUMTEXT DEFAULT '' NOT NULL,
   version  DATETIME DEFAULT '2000-01-01 00:00:00' NOT NULL,
   PRIMARY KEY (id),
   KEY user_id (user_id),
   KEY path (path(50))
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;


CREATE TABLE {DBNICK}_sched_task (   
   id  INT UNSIGNED NOT NULL AUTO_INCREMENT,  
   user_id  INT UNSIGNED DEFAULT NULL,
   exec_id  INT UNSIGNED DEFAULT NULL,
   name  CHAR(255) DEFAULT '' NOT NULL,
   kind_key  CHAR(100) DEFAULT '' NOT NULL,
   state_key  CHAR(100) DEFAULT '' NOT NULL,
   privy  TINYINT UNSIGNED DEFAULT '0' NOT NULL,
   date_time DATETIME DEFAULT '2000-01-01 00:00:00' NOT NULL, 
   PRIMARY KEY (id),
   KEY user_id (user_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;


CREATE TABLE {DBNICK}_sched_note (   
   id  INT UNSIGNED NOT NULL AUTO_INCREMENT,  
   task_id  INT UNSIGNED DEFAULT NULL,   
   user_id  INT UNSIGNED DEFAULT NULL,
   kind_key  CHAR(100) DEFAULT '' NOT NULL,
   state_key  CHAR(100) DEFAULT '' NOT NULL,
   content MEDIUMTEXT DEFAULT '' NOT NULL,
   date_time DATETIME DEFAULT '2000-01-01 00:00:00' NOT NULL, 
   PRIMARY KEY (id),
   KEY task_id (task_id),
   KEY user_id (user_id)
) ENGINE = MYISAM DEFAULT CHARSET=UTF-8;

9. Открыть "Система/Пользователи", закладка "Операции и права доступа" и внести изменения

  • *Универсальные
    • ПЕРЕИМЕНОВАТЬ Разделы => Быстрый доступ
    • ПЕРЕМЕСТИТЬ Быстрый доступ => Структрура -> Разделы

  • Структура
    • Разделы  
      • Быстрый доступ
        • ДОБАВИТЬ Переместить MOVE_FAST_TOPIC
          • ДОБАВИТЬ topic
        • ДОБАВИТЬ Переместить вверх MOVE_UP_FAST_TOPIC
          • ДОБАВИТЬ topic
        • ДОБАВИТЬ Переместить вниз MOVE_DOWN_FAST_TOPIC
          • ДОБАВИТЬ topic

  • *Универсальные
    • Товары
      • ПЕРЕМЕСТИТЬ Создать новый клан => Товары -> Описания -> Персональный раздел
   
  • *Универсальные
    • ПЕРЕИМЕНОВАТЬ Товары => Обозреватель
      • ПЕРЕМЕСТИТЬ Обозреватель => Товары 

УДАЛИТЬ *Универсальные

  • Товары
    • Описания
      • Характеристики
        • ДОБАВИТЬ Переместить MOVE_FAST_INFO
          • ДОБАВИТЬ info
        • ДОБАВИТЬ Переместить вверх MOVE_UP_FAST_INFO
          • ДОБАВИТЬ info
        • ДОБАВИТЬ Переместить вниз MOVE_DOWN_FAST_INFO
          • ДОБАВИТЬ info
   
  • Проектирование
    • Среда разработки
      • Работа с файлами
        • ДОБАВИТЬ Версии файлов
          • ДОБАВИТЬ Получить перечень SCRIPTS_VERSION_LIST
          • ДОБАВИТЬ Получить содержимое SCRIPTS_VERSION_CONTENT
     
  • Бизнес
    • ДОБАВИТЬ Планировщик
      • ДОБАВИТЬ Обновить настройки GET_SCHED_RELATIVE
        • ДОБАВИТЬ key_value cut_key_value *
        • ДОБАВИТЬ files_key_value cut_files_key_value *   
        • ДОБАВИТЬ operation cut_operation *
        • ДОБАВИТЬ oper_right cut_oper_right *
        • ДОБАВИТЬ user_shop cut_user_shop id,group_id,login,name,phone,email,add_group_id,is_provider_id
        • ДОБАВИТЬ user_group cut_user_group *
        • ДОБАВИТЬ inside cut_inside *
        • ДОБАВИТЬ inside_right cut_inside_right *
      • ДОБАВИТЬ Задачи
        • ДОБАВИТЬ Получить GET_SCHED_TASK
        • ДОБАВИТЬ Добавить ADD_SCHED_TASK
      • ДОБАВИТЬ Комментарии
        • ДОБАВИТЬ Получить GET_SCHED_NOTE
        • ДОБАВИТЬ Добавить ADD_SCHED_NOTE

10. Зайти в "Реестр настроек" и внести изменения

  • Настройки редакторов
    • HTML-редактор
      • Файл-стилей ПЕРЕИМЕНОВАТЬ Настройки  FILES_CSS => HTML_OPTION
        • ДОБАВИТЬ kContainer 
   
  • Настройки редакторов
    • HTML-редактор 
      • ДОБАВИТЬ Теги HTML_TAG
        • ДОБАВИТЬ [x] p "<P> Параграф"
        • ДОБАВИТЬ [x] span "<SPAN> Фрагмент"
        • ДОБАВИТЬ [x] div "<DIV> Раздел"
        • ДОБАВИТЬ [x] a "<A> Ссылка, якорь"
        • ДОБАВИТЬ [x] h1 "<H1> Заголовок 1"
        • ДОБАВИТЬ [x] h2 "<H2> Заголовок 2"
        • ДОБАВИТЬ [x] h3 "<H3> Заголовок 3"
        • ДОБАВИТЬ [x] h4 "<H4> Заголовок 4"
        • ДОБАВИТЬ [x] h5 "<H5> Заголовок 5"
        • ДОБАВИТЬ [x] h6 "<H6> Заголовок 6"
      • ДОБАВИТЬ Классы HTML_CLASS
      • ДОБАВИТЬ Шаблоны HTML_TEMPLATE
        • ДОБАВИТЬ Таблица => <table border="1" width="100%" cellpadding="2" cellspacing="2"><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>

  • Компоненты
    • ДОБАВИТЬ Планировщик
      • ДОБАВИТЬ Тип SCHED_KIND_KEY
        • ДОБАВИТЬ [x] kDefault По умолчанию
        • ДОБАВИТЬ [x] kUrgent Срочно
        • ДОБАВИТЬ [x] kWish Желательно
        • ДОБАВИТЬ kPriority1 Приоритет №1
        • ДОБАВИТЬ kPriority2 Приоритет №2
        • ДОБАВИТЬ kPriority3 Приоритет №3
      • ДОБАВИТЬ Статус SCHED_STATE_KEY
        • ДОБАВИТЬ [x] kNew Новое
        • ДОБАВИТЬ [x] kAccept Принято
        • ДОБАВИТЬ [x] kHold Отложено
        • ДОБАВИТЬ [x] kDone Выполнено
        • ДОБАВИТЬ [x] kStop Остановлено
        • ДОБАВИТЬ [x] kTrans Перепоручено
        • ДОБАВИТЬ [x] kExplain Требует уточнения
        • ДОБАВИТЬ [x] kComment Комментарий
        • ДОБАВИТЬ [x] kClose Закрыто

  1. Перейти на раздел Настройки редакторов
  2. Нажать на кнопку "Установить/сбросить признак группы"
  3. Добавить новую опцию 'kAttach', 'Дополнительный файл'
  4. Нажать на кнопку "Установить/сбросить признак группы"

() Back up scripts and database (hosting service)
===================================================================

() Run the program and check that no one is currently working
=========================================================================

() Download and install the program
=================================

() Prepare the local database
====================================
Open the store registry, see where the local store is,
go to the store folder and delete the file DATABASE.FDB

() Update scripts (core folder)
================================

() Change program version in config.php
=========================================
[CHANGE] define('SCRIPT_VERSION', '6.0.4'); => define('SCRIPT_VERSION', '6.1.0');

() Launch the store
====================