1
Changeset 264 – MultiMag

Changeset 264


Ignore:
Timestamp:
Sep 25, 2011, 7:36:23 PM (6 years ago)
Author:
blacklight
Message:
  • Возможность отключения контроля остатков для заданных складов - #210
Location:
trunk
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/db_struct.sql

    r260 r264  
    1 -- phpMyAdmin SQL Dump
    2 -- version 3.3.7
    3 -- http://www.phpmyadmin.net
    4 --
    5 -- Хост: localhost
    6 -- Время создания: Май 06 2011 г., 13:44
    7 -- Версия сервера: 5.1.49
    8 -- Версия PHP: 5.3.3-7
    9 
    10 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    11 
    12 
    13 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    14 /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    15 /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    16 /*!40101 SET NAMES utf8 */;
    17 
    18 --
    19 -- База данных: `dev`
    20 --
    21 
    22 -- --------------------------------------------------------
    23 
    24 --
    25 -- Структура таблицы `comments`
    26 --
    27 
    28 CREATE TABLE IF NOT EXISTS `comments` (
    29   `id` int(11) NOT NULL AUTO_INCREMENT,
    30   `date` datetime NOT NULL,
    31   `object_name` varchar(16) NOT NULL COMMENT 'Имя(тип) объекта комментирования',
    32   `object_id` int(11) NOT NULL COMMENT 'ID объекта комментирования',
    33   `autor_name` varchar(16) NOT NULL COMMENT 'Имя автора (анонимного)',
    34   `autor_email` varchar(32) NOT NULL COMMENT 'Электронная почта анонимного автора',
    35   `autor_id` int(11) NOT NULL COMMENT 'UID автора',
    36   `text` text NOT NULL COMMENT 'Текст коментария',
    37   `rate` tinyint(4) NOT NULL COMMENT 'Оценка объекта (0-5)',
    38   `ip` varchar(16) NOT NULL,
    39   `user_agent` varchar(128) NOT NULL,
    40   `response` varchar(512) NOT NULL COMMENT 'Ответ администрации',
    41   `responser` int(11) NOT NULL COMMENT 'Автор ответа',
    42   PRIMARY KEY (`id`),
    43   KEY `object_name` (`object_name`),
    44   KEY `object_id` (`object_id`),
    45   KEY `rate` (`rate`),
    46   KEY `date` (`date`)
    47 ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='Коментарии к товарам, новостям, статьям и пр.';
    48 
    49 
    50 -- --------------------------------------------------------
    51 
    52 --
    53 -- Структура таблицы `counter`
    54 --
    55 
    56 CREATE TABLE IF NOT EXISTS `counter` (
    57   `id` int(11) NOT NULL AUTO_INCREMENT,
    58   `date` bigint(20) NOT NULL DEFAULT '0',
    59   `ip` varchar(32) NOT NULL DEFAULT '',
    60   `agent` varchar(128) NOT NULL DEFAULT '',
    61   `refer` varchar(128) NOT NULL,
    62   `file` varchar(32) NOT NULL DEFAULT '',
    63   `query` varchar(128) NOT NULL DEFAULT '',
    64   UNIQUE KEY `id` (`id`),
    65   KEY `time` (`date`),
    66   KEY `ip` (`ip`),
    67   KEY `agent` (`agent`),
    68   KEY `refer` (`refer`),
    69   KEY `file` (`file`)
    70 ) ENGINE=MyISAM  DEFAULT CHARSET=latin1;
    71 
    72 --
    73 -- Дамп данных таблицы `counter`
    74 --
    75 
    76 
    77 -- --------------------------------------------------------
    78 
    79 --
    80 -- Структура таблицы `currency`
    81 --
    82 
    83 CREATE TABLE IF NOT EXISTS `currency` (
    84   `id` int(11) NOT NULL AUTO_INCREMENT,
    85   `name` varchar(8) NOT NULL,
    86   `coeff` decimal(8,4) NOT NULL,
    87   UNIQUE KEY `id` (`id`),
    88   UNIQUE KEY `name` (`name`)
    89 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    90 
    91 --
    92 -- Дамп данных таблицы `currency`
    93 --
    94 
    95 
    96 -- --------------------------------------------------------
    97 
    98 --
    99 -- Структура таблицы `doc_agent`
    100 --
    101 
    102 CREATE TABLE IF NOT EXISTS `doc_agent` (
    103   `id` int(11) NOT NULL AUTO_INCREMENT,
    104   `group` int(11) NOT NULL,
    105   `name` varchar(128) NOT NULL,
    106   `fullname` varchar(256) NOT NULL,
    107   `tel` varchar(64) NOT NULL,
    108   `adres` varchar(512) NOT NULL,
    109   `gruzopol` varchar(512) NOT NULL,
    110   `inn` varchar(24) NOT NULL,
    111   `dir_fio` varchar(128) NOT NULL,
    112   `dir_fio_r` varchar(128) NOT NULL,
    113   `pfio` varchar(128) NOT NULL,
    114   `pdol` varchar(128) NOT NULL,
    115   `okevd` varchar(8) NOT NULL,
    116   `okpo` varchar(16) NOT NULL,
    117   `rs` varchar(32) NOT NULL,
    118   `bank` varchar(64) NOT NULL,
    119   `ks` varchar(32) NOT NULL,
    120   `bik` int(11) NOT NULL,
    121   `email` varchar(64) NOT NULL,
    122   `type` tinyint(4) NOT NULL DEFAULT '1',
    123   `pasp_num` varchar(12) NOT NULL,
    124   `pasp_date` date NOT NULL,
    125   `pasp_kem` varchar(64) NOT NULL,
    126   `comment` text NOT NULL,
    127   `no_mail` tinyint(4) NOT NULL,
    128   `responsible` int(11) NOT NULL,
    129   `data_sverki` date NOT NULL,
    130   `dishonest` tinyint(4) NOT NULL COMMENT 'Недобросовестный',
    131   UNIQUE KEY `id` (`id`),
    132   UNIQUE KEY `uniq_name` (`group`,`name`),
    133   KEY `name` (`name`),
    134   KEY `fullname` (`fullname`(255)),
    135   KEY `tel` (`tel`),
    136   KEY `inn` (`inn`),
    137   KEY `type` (`type`),
    138   KEY `pasp_num` (`pasp_num`,`pasp_date`,`pasp_kem`),
    139   KEY `group` (`group`)
    140 ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='pcomment - printable comment' AUTO_INCREMENT=3 ;
    141 
    142 --
    143 -- Дамп данных таблицы `doc_agent`
    144 --
    145 
    146 INSERT INTO `doc_agent` (`id`, `group`, `name`, `fullname`, `tel`, `adres`, `gruzopol`, `inn`, `dir_fio`, `dir_fio_r`, `pfio`, `pdol`, `okevd`, `okpo`, `rs`, `bank`, `ks`, `bik`, `email`, `type`, `pasp_num`, `pasp_date`, `pasp_kem`, `comment`, `no_mail`, `responsible`, `data_sverki`, `dishonest`) VALUES
    147 (1, 1, 'ЧЛ', 'Частное Лицо', '+12561126', 'г. Малый, ул. Большая, д.6', 'г. Малый, ул. Зелёная, д.124', '123456', 'Иванов И.И.', 'Иванова Ивана Игоревича', '', '', '52727', '3873838738', '9852183838383873', 'ЗАО Надёжный банк', '383838938389383838', 873838, 'cl@example.com', 1, '22872788937', '1970-01-01', 'УФМС г. Малый', '', 1, 0, '0000-00-00', 0),
    148 (2, 1, 'Ещё Один', 'Ещё Один Агент', '', '', '1564653', '', '', '', '', '', '', 'regre', '', '', '', 0, 'user@example.com', 1, '', '0000-00-00', '', 'dfgreg', 0, 1, '0000-00-00', 0);
    149 
    150 -- --------------------------------------------------------
    151 
    152 --
    153 -- Структура таблицы `doc_agent_dov`
    154 --
    155 
    156 CREATE TABLE IF NOT EXISTS `doc_agent_dov` (
    157   `id` int(11) NOT NULL AUTO_INCREMENT,
    158   `ag_id` int(11) NOT NULL,
    159   `name` varchar(64) NOT NULL,
    160   `name2` varchar(64) NOT NULL,
    161   `surname` varchar(64) NOT NULL,
    162   `range` varchar(64) NOT NULL,
    163   `pasp_ser` varchar(8) NOT NULL,
    164   `pasp_num` varchar(16) NOT NULL,
    165   `pasp_kem` varchar(128) NOT NULL,
    166   `pasp_data` varchar(16) NOT NULL,
    167   `mark_del` bigint(20) NOT NULL,
    168   UNIQUE KEY `id` (`id`),
    169   KEY `ag_id` (`ag_id`),
    170   KEY `name` (`name`),
    171   KEY `name2` (`name2`),
    172   KEY `surname` (`surname`),
    173   KEY `range` (`range`),
    174   KEY `pasp_ser` (`pasp_ser`),
    175   KEY `pasp_num` (`pasp_num`),
    176   KEY `pasp_kem` (`pasp_kem`),
    177   KEY `pasp_data` (`pasp_data`),
    178   KEY `mark_del` (`mark_del`)
    179 ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
    180 
    181 --
    182 -- Дамп данных таблицы `doc_agent_dov`
    183 --
    184 
    185 INSERT INTO `doc_agent_dov` (`id`, `ag_id`, `name`, `name2`, `surname`, `range`, `pasp_ser`, `pasp_num`, `pasp_kem`, `pasp_data`, `mark_del`) VALUES
    186 (1, 1, 'Тест', 'Тестович', 'Тестов', '', '', '', '', '', 0);
    187 
    188 -- --------------------------------------------------------
    189 
    190 --
    191 -- Структура таблицы `doc_agent_group`
    192 --
    193 
    194 CREATE TABLE IF NOT EXISTS `doc_agent_group` (
    195   `id` int(11) NOT NULL AUTO_INCREMENT,
    196   `name` varchar(64) NOT NULL,
    197   `pid` int(11) NOT NULL,
    198   `desc` varchar(128) NOT NULL,
    199   UNIQUE KEY `id` (`id`),
    200   KEY `pid` (`pid`)
    201 ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
    202 
    203 --
    204 -- Дамп данных таблицы `doc_agent_group`
    205 --
    206 
    207 INSERT INTO `doc_agent_group` (`id`, `name`, `pid`, `desc`) VALUES
    208 (1, 'Покупатели', 0, ''),
    209 (2, 'Поставщики', 0, '');
    210 
    211 -- --------------------------------------------------------
    212 
    213 --
    214 -- Структура таблицы `doc_base`
    215 --
    216 
    217 CREATE TABLE IF NOT EXISTS `doc_base` (
    218   `id` int(11) NOT NULL AUTO_INCREMENT,
    219   `group` int(11) NOT NULL DEFAULT '0' COMMENT 'ID группы',
    220   `name` varchar(128) NOT NULL COMMENT 'Наименование',
    221   `vc` varchar(32) NOT NULL COMMENT 'Код изготовителя',
    222   `desc` text NOT NULL COMMENT 'Описание',
    223   `cost` double(10,2) NOT NULL DEFAULT '0.00' COMMENT 'Цена',
    224   `stock` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Распродажа',
    225   `proizv` varchar(24) NOT NULL COMMENT 'Производитель',
    226   `likvid` decimal(6,2) NOT NULL DEFAULT '0.00' COMMENT 'Ликвидность',
    227   `cost_date` datetime NOT NULL COMMENT 'Дата изменения цены',
    228   `pos_type` tinyint(4) NOT NULL COMMENT 'Товар - услуга',
    229   `hidden` tinyint(4) NOT NULL COMMENT 'Индекс сокрытия',
    230   `no_export_yml` tinyint(4) NOT NULL COMMENT 'Не экспортировать в YML',
    231   `unit` int(11) NOT NULL COMMENT 'Единица измерения',
    232   `warranty` int(11) NOT NULL COMMENT 'Гарантийный срок',
    233   `warranty_type` tinyint(4) NOT NULL COMMENT 'Гарантия производителя',
    234   `rate` tinyint(4) NOT NULL COMMENT 'Рейтинг товара',
    235   UNIQUE KEY `id` (`id`),
    236   KEY `group` (`group`),
    237   KEY `name` (`name`),
    238   KEY `stock` (`stock`),
    239   KEY `cost_date` (`cost_date`),
    240   KEY `hidden` (`hidden`),
    241   KEY `unit` (`unit`),
    242   KEY `vc` (`vc`)
    243 ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
    244 
    245 --
    246 -- Дамп данных таблицы `doc_base`
    247 --
    248 
    249 INSERT INTO `doc_base` (`id`, `group`, `name`, `vc`, `desc`, `cost`, `stock`, `proizv`, `likvid`, `cost_date`, `pos_type`, `hidden`, `unit`, `warranty`, `warranty_type`) VALUES
    250 (1, 1, 'Товар', '', '', 100.00, 0, '', 0.00, '2010-07-13 16:48:01', 0, 0, 1, 0, 0),
    251 (2, 1, 'Товар ещё один', '', '', 0.00, 0, '', 0.00, '2010-06-09 16:44:09', 0, 0, 1, 0, 0);
    252 
    253 -- --------------------------------------------------------
    254 
    255 --
    256 -- Структура таблицы `doc_base_cnt`
    257 --
    258 
    259 CREATE TABLE IF NOT EXISTS `doc_base_cnt` (
    260   `id` int(11) NOT NULL,
    261   `sklad` tinyint(4) NOT NULL,
    262   `cnt` double NOT NULL,
    263   `mesto` int(11) NOT NULL,
    264   `mincnt` int(11) NOT NULL,
    265   PRIMARY KEY (`id`,`sklad`),
    266   KEY `cnt` (`cnt`),
    267   KEY `mesto` (`mesto`),
    268   KEY `mincnt` (`mincnt`),
    269   KEY `sklad` (`sklad`)
    270 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    271 
    272 --
    273 -- Дамп данных таблицы `doc_base_cnt`
    274 --
    275 
    276 INSERT INTO `doc_base_cnt` (`id`, `sklad`, `cnt`, `mesto`, `mincnt`) VALUES
    277 (1, 1, 0, 0, 0);
    278 
    279 -- --------------------------------------------------------
    280 
    281 --
    282 -- Структура таблицы `doc_base_cost`
    283 --
    284 
    285 CREATE TABLE IF NOT EXISTS `doc_base_cost` (
    286   `id` int(11) NOT NULL AUTO_INCREMENT,
    287   `pos_id` int(11) NOT NULL,
    288   `cost_id` int(11) NOT NULL,
    289   `type` varchar(5) NOT NULL,
    290   `value` decimal(8,2) NOT NULL,
    291   `accuracy` tinyint(4) NOT NULL,
    292   `direction` tinyint(4) NOT NULL,
    293   UNIQUE KEY `id` (`id`),
    294   UNIQUE KEY `uniq` (`pos_id`,`cost_id`),
    295   KEY `group_id` (`pos_id`),
    296   KEY `cost_id` (`cost_id`),
    297   KEY `value` (`value`),
    298   KEY `type` (`type`)
    299 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    300 
    301 --
    302 -- Дамп данных таблицы `doc_base_cost`
    303 --
    304 
    305 
    306 -- --------------------------------------------------------
    307 
    308 --
    309 -- Структура таблицы `doc_base_dop`
    310 --
    311 
    312 CREATE TABLE IF NOT EXISTS `doc_base_dop` (
    313   `id` int(11) NOT NULL AUTO_INCREMENT,
    314   `type` int(11) NOT NULL DEFAULT '0',
    315   `d_int` double NOT NULL DEFAULT '0',
    316   `d_ext` double NOT NULL DEFAULT '0',
    317   `size` double NOT NULL DEFAULT '0',
    318   `mass` double NOT NULL DEFAULT '0',
    319   `analog` varchar(20) NOT NULL,
    320   `koncost` double NOT NULL DEFAULT '0',
    321   `strana` varchar(20) NOT NULL,
    322   `tranzit` tinyint(4) NOT NULL,
    323   `ntd` varchar(32) NOT NULL,
    324   UNIQUE KEY `id` (`id`),
    325   KEY `type` (`type`),
    326   KEY `d_int` (`d_int`),
    327   KEY `d_ext` (`d_ext`),
    328   KEY `size` (`size`),
    329   KEY `mass` (`mass`),
    330   KEY `analog` (`analog`),
    331   KEY `koncost` (`koncost`)
    332 ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
    333 
    334 --
    335 -- Дамп данных таблицы `doc_base_dop`
    336 --
    337 
    338 INSERT INTO `doc_base_dop` (`id`, `type`, `d_int`, `d_ext`, `size`, `mass`, `analog`, `koncost`, `strana`, `tranzit`, `ntd`) VALUES
    339 (1, 0, 3, 4, 5, 6, '1', 2, '7', 0, '8');
    340 
    341 -- --------------------------------------------------------
    342 
    343 --
    344 -- Структура таблицы `doc_base_dop_type`
    345 --
    346 
    347 CREATE TABLE IF NOT EXISTS `doc_base_dop_type` (
    348   `id` int(11) NOT NULL,
    349   `name` varchar(70) NOT NULL,
    350   `desc` text NOT NULL,
    351   UNIQUE KEY `id` (`id`),
    352   KEY `name` (`name`)
    353 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    354 
    355 --
    356 -- Дамп данных таблицы `doc_base_dop_type`
    357 --
    358 
    359 
    360 -- --------------------------------------------------------
    361 
    362 --
    363 -- Структура таблицы `doc_base_img`
    364 --
    365 
    366 CREATE TABLE IF NOT EXISTS `doc_base_img` (
    367   `pos_id` int(11) NOT NULL,
    368   `img_id` int(11) NOT NULL,
    369   `default` tinyint(4) NOT NULL,
    370   UNIQUE KEY `pos_id` (`pos_id`,`img_id`),
    371   KEY `default` (`default`),
    372   KEY `img_id` (`img_id`)
    373 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    374 
    375 --
    376 -- Дамп данных таблицы `doc_base_img`
    377 --
    378 
    379 
    380 -- --------------------------------------------------------
    381 
    382 --
    383 -- Структура таблицы `doc_base_kompl`
    384 --
    385 
    386 CREATE TABLE IF NOT EXISTS `doc_base_kompl` (
    387   `id` int(11) NOT NULL AUTO_INCREMENT,
    388   `pos_id` int(11) NOT NULL COMMENT 'id наименования',
    389   `kompl_id` int(11) NOT NULL COMMENT 'id комплектующего',
    390   `cnt` int(11) NOT NULL COMMENT 'количество',
    391   UNIQUE KEY `id` (`id`),
    392   KEY `kompl_id` (`kompl_id`),
    393   KEY `cnt` (`cnt`),
    394   KEY `pos_id` (`pos_id`)
    395 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Комплектующие - из чего состоит эта позиция' AUTO_INCREMENT=1 ;
    396 
    397 --
    398 -- Дамп данных таблицы `doc_base_kompl`
    399 --
    400 
    401 
    402 -- --------------------------------------------------------
    403 
    404 --
    405 -- Структура таблицы `doc_base_params`
    406 --
    407 
    408 CREATE TABLE IF NOT EXISTS `doc_base_params` (
    409   `id` int(11) NOT NULL AUTO_INCREMENT,
    410   `param` varchar(32) NOT NULL,
    411   `type` varchar(8) NOT NULL,
    412   UNIQUE KEY `id` (`id`),
    413   KEY `param` (`param`)
    414 ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
    415 
    416 --
    417 -- Дамп данных таблицы `doc_base_params`
    418 --
    419 
    420 INSERT INTO `doc_base_params` (`id`, `param`, `type`) VALUES
    421 (1, 'Толщина', 'double'),
    422 (2, 'Ширина', 'double'),
    423 (3, 'Цвет', 'text'),
    424 (4, 'Материал', 'text'),
    425 (5, 'Допустимая температура', 'int');
    426 
    427 -- --------------------------------------------------------
    428 
    429 --
    430 -- Структура таблицы `doc_base_values`
    431 --
    432 
    433 CREATE TABLE IF NOT EXISTS `doc_base_values` (
    434   `id` int(11) NOT NULL,
    435   `param_id` int(11) NOT NULL,
    436   `value` varchar(32) NOT NULL,
    437   UNIQUE KEY `unique` (`id`,`param_id`),
    438   KEY `id` (`id`),
    439   KEY `param` (`param_id`),
    440   KEY `value` (`value`)
    441 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    442 
    443 --
    444 -- Дамп данных таблицы `doc_base_values`
    445 --
    446 
    447 INSERT INTO `doc_base_values` (`id`, `param_id`, `value`) VALUES
    448 (1, 1, '5000'),
    449 (1, 4, 'Кремний');
    450 
    451 -- --------------------------------------------------------
    452 
    453 --
    454 -- Структура таблицы `doc_cost`
    455 --
    456 
    457 CREATE TABLE IF NOT EXISTS `doc_cost` (
    458   `id` int(11) NOT NULL AUTO_INCREMENT,
    459   `name` varchar(25) NOT NULL,
    460   `type` varchar(5) NOT NULL,
    461   `value` decimal(8,2) NOT NULL COMMENT 'Значение цены',
    462   `vid` tinyint(4) NOT NULL COMMENT 'Вид цены определяет места её использования',
    463   `accuracy` tinyint(4) NOT NULL COMMENT 'Точность для округления',
    464   `direction` tinyint(4) NOT NULL COMMENT 'Направление округления',
    465   UNIQUE KEY `id` (`id`)
    466 ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
    467 
    468 --
    469 -- Дамп данных таблицы `doc_cost`
    470 --
    471 
    472 INSERT INTO `doc_cost` (`id`, `name`, `type`, `value`, `vid`, `accuracy`, `direction`) VALUES
    473 (1, 'Оптовая', 'pp', 10.00, 1, 0, 0),
    474 (2, 'Розничная', 'pp', 0.00, 0, 0, 0),
    475 (3, 'Корпоративная', 'abs', 100.00, -2, 0, 0),
    476 (4, 'Со скидкой', 'abs', -1.00, -1, 0, 0);
    477 
    478 -- --------------------------------------------------------
    479 
    480 --
    481 -- Структура таблицы `doc_dopdata`
    482 --
    483 
    484 CREATE TABLE IF NOT EXISTS `doc_dopdata` (
    485   `doc` int(11) NOT NULL,
    486   `param` varchar(20) NOT NULL,
    487   `value` varchar(150) NOT NULL,
    488   UNIQUE KEY `doc` (`doc`,`param`),
    489   KEY `value` (`value`)
    490 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    491 
    492 --
    493 -- Дамп данных таблицы `doc_dopdata`
    494 --
    495 
    496 
    497 -- --------------------------------------------------------
    498 
    499 --
    500 -- Структура таблицы `doc_group`
    501 --
    502 
    503 CREATE TABLE IF NOT EXISTS `doc_group` (
    504   `id` int(11) NOT NULL AUTO_INCREMENT,
    505   `name` varchar(64) NOT NULL,
    506   `desc` text NOT NULL,
    507   `pid` int(11) NOT NULL,
    508   `hidelevel` tinyint(4) NOT NULL,
    509   `printname` varchar(64) NOT NULL,
    510   `no_export_yml` tinyint(4) NOT NULL COMMENT 'Не экспортировать в YML',
    511   UNIQUE KEY `id` (`id`),
    512   UNIQUE KEY `name` (`name`),
    513   KEY `pid` (`pid`),
    514   KEY `hidelevel` (`hidelevel`)
    515 ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
    516 
    517 --
    518 -- Дамп данных таблицы `doc_group`
    519 --
    520 
    521 INSERT INTO `doc_group` (`id`, `name`, `desc`, `pid`, `hidelevel`, `printname`) VALUES
    522 (1, 'Группа 1', '', 0, 0, ''),
    523 (2, 'Группа 2', '', 0, 0, '');
    524 
    525 -- --------------------------------------------------------
    526 
    527 --
    528 -- Структура таблицы `doc_group_cost`
    529 --
    530 
    531 CREATE TABLE IF NOT EXISTS `doc_group_cost` (
    532   `id` int(11) NOT NULL AUTO_INCREMENT,
    533   `group_id` int(11) NOT NULL,
    534   `cost_id` int(11) NOT NULL,
    535   `type` varchar(5) NOT NULL,
    536   `value` decimal(8,2) NOT NULL,
    537   `accuracy` tinyint(4) NOT NULL COMMENT 'Точность для округления',
    538   `direction` tinyint(4) NOT NULL COMMENT 'Направление округления',
    539   UNIQUE KEY `id` (`id`),
    540   UNIQUE KEY `uniq` (`group_id`,`cost_id`),
    541   KEY `group_id` (`group_id`),
    542   KEY `cost_id` (`cost_id`),
    543   KEY `value` (`value`),
    544   KEY `type` (`type`)
    545 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    546 
    547 --
    548 -- Дамп данных таблицы `doc_group_cost`
    549 --
    550 
    551 
    552 -- --------------------------------------------------------
    553 
    554 --
    555 -- Структура таблицы `doc_img`
    556 --
    557 
    558 CREATE TABLE IF NOT EXISTS `doc_img` (
    559   `id` int(11) NOT NULL AUTO_INCREMENT,
    560   `name` varchar(100) NOT NULL,
    561   `type` varchar(4) NOT NULL,
    562   UNIQUE KEY `id` (`id`),
    563   UNIQUE KEY `name` (`name`)
    564 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    565 
    566 --
    567 -- Дамп данных таблицы `doc_img`
    568 --
    569 
    570 
    571 -- --------------------------------------------------------
    572 
    573 --
    574 -- Структура таблицы `doc_kassa`
    575 --
    576 
    577 CREATE TABLE IF NOT EXISTS `doc_kassa` (
    578   `ids` varchar(50) CHARACTER SET latin1 NOT NULL,
    579   `num` int(11) NOT NULL,
    580   `name` varchar(50) NOT NULL,
    581   `ballance` decimal(10,2) NOT NULL,
    582   `bik` varchar(20) NOT NULL,
    583   `rs` varchar(30) NOT NULL,
    584   `ks` varchar(30) NOT NULL,
    585   `firm_id` int(11) NOT NULL,
    586   UNIQUE KEY `ids` (`ids`,`num`)
    587 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    588 
    589 --
    590 -- Дамп данных таблицы `doc_kassa`
    591 --
    592 
    593 INSERT INTO `doc_kassa` (`ids`, `num`, `name`, `ballance`, `bik`, `rs`, `ks`, `firm_id`) VALUES
    594 ('bank', 1, 'Главный банк', 0.00, '', '', '', 0),
    595 ('kassa', 1, 'Основная касса', 0.00, '', '', '', 0);
    596 
    597 -- --------------------------------------------------------
    598 
    599 --
    600 -- Структура таблицы `doc_list`
    601 --
    602 
    603 CREATE TABLE IF NOT EXISTS `doc_list` (
    604   `id` int(11) NOT NULL AUTO_INCREMENT,
    605   `type` tinyint(4) NOT NULL DEFAULT '0',
    606   `agent` int(11) NOT NULL DEFAULT '0',
    607   `comment` text NOT NULL,
    608   `date` bigint(20) NOT NULL DEFAULT '0',
    609   `ok` bigint(20) NOT NULL DEFAULT '0',
    610   `sklad` tinyint(4) NOT NULL DEFAULT '0',
    611   `kassa` tinyint(4) NOT NULL DEFAULT '0',
    612   `bank` tinyint(4) NOT NULL DEFAULT '0',
    613   `user` int(11) NOT NULL DEFAULT '0',
    614   `altnum` int(11) NOT NULL,
    615   `subtype` varchar(5) NOT NULL,
    616   `sum` decimal(10,2) NOT NULL DEFAULT '0.00',
    617   `nds` int(11) NOT NULL DEFAULT '0',
    618   `p_doc` int(11) NOT NULL,
    619   `mark_del` bigint(20) NOT NULL,
    620   `firm_id` int(11) NOT NULL DEFAULT '1',
    621   `err_flag` tinyint(4) NOT NULL DEFAULT '0',
    622   UNIQUE KEY `id` (`id`),
    623   KEY `type` (`type`),
    624   KEY `fio` (`agent`),
    625   KEY `date` (`date`),
    626   KEY `altnum` (`altnum`),
    627   KEY `p_doc` (`p_doc`),
    628   KEY `ok` (`ok`),
    629   KEY `sklad` (`sklad`),
    630   KEY `user` (`user`),
    631   KEY `subtype` (`subtype`),
    632   KEY `mark_del` (`mark_del`),
    633   KEY `firm_id` (`firm_id`),
    634   KEY `kassa` (`kassa`,`bank`)
    635 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    636 
    637 --
    638 -- Дамп данных таблицы `doc_list`
    639 --
    640 
    641 
    642 -- --------------------------------------------------------
    643 
    644 --
    645 -- Структура таблицы `doc_list_pos`
    646 --
    647 
    648 CREATE TABLE IF NOT EXISTS `doc_list_pos` (
    649   `id` int(11) NOT NULL AUTO_INCREMENT,
    650   `doc` int(11) NOT NULL DEFAULT '0',
    651   `tovar` int(11) NOT NULL DEFAULT '0',
    652   `cnt` int(11) NOT NULL DEFAULT '0',
    653   `gtd` varchar(32) NOT NULL,
    654   `comm` varchar(64) NOT NULL,
    655   `cost` decimal(10,2) NOT NULL DEFAULT '0',
    656   `page` int(11) NOT NULL DEFAULT '0',
    657   KEY `id` (`id`),
    658   KEY `doc` (`doc`),
    659   KEY `tovar` (`tovar`),
    660   KEY `page` (`page`)
    661 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    662 
    663 --
    664 -- Дамп данных таблицы `doc_list_pos`
    665 --
    666 
    667 
    668 -- --------------------------------------------------------
    669 
    670 --
    671 -- Структура таблицы `doc_list_sn`
    672 --
    673 
    674 CREATE TABLE IF NOT EXISTS `doc_list_sn` (
    675   `id` int(11) NOT NULL AUTO_INCREMENT,
    676   `pos_id` int(11) NOT NULL COMMENT 'ID товара',
    677   `num` varchar(64) NOT NULL COMMENT 'Серийный номер',
    678   `prix_list_pos` int(11) NOT NULL COMMENT 'Строка поступления',
    679   `rasx_list_pos` int(11) DEFAULT NULL COMMENT 'Строка реализации',
    680   UNIQUE KEY `id` (`id`),
    681   KEY `pos_id` (`pos_id`),
    682   KEY `num` (`num`),
    683   KEY `prix_list_pos` (`prix_list_pos`),
    684   KEY `rasx_list_pos` (`rasx_list_pos`)
    685 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Серийные номера' AUTO_INCREMENT=1 ;
    686 
    687 --
    688 -- Дамп данных таблицы `doc_list_sn`
    689 --
    690 
    691 
    692 -- --------------------------------------------------------
    693 
    694 --
    695 -- Структура таблицы `doc_log`
    696 --
    697 
    698 CREATE TABLE IF NOT EXISTS `doc_log` (
    699   `id` int(11) NOT NULL AUTO_INCREMENT,
    700   `user` int(11) NOT NULL,
    701   `ip` varchar(20) NOT NULL,
    702   `object` varchar(20) NOT NULL,
    703   `object_id` int(11) NOT NULL,
    704   `motion` varchar(100) NOT NULL,
    705   `desc` varchar(500) NOT NULL,
    706   `time` datetime NOT NULL,
    707   UNIQUE KEY `id` (`id`),
    708   KEY `user` (`user`),
    709   KEY `motion` (`motion`),
    710   KEY `time` (`time`),
    711   KEY `desc` (`desc`(333)),
    712   KEY `ip` (`ip`)
    713 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    714 
    715 --
    716 -- Дамп данных таблицы `doc_log`
    717 --
    718 
    719 
    720 -- --------------------------------------------------------
    721 
    722 --
    723 -- Структура таблицы `doc_rasxodi`
    724 --
    725 
    726 CREATE TABLE IF NOT EXISTS `doc_rasxodi` (
    727   `id` int(11) NOT NULL AUTO_INCREMENT,
    728   `name` varchar(50) NOT NULL,
    729   `adm` tinyint(4) NOT NULL,
    730   UNIQUE KEY `id` (`id`),
    731   KEY `name` (`name`),
    732   KEY `adm` (`adm`)
    733 ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='Статьи расходов' AUTO_INCREMENT=15 ;
    734 
    735 --
    736 -- Дамп данных таблицы `doc_rasxodi`
    737 --
    738 
    739 INSERT INTO `doc_rasxodi` (`id`, `name`, `adm`) VALUES
    740 (0, 'Прочие расходы', 1),
    741 (1, 'Аренда офиса, склада', 1),
    742 (2, 'Зарплата, премии, надбавки', 1),
    743 (3, 'Канцелярские товары, расходные материалы', 1),
    744 (4, 'Представительские расходы', 1),
    745 (5, 'Другие (банковские) платежи', 1),
    746 (6, 'Закупка товара на склад', 0),
    747 (7, 'Закупка товара на продажу', 0),
    748 (8, 'Транспортные расходы', 1),
    749 (9, 'Расходы на связь', 1),
    750 (10, 'Оплата товара на реализации', 0),
    751 (11, 'Налоги и сборы', 1),
    752 (12, 'Средства под отчёт', 0),
    753 (13, 'Расходы на рекламу', 1),
    754 (14, 'Возврат товара', 0);
    755 
    756 -- --------------------------------------------------------
    757 
    758 --
    759 -- Структура таблицы `doc_sklady`
    760 --
    761 
    762 CREATE TABLE IF NOT EXISTS `doc_sklady` (
    763   `id` tinyint(4) NOT NULL AUTO_INCREMENT,
    764   `name` varchar(100) NOT NULL,
    765   `comment` text NOT NULL,
    766   KEY `id` (`id`),
    767   KEY `name` (`name`)
    768 ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
    769 
    770 --
    771 -- Дамп данных таблицы `doc_sklady`
    772 --
    773 
    774 INSERT INTO `doc_sklady` (`id`, `name`, `comment`) VALUES
    775 (1, 'Склад 1', ''),
    776 (2, 'Склад 2', '');
    777 
    778 -- --------------------------------------------------------
    779 
    780 --
    781 -- Структура таблицы `doc_types`
    782 --
    783 
    784 CREATE TABLE IF NOT EXISTS `doc_types` (
    785   `id` tinyint(4) NOT NULL AUTO_INCREMENT,
    786   `name` varchar(30) NOT NULL,
    787   KEY `id` (`id`)
    788 ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=18 ;
    789 
    790 --
    791 -- Дамп данных таблицы `doc_types`
    792 --
    793 
    794 INSERT INTO `doc_types` (`id`, `name`) VALUES
    795 (1, 'Поступление'),
    796 (2, 'Реализация'),
    797 (3, 'Заявка покупателя'),
    798 (4, 'Банк - приход'),
    799 (5, 'Банк - расход'),
    800 (6, 'Касса - приход'),
    801 (7, 'Касса - расход'),
    802 (8, 'Перемещение товара'),
    803 (9, 'Перемещение средств (касса)'),
    804 (10, 'Доверенность'),
    805 (11, 'Предложение поставщика'),
    806 (12, 'Товар в пути'),
    807 (13, 'Коммерческое предложение'),
    808 (14, 'Договор'),
    809 (15, 'Реализация (оперативная)'),
    810 (16, 'Спецификация'),
    811 (17, 'Сборка изделия'),
    812 (18, 'Корректировка долга');
    813 
    814 -- --------------------------------------------------------
    815 
    816 --
    817 -- Структура таблицы `doc_units`
    818 --
    819 
    820 CREATE TABLE IF NOT EXISTS `doc_units` (
    821   `id` int(11) NOT NULL AUTO_INCREMENT,
    822   `name` varchar(16) NOT NULL,
    823   `printname` varchar(8) NOT NULL,
    824   UNIQUE KEY `id` (`id`),
    825   KEY `name` (`name`),
    826   KEY `printname` (`printname`)
    827 ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;
    828 
    829 --
    830 -- Дамп данных таблицы `doc_units`
    831 --
    832 
    833 INSERT INTO `doc_units` (`id`, `name`, `printname`) VALUES
    834 (1, 'Штука', 'шт.'),
    835 (2, 'Килограмм', 'кг.'),
    836 (3, 'Грамм', 'гр.'),
    837 (4, 'Литр', 'л.'),
    838 (5, 'Метр', 'м.'),
    839 (6, 'Милиметр', 'мм.'),
    840 (7, 'Упаковка', 'уп.');
    841 
    842 -- --------------------------------------------------------
    843 
    844 --
    845 -- Структура таблицы `doc_vars`
    846 --
    847 
    848 CREATE TABLE IF NOT EXISTS `doc_vars` (
    849   `id` int(11) NOT NULL AUTO_INCREMENT,
    850   `firm_name` varchar(150) NOT NULL,
    851   `firm_director` varchar(100) NOT NULL,
    852   `firm_director_r` varchar(100) NOT NULL,
    853   `firm_manager` varchar(100) NOT NULL,
    854   `firm_buhgalter` varchar(100) NOT NULL,
    855   `firm_kladovshik` varchar(100) NOT NULL,
    856   `firm_kladovshik_id` int(11) NOT NULL,
    857   `firm_bank` varchar(100) NOT NULL,
    858   `firm_bank_kor_s` varchar(25) NOT NULL,
    859   `firm_bik` varchar(15) NOT NULL,
    860   `firm_schet` varchar(25) NOT NULL,
    861   `firm_inn` varchar(25) NOT NULL,
    862   `firm_adres` varchar(150) NOT NULL,
    863   `firm_realadres` varchar(150) NOT NULL,
    864   `firm_gruzootpr` varchar(300) NOT NULL,
    865   `firm_telefon` varchar(60) NOT NULL,
    866   `firm_okpo` varchar(10) NOT NULL,
    867   `param_nds` double NOT NULL DEFAULT '0',
    868   `firm_skin` varchar(16) NOT NULL,
    869   UNIQUE KEY `id` (`id`)
    870 ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
    871 
    872 --
    873 -- Дамп данных таблицы `doc_vars`
    874 --
    875 
    876 INSERT INTO `doc_vars` (`id`, `firm_name`, `firm_director`, `firm_director_r`, `firm_manager`, `firm_buhgalter`, `firm_kladovshik`, `firm_kladovshik_id`, `firm_bank`, `firm_bank_kor_s`, `firm_bik`, `firm_schet`, `firm_inn`, `firm_adres`, `firm_realadres`, `firm_gruzootpr`, `firm_telefon`, `firm_okpo`, `param_nds`, `firm_skin`) VALUES
    877 (1, 'ООО Первая Фирма', '', '', '', '', '', 0, '', '', '', '', '', '', '', '', '', '', 0, '');
    878 
    879 -- --------------------------------------------------------
    880 
    881 --
    882 -- Структура таблицы `errorlog`
    883 --
    884 
    885 CREATE TABLE IF NOT EXISTS `errorlog` (
    886   `id` int(11) NOT NULL AUTO_INCREMENT,
    887   `page` varchar(128) NOT NULL,
    888   `referer` varchar(128) NOT NULL,
    889   `agent` varchar(128) NOT NULL,
    890   `ip` varchar(18) NOT NULL,
    891   `msg` text NOT NULL,
    892   `date` datetime NOT NULL,
    893   `uid` int(11) NOT NULL,
    894   UNIQUE KEY `id` (`id`),
    895   KEY `page` (`page`),
    896   KEY `referer` (`referer`),
    897   KEY `date` (`date`),
    898   KEY `agent` (`agent`,`ip`)
    899 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    900 
    901 --
    902 -- Дамп данных таблицы `errorlog`
    903 --
    904 
    905 
    906 -- --------------------------------------------------------
    907 
    908 --
    909 -- Структура таблицы `firm_info`
    910 --
    911 
    912 CREATE TABLE IF NOT EXISTS `firm_info` (
    913   `id` int(11) NOT NULL AUTO_INCREMENT,
    914   `name` varchar(100) NOT NULL DEFAULT '',
    915   `signature` varchar(200) NOT NULL DEFAULT '' COMMENT 'Сигнатура для определения принадлежности прайса',
    916   `currency` tinyint(4) NOT NULL,
    917   `coeff` decimal(10,3) NOT NULL,
    918   `last_update` datetime NOT NULL,
    919   PRIMARY KEY (`id`),
    920   KEY `name` (`name`),
    921   KEY `sign` (`signature`)
    922 ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
    923 
    924 --
    925 -- Дамп данных таблицы `firm_info`
    926 --
    927 
    928 INSERT INTO `firm_info` (`id`, `name`, `signature`, `currency`, `coeff`, `last_update`) VALUES
    929 (1, 'test', 'test@example.com', 0, 0.000, '0000-00-00 00:00:00');
    930 
    931 -- --------------------------------------------------------
    932 
    933 --
    934 -- Структура таблицы `firm_info_struct`
    935 --
    936 
    937 CREATE TABLE IF NOT EXISTS `firm_info_struct` (
    938   `id` int(11) NOT NULL AUTO_INCREMENT,
    939   `firm_id` int(11) NOT NULL COMMENT 'Номер фирмы',
    940   `table_name` varchar(50) NOT NULL COMMENT 'Название листа прайса',
    941   `name` mediumint(9) NOT NULL COMMENT 'N колонки наименований',
    942   `cost` mediumint(9) NOT NULL,
    943   `art` mediumint(9) NOT NULL,
    944   `nal` mediumint(9) NOT NULL,
    945   UNIQUE KEY `id` (`id`),
    946   KEY `firm_id` (`firm_id`),
    947   KEY `table_name` (`table_name`)
    948 ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
    949 
    950 --
    951 -- Дамп данных таблицы `firm_info_struct`
    952 --
    953 
    954 INSERT INTO `firm_info_struct` (`id`, `firm_id`, `table_name`, `name`, `cost`, `art`, `nal`) VALUES
    955 (1, 1, 'test', 2, 3, 1, 4);
    956 
    957 -- --------------------------------------------------------
    958 
    959 --
    960 -- Структура таблицы `loginfo`
    961 --
    962 
    963 CREATE TABLE IF NOT EXISTS `loginfo` (
    964   `id` int(11) NOT NULL AUTO_INCREMENT,
    965   `date` datetime NOT NULL,
    966   `page` varchar(100) NOT NULL,
    967   `query` varchar(100) NOT NULL,
    968   `mode` varchar(20) NOT NULL,
    969   `ip` varchar(30) NOT NULL,
    970   `user` int(11) NOT NULL,
    971   `text` varchar(500) NOT NULL,
    972   UNIQUE KEY `id` (`id`),
    973   KEY `date` (`date`),
    974   KEY `page` (`page`),
    975   KEY `query` (`query`),
    976   KEY `mode` (`mode`),
    977   KEY `ip` (`ip`),
    978   KEY `user` (`user`)
    979 ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
    980 
    981 --
    982 -- Дамп данных таблицы `loginfo`
    983 --
    984 
    985 
    986 -- --------------------------------------------------------
    987 
    988 --
    989 -- Структура таблицы `news`
    990 --
    991 
    992 CREATE TABLE IF NOT EXISTS `news` (
    993   `id` int(11) NOT NULL AUTO_INCREMENT,
    994   `type` varchar(8) NOT NULL,
    995   `title` varchar(64) NOT NULL,
    996   `text` text NOT NULL,
    997   `date` datetime NOT NULL,
    998   `autor` int(11) NOT NULL,
    999   `ex_date` date NOT NULL,
    1000   `img_ext` varchar(4) NOT NULL,
    1001   UNIQUE KEY `id` (`id`),
    1002   KEY `type` (`type`),
    1003   KEY `ex_date` (`ex_date`)
    1004 ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
    1005 
    1006 
    1007 --
    1008 -- Дамп данных таблицы `news`
    1009 --
    1010 
    1011 
    1012 -- --------------------------------------------------------
    1013 
    1014 --
    1015 -- Структура таблицы `notes`
    1016 --
    1017 
    1018 CREATE TABLE IF NOT EXISTS `notes` (
    1019   `id` int(11) NOT NULL AUTO_INCREMENT,
    1020   `user` int(11) NOT NULL,
    1021   `sender` int(11) NOT NULL,
    1022   `head` varchar(50) NOT NULL,
    1023   `msg` text NOT NULL,
    1024   `senddate` datetime NOT NULL,
    1025   `enddate` datetime NOT NULL,
    1026   `ok` tinyint(4) NOT NULL,
    1027   `comment` text NOT NULL,
    1028   UNIQUE KEY `id` (`id`),
    1029   KEY `user` (`user`),
    1030   KEY `sender` (`sender`),
    1031   KEY `senddate` (`senddate`),
    1032   KEY `enddate` (`enddate`)
    1033 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    1034 
    1035 --
    1036 -- Дамп данных таблицы `notes`
    1037 --
    1038 
    1039 
    1040 -- --------------------------------------------------------
    1041 
    1042 --
    1043 -- Структура таблицы `parsed_price`
    1044 --
    1045 
    1046 CREATE TABLE IF NOT EXISTS `parsed_price` (
    1047   `id` int(11) NOT NULL AUTO_INCREMENT,
    1048   `firm` int(11) NOT NULL,
    1049   `pos` int(11) NOT NULL,
    1050   `cost` decimal(10,2) NOT NULL,
    1051   `nal` varchar(10) NOT NULL,
    1052   `from` int(11) NOT NULL,
    1053   PRIMARY KEY (`id`),
    1054   KEY `firm` (`firm`),
    1055   KEY `pos` (`pos`)
    1056 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    1057 
    1058 --
    1059 -- Дамп данных таблицы `parsed_price`
    1060 --
    1061 
    1062 
    1063 -- --------------------------------------------------------
    1064 
    1065 --
    1066 -- Структура таблицы `photogalery`
    1067 --
    1068 
    1069 CREATE TABLE IF NOT EXISTS `photogalery` (
    1070   `id` int(11) NOT NULL AUTO_INCREMENT,
    1071   `uid` int(11) NOT NULL DEFAULT '0',
    1072   `comment` varchar(50) NOT NULL,
    1073   UNIQUE KEY `id` (`id`),
    1074   KEY `uid` (`uid`)
    1075 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    1076 
    1077 --
    1078 -- Дамп данных таблицы `photogalery`
    1079 --
    1080 
    1081 
    1082 -- --------------------------------------------------------
    1083 
    1084 --
    1085 -- Структура таблицы `price`
    1086 --
    1087 
    1088 CREATE TABLE IF NOT EXISTS `price` (
    1089   `id` int(11) NOT NULL AUTO_INCREMENT,
    1090   `name` varchar(200) NOT NULL DEFAULT '',
    1091   `cost` double NOT NULL DEFAULT '0',
    1092   `firm` int(11) NOT NULL DEFAULT '0',
    1093   `art` varchar(20) NOT NULL DEFAULT '',
    1094   `nal` varchar(20) NOT NULL,
    1095   `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
    1096   `seeked` int(11) NOT NULL,
    1097   KEY `name` (`name`),
    1098   KEY `cost` (`cost`),
    1099   KEY `firm` (`firm`),
    1100   KEY `art` (`art`),
    1101   KEY `date` (`date`),
    1102   KEY `id` (`id`)
    1103 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    1104 
    1105 --
    1106 -- Дамп данных таблицы `price`
    1107 --
    1108 
    1109 
    1110 -- --------------------------------------------------------
    1111 
    1112 --
    1113 -- Структура таблицы `prices_replaces`
    1114 --
    1115 
    1116 CREATE TABLE IF NOT EXISTS `prices_replaces` (
    1117   `id` int(11) NOT NULL AUTO_INCREMENT,
    1118   `search_str` varchar(16) NOT NULL,
    1119   `replace_str` varchar(512) NOT NULL,
    1120   PRIMARY KEY (`id`),
    1121   UNIQUE KEY `id` (`id`),
    1122   KEY `search_str` (`search_str`)
    1123 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Список замен для регулярных выражений анализатора прайсов' AUTO_INCREMENT=1 ;
    1124 
    1125 --
    1126 -- Дамп данных таблицы `prices_replaces`
    1127 --
    1128 
    1129 
    1130 -- --------------------------------------------------------
    1131 
    1132 --
    1133 -- Структура таблицы `questions`
    1134 --
    1135 
    1136 CREATE TABLE IF NOT EXISTS `questions` (
    1137   `id` int(11) NOT NULL AUTO_INCREMENT,
    1138   `text` varchar(200) NOT NULL,
    1139   `mode` int(11) NOT NULL,
    1140   UNIQUE KEY `id` (`id`)
    1141 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    1142 
    1143 --
    1144 -- Дамп данных таблицы `questions`
    1145 --
    1146 
    1147 
    1148 -- --------------------------------------------------------
    1149 
    1150 --
    1151 -- Структура таблицы `question_answ`
    1152 --
    1153 
    1154 CREATE TABLE IF NOT EXISTS `question_answ` (
    1155   `id` int(11) NOT NULL AUTO_INCREMENT,
    1156   `q_id` int(11) NOT NULL,
    1157   `answer` varchar(500) NOT NULL,
    1158   `uid` int(11) NOT NULL,
    1159   `ip` varchar(15) NOT NULL,
    1160   UNIQUE KEY `id` (`id`),
    1161   KEY `q_id` (`q_id`),
    1162   KEY `uid` (`uid`),
    1163   KEY `ip` (`ip`)
    1164 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    1165 
    1166 --
    1167 -- Дамп данных таблицы `question_answ`
    1168 --
    1169 
    1170 
    1171 -- --------------------------------------------------------
    1172 
    1173 --
    1174 -- Структура таблицы `question_ip`
    1175 --
    1176 
    1177 CREATE TABLE IF NOT EXISTS `question_ip` (
    1178   `ip` varchar(15) NOT NULL,
    1179   `result` int(11) NOT NULL,
    1180   UNIQUE KEY `ip_2` (`ip`)
    1181 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    1182 
    1183 --
    1184 -- Дамп данных таблицы `question_ip`
    1185 --
    1186 
    1187 
    1188 -- --------------------------------------------------------
    1189 
    1190 --
    1191 -- Структура таблицы `question_vars`
    1192 --
    1193 
    1194 CREATE TABLE IF NOT EXISTS `question_vars` (
    1195   `id` int(11) NOT NULL AUTO_INCREMENT,
    1196   `q_id` int(11) NOT NULL,
    1197   `var_id` int(11) NOT NULL,
    1198   `text` varchar(500) NOT NULL,
    1199   UNIQUE KEY `id` (`id`),
    1200   KEY `q_id` (`q_id`,`var_id`)
    1201 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    1202 
    1203 --
    1204 -- Дамп данных таблицы `question_vars`
    1205 --
    1206 
    1207 
    1208 -- --------------------------------------------------------
    1209 
    1210 --
    1211 -- Структура таблицы `seekdata`
    1212 --
    1213 
    1214 CREATE TABLE IF NOT EXISTS `seekdata` (
    1215   `id` int(11) NOT NULL AUTO_INCREMENT,
    1216   `name` varchar(200) NOT NULL,
    1217   `sql` varchar(200) NOT NULL,
    1218   `regex` varchar(200) NOT NULL,
    1219   `group` int(11) NOT NULL,
    1220   `regex_neg` varchar(256) NOT NULL,
    1221   UNIQUE KEY `id` (`id`),
    1222   KEY `name` (`name`),
    1223   KEY `sql` (`sql`),
    1224   KEY `regex` (`regex`)
    1225 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    1226 
    1227 --
    1228 -- Дамп данных таблицы `seekdata`
    1229 --
    1230 
    1231 
    1232 -- --------------------------------------------------------
    1233 
    1234 --
    1235 -- Структура таблицы `sys_cli_status`
    1236 --
    1237 
    1238 CREATE TABLE IF NOT EXISTS `sys_cli_status` (
    1239   `id` int(11) NOT NULL AUTO_INCREMENT,
    1240   `script` varchar(64) NOT NULL,
    1241   `status` text NOT NULL,
    1242   UNIQUE KEY `id` (`id`),
    1243   KEY `script` (`script`)
    1244 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    1245 
    1246 --
    1247 -- Дамп данных таблицы `sys_cli_status`
    1248 --
    1249 
    1250 
    1251 -- --------------------------------------------------------
    1252 
    1253 --
    1254 -- Структура таблицы `tickets`
    1255 --
    1256 
    1257 CREATE TABLE IF NOT EXISTS `tickets` (
    1258   `id` int(11) NOT NULL AUTO_INCREMENT,
    1259   `date` datetime NOT NULL,
    1260   `autor` int(11) NOT NULL,
    1261   `priority` tinyint(4) NOT NULL,
    1262   `theme` varchar(100) NOT NULL,
    1263   `text` text NOT NULL,
    1264   `to_uid` int(11) NOT NULL,
    1265   `to_date` date NOT NULL,
    1266   `state` tinyint(4) NOT NULL,
    1267   UNIQUE KEY `id` (`id`),
    1268   KEY `date` (`date`),
    1269   KEY `autor` (`autor`),
    1270   KEY `theme` (`theme`),
    1271   KEY `to_uid` (`to_uid`),
    1272   KEY `to_date` (`to_date`)
    1273 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    1274 
    1275 --
    1276 -- Дамп данных таблицы `tickets`
    1277 --
    1278 
    1279 
    1280 -- --------------------------------------------------------
    1281 
    1282 --
    1283 -- Структура таблицы `tickets_log`
    1284 --
    1285 
    1286 CREATE TABLE IF NOT EXISTS `tickets_log` (
    1287   `id` int(11) NOT NULL AUTO_INCREMENT,
    1288   `uid` int(11) NOT NULL,
    1289   `ticket` int(11) NOT NULL,
    1290   `date` datetime NOT NULL,
    1291   `text` text NOT NULL,
    1292   UNIQUE KEY `id` (`id`),
    1293   KEY `uid` (`uid`,`ticket`,`date`)
    1294 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    1295 
    1296 --
    1297 -- Дамп данных таблицы `tickets_log`
    1298 --
    1299 
    1300 
    1301 -- --------------------------------------------------------
    1302 
    1303 --
    1304 -- Структура таблицы `tickets_priority`
    1305 --
    1306 
    1307 CREATE TABLE IF NOT EXISTS `tickets_priority` (
    1308   `id` tinyint(4) NOT NULL,
    1309   `name` varchar(50) NOT NULL,
    1310   `color` varchar(6) NOT NULL,
    1311   `comment` varchar(200) NOT NULL,
    1312   UNIQUE KEY `id` (`id`),
    1313   KEY `name` (`name`)
    1314 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    1315 
    1316 --
    1317 -- Дамп данных таблицы `tickets_priority`
    1318 --
    1319 
    1320 
    1321 -- --------------------------------------------------------
    1322 
    1323 --
    1324 -- Структура таблицы `tickets_state`
    1325 --
    1326 
    1327 CREATE TABLE IF NOT EXISTS `tickets_state` (
    1328   `id` int(11) NOT NULL,
    1329   `name` varchar(30) NOT NULL,
    1330   UNIQUE KEY `id` (`id`)
    1331 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    1332 
    1333 --
    1334 -- Дамп данных таблицы `tickets_state`
    1335 --
    1336 
    1337 
    1338 -- --------------------------------------------------------
    1339 
    1340 --
    1341 -- Структура таблицы `traffic_denyip`
    1342 --
    1343 
    1344 CREATE TABLE IF NOT EXISTS `traffic_denyip` (
    1345   `id` int(11) NOT NULL AUTO_INCREMENT,
    1346   `ip` varchar(20) NOT NULL,
    1347   `host` varchar(50) NOT NULL,
    1348   UNIQUE KEY `id_2` (`id`),
    1349   UNIQUE KEY `ip` (`ip`)
    1350 ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Zapreshennie IP' AUTO_INCREMENT=1 ;
    1351 
    1352 --
    1353 -- Дамп данных таблицы `traffic_denyip`
    1354 --
    1355 
    1356 
    1357 -- --------------------------------------------------------
    1358 
    1359 --
    1360 -- Структура таблицы `ulog`
    1361 --
    1362 
    1363 CREATE TABLE IF NOT EXISTS `ulog` (
    1364   `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
    1365   `raw_mac` varchar(80) DEFAULT NULL,
    1366   `oob_time_sec` int(10) unsigned DEFAULT NULL,
    1367   `oob_time_usec` int(10) unsigned DEFAULT NULL,
    1368   `oob_prefix` varchar(32) DEFAULT NULL,
    1369   `oob_mark` int(10) unsigned DEFAULT NULL,
    1370   `oob_in` varchar(32) DEFAULT NULL,
    1371   `oob_out` varchar(32) DEFAULT NULL,
    1372   `ip_saddr` varchar(15) DEFAULT NULL,
    1373   `ip_daddr` varchar(15) DEFAULT NULL,
    1374   `ip_protocol` tinyint(3) unsigned DEFAULT NULL,
    1375   `ip_tos` tinyint(3) unsigned DEFAULT NULL,
    1376   `ip_ttl` tinyint(3) unsigned DEFAULT NULL,
    1377   `ip_totlen` smallint(5) unsigned DEFAULT NULL,
    1378   `ip_ihl` tinyint(3) unsigned DEFAULT NULL,
    1379   `ip_csum` smallint(5) unsigned DEFAULT NULL,
    1380   `ip_id` smallint(5) unsigned DEFAULT NULL,
    1381   `ip_fragoff` smallint(5) unsigned DEFAULT NULL,
    1382   `tcp_sport` smallint(5) unsigned DEFAULT NULL,
    1383   `tcp_dport` smallint(5) unsigned DEFAULT NULL,
    1384   `tcp_seq` int(10) unsigned DEFAULT NULL,
    1385   `tcp_ackseq` int(10) unsigned DEFAULT NULL,
    1386   `tcp_window` smallint(5) unsigned DEFAULT NULL,
    1387   `tcp_urg` tinyint(4) DEFAULT NULL,
    1388   `tcp_urgp` smallint(5) unsigned DEFAULT NULL,
    1389   `tcp_ack` tinyint(4) DEFAULT NULL,
    1390   `tcp_psh` tinyint(4) DEFAULT NULL,
    1391   `tcp_rst` tinyint(4) DEFAULT NULL,
    1392   `tcp_syn` tinyint(4) DEFAULT NULL,
    1393   `tcp_fin` tinyint(4) DEFAULT NULL,
    1394   `udp_sport` smallint(5) unsigned DEFAULT NULL,
    1395   `udp_dport` smallint(5) unsigned DEFAULT NULL,
    1396   `udp_len` smallint(5) unsigned DEFAULT NULL,
    1397   `icmp_type` tinyint(3) unsigned DEFAULT NULL,
    1398   `icmp_code` tinyint(3) unsigned DEFAULT NULL,
    1399   `icmp_echoid` smallint(5) unsigned DEFAULT NULL,
    1400   `icmp_echoseq` smallint(5) unsigned DEFAULT NULL,
    1401   `icmp_gateway` int(10) unsigned DEFAULT NULL,
    1402   `icmp_fragmtu` smallint(5) unsigned DEFAULT NULL,
    1403   `pwsniff_user` varchar(30) DEFAULT NULL,
    1404   `pwsniff_pass` varchar(30) DEFAULT NULL,
    1405   `ahesp_spi` int(10) unsigned DEFAULT NULL,
    1406   UNIQUE KEY `id` (`id`),
    1407   KEY `ip_daddr` (`ip_daddr`),
    1408   KEY `ip_saddr` (`ip_saddr`)
    1409 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    1410 
    1411 --
    1412 -- Дамп данных таблицы `ulog`
    1413 --
    1414 
    1415 
    1416 -- --------------------------------------------------------
    1417 
    1418 --
    1419 -- Структура таблицы `users`
    1420 --
    1421 
    1422 CREATE TABLE IF NOT EXISTS `users` (
    1423   `id` int(11) NOT NULL AUTO_INCREMENT,
    1424   `name` varchar(32) NOT NULL,
    1425   `pass` varchar(32) NOT NULL,
    1426   `passch` varchar(32) NOT NULL,
    1427   `email` varchar(64) NOT NULL,
    1428   `date_reg` datetime NOT NULL,
    1429   `confirm` varchar(32) NOT NULL,
    1430   `subscribe` int(11) NOT NULL COMMENT 'Podpiska na novosti i dr informaciy',
    1431   `lastlogin` datetime NOT NULL,
    1432   `rname` varchar(32) NOT NULL,
    1433   `tel` varchar(16) NOT NULL,
    1434   `adres` varchar(128) NOT NULL,
    1435   `worker` tinyint(4) NOT NULL,
    1436   UNIQUE KEY `id` (`id`),
    1437   KEY `passch` (`passch`)
    1438 ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='Spisok pol''zovatelei' AUTO_INCREMENT=2 ;
    1439 
    1440 --
    1441 -- Дамп данных таблицы `users`
    1442 --
    1443 
    1444 INSERT INTO `users` (`id`, `name`, `pass`, `passch`, `email`, `date_reg`, `confirm`, `subscribe`, `lastlogin`, `rname`, `tel`, `adres`, `worker`) VALUES
    1445 (0, 'anonymous', 'NULL', '', '', '0000-00-00 00:00:00', '0', 0, '0000-00-00 00:00:00', 'anonymous', '', 'nothing', 0),
    1446 (1, 'root', '63a9f0ea7bb98050796b649e85481845', '', '', '0000-00-00 00:00:00', '0', 0, '2011-01-24 12:23:30', '', '', '', 0);
    1447 
    1448 -- --------------------------------------------------------
    1449 
    1450 --
    1451 -- Структура таблицы `users_acl`
    1452 --
    1453 
    1454 CREATE TABLE IF NOT EXISTS `users_acl` (
    1455   `id` int(11) NOT NULL AUTO_INCREMENT,
    1456   `uid` int(11) NOT NULL,
    1457   `object` varchar(64) NOT NULL,
    1458   `action` varchar(16) NOT NULL,
    1459   UNIQUE KEY `id` (`id`),
    1460   KEY `uid` (`uid`),
    1461   KEY `object` (`object`),
    1462   KEY `action` (`action`)
    1463 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    1464 
    1465 --
    1466 -- Дамп данных таблицы `users_acl`
    1467 --
    1468 
    1469 
    1470 -- --------------------------------------------------------
    1471 
    1472 --
    1473 -- Структура таблицы `users_bad_auth`
    1474 --
    1475 
    1476 CREATE TABLE IF NOT EXISTS `users_bad_auth` (
    1477   `id` int(11) NOT NULL AUTO_INCREMENT,
    1478   `ip` varchar(24) NOT NULL,
    1479   `time` double NOT NULL,
    1480   UNIQUE KEY `id` (`id`),
    1481   KEY `ip` (`ip`),
    1482   KEY `date` (`time`)
    1483 ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
    1484 
    1485 --
    1486 -- Дамп данных таблицы `users_bad_auth`
    1487 --
    1488 
    1489 
    1490 -- --------------------------------------------------------
    1491 
    1492 --
    1493 -- Структура таблицы `users_data`
    1494 --
    1495 
    1496 CREATE TABLE IF NOT EXISTS `users_data` (
    1497   `uid` int(11) NOT NULL DEFAULT '0',
    1498   `param` varchar(25) NOT NULL,
    1499   `value` varchar(128) NOT NULL,
    1500   UNIQUE KEY `uid` (`uid`,`param`),
    1501   KEY `value` (`value`)
    1502 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    1503 
    1504 --
    1505 -- Дамп данных таблицы `users_data`
    1506 --
    1507 -- --------------------------------------------------------
    1508 
    1509 --
    1510 -- Структура таблицы `users_grouplist`
    1511 --
    1512 
    1513 CREATE TABLE IF NOT EXISTS `users_grouplist` (
    1514   `id` int(11) NOT NULL AUTO_INCREMENT,
    1515   `name` varchar(50) NOT NULL,
    1516   `comment` text NOT NULL,
    1517   UNIQUE KEY `id` (`id`),
    1518   KEY `name` (`name`)
    1519 ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 PACK_KEYS=0 COMMENT='Spisok grupp' AUTO_INCREMENT=2 ;
    1520 
    1521 --
    1522 -- Дамп данных таблицы `users_grouplist`
    1523 --
    1524 
    1525 INSERT INTO `users_grouplist` (`id`, `name`, `comment`) VALUES
    1526 (1, 'root', '');
    1527 
    1528 -- --------------------------------------------------------
    1529 
    1530 --
    1531 -- Структура таблицы `users_groups_acl`
    1532 --
    1533 
    1534 CREATE TABLE IF NOT EXISTS `users_groups_acl` (
    1535   `id` int(11) NOT NULL AUTO_INCREMENT,
    1536   `gid` int(11) NOT NULL,
    1537   `object` varchar(64) NOT NULL,
    1538   `action` varchar(16) NOT NULL,
    1539   UNIQUE KEY `id` (`id`),
    1540   KEY `gid` (`gid`),
    1541   KEY `object` (`object`)
    1542 ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COMMENT='Привилегии групп' AUTO_INCREMENT=2 ;
    1543 
    1544 --
    1545 -- Дамп данных таблицы `users_groups_acl`
    1546 --
    1547 
    1548 INSERT INTO `users_groups_acl` (`id`, `gid`, `object`, `action`) VALUES
    1549 (1, 1, 'doc_list', '');
    1550 
    1551 -- --------------------------------------------------------
    1552 
    1553 --
    1554 -- Структура таблицы `users_in_group`
    1555 --
    1556 
    1557 CREATE TABLE IF NOT EXISTS `users_in_group` (
    1558   `id` int(11) NOT NULL AUTO_INCREMENT,
    1559   `uid` int(11) NOT NULL,
    1560   `gid` int(11) NOT NULL,
    1561   UNIQUE KEY `id` (`id`),
    1562   KEY `uid` (`uid`),
    1563   KEY `gid` (`gid`)
    1564 ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COMMENT='Соответствие групп и пользователей' AUTO_INCREMENT=2 ;
    1565 
    1566 --
    1567 -- Дамп данных таблицы `users_in_group`
    1568 --
    1569 
    1570 INSERT INTO `users_in_group` (`id`, `uid`, `gid`) VALUES
    1571 (1, 1, 1);
    1572 
    1573 -- --------------------------------------------------------
    1574 
    1575 --
    1576 -- Структура таблицы `users_objects`
    1577 --
    1578 
    1579 CREATE TABLE IF NOT EXISTS `users_objects` (
    1580   `id` int(11) NOT NULL AUTO_INCREMENT,
    1581   `object` varchar(32) NOT NULL,
    1582   `desc` varchar(128) NOT NULL,
    1583   `actions` varchar(128) NOT NULL,
    1584   UNIQUE KEY `id` (`id`),
    1585   KEY `object` (`object`)
    1586 ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=45;
    1587 
    1588 --
    1589 -- Дамп данных таблицы `users_objects`
    1590 --
    1591 
    1592 INSERT INTO `users_objects` (`id`, `object`, `desc`, `actions`) VALUES
    1593 (1, 'doc', 'Документы', ''),
    1594 (2, 'doc_list', 'Журнал документов', 'view,delete'),
    1595 (3, 'doc_postuplenie', 'Поступление', 'view,edit,create,apply,cancel,forcecancel,delete,today_cancel'),
    1596 (4, 'generic_articles', 'Доступ к статьям', 'view,edit,create,delete'),
    1597 (5, 'sys', 'Системные объекты', ''),
    1598 (6, 'generic', 'Общие объекты', ''),
    1599 (7, 'sys_acl', 'Управление привилегиями', 'view,edit'),
    1600 (8, 'doc_realizaciya', 'Реализация', 'view,edit,create,apply,cancel,forcecancel,delete,today_cancel'),
    1601 (9, 'doc_zayavka', 'Документ заявки', 'view,edit,create,apply,cancel,forcecancel,delete,today_cancel'),
    1602 (10, 'doc_kompredl', 'Коммерческое предложение', 'view,edit,create,apply,cancel,forcecancel,delete,today_cancel'),
    1603 (11, 'doc_dogovor', 'Договор', 'view,edit,create,apply,cancel,forcecancel,delete,today_cancel'),
    1604 (12, 'doc_doveren', 'Доверенность', 'view,edit,create,apply,cancel,forcecancel,delete,today_cancel'),
    1605 (13, 'doc_pbank', 'Приход средств в банк', 'view,edit,create,apply,cancel,forcecancel,delete,today_cancel'),
    1606 (14, 'doc_pertemeshenie', 'Перемещение товара', 'view,edit,create,apply,cancel,forcecancel,delete,today_cancel'),
    1607 (15, 'doc_perkas', 'Перемещение средств в кассе', 'view,edit,create,apply,cancel,forcecancel,delete,today_cancel'),
    1608 (16, 'doc_predlojenie', 'Предложение поставщика', 'view,edit,create,apply,cancel,forcecancel,delete,today_cancel'),
    1609 (17, 'doc_rbank', 'Расход средств из банка', 'view,edit,create,apply,cancel,forcecancel,delete,today_cancel'),
    1610 (18, 'doc_realiz_op', 'Оперативная реализация', 'view,edit,create,apply,cancel,forcecancel,delete,today_cancel'),
    1611 (19, 'doc_rko', 'Расходный кассовый ордер', 'view,edit,create,apply,cancel,forcecancel,delete,today_cancel'),
    1612 (20, 'doc_sborka', 'Сборка изделия', 'view,edit,create,apply,cancel,forcecancel,delete,today_cancel'),
    1613 (21, 'doc_specific', 'Спецификация', 'view,edit,create,apply,cancel,forcecancel,delete,today_cancel'),
    1614 (22, 'doc_v_puti', 'Товар в пути', 'view,edit,create,apply,cancel,forcecancel,delete,today_cancel'),
    1615 (23, 'list', 'Списки', ''),
    1616 (24, 'list_agent', 'Агенты', 'create,edit,view'),
    1617 (25, 'list_sklad', 'Склад', 'create,edit,view'),
    1618 (26, 'list_price_an', 'Анализатор прайсов', 'create,edit,view,delete'),
    1619 (27, 'list_agent_dov', 'Доверенные лица', 'create,edit,view'),
    1620 (28, 'report', 'Отчёты', ''),
    1621 (29, 'report_cash', 'Кассовый отчёт', 'view'),
    1622 (30, 'generic_news', 'Новости', 'view,create,edit,delete'),
    1623 (31, 'doc_service', 'Служебные функции', 'view'),
    1624 (32, 'doc_scripts', 'Сценарии и операции', 'view,exec'),
    1625 (33, 'log', 'Системные журналы', ''),
    1626 (34, 'log_browser', 'Статистирка броузеров', 'view'),
    1627 (35, 'log_error', 'Журнал ошибок', 'view'),
    1628 (36, 'log_access', 'Журнал посещений', 'view'),
    1629 (37, 'sys_async_task', 'Ассинхронные задачи', 'view,exec'),
    1630 (38, 'sys_ip-blacklist', 'Чёрный список IP адресов', 'view,create,delete'),
    1631 (39, 'sys_ip-log', 'Журнал обращений к ip адресам', 'view'),
    1632 (40, 'generic_price_an', 'Анализатор прайсов', 'view'),
    1633 (41, 'generic_galery', 'Фотогалерея', 'view,create,edit,delete'),
    1634 (42, 'doc_rko', 'Расходный кассовый ордер', 'view,edit,create,apply,cancel,forcecancel,delete,today_cancel'),
    1635 (43, 'doc_kordolga', 'Корректировка долга', 'view,edit,create,apply,cancel,forcecancel,delete,today_cancel'),
    1636 (44, 'admin', 'Администрирование', ''),
    1637 (45, 'admin_users', 'Администррирование пользователей', 'view,edit,delete'),
    1638 (46, 'admin_comments', 'Администрирование коментариев', 'view,delete');
    1639 
    1640 -- --------------------------------------------------------
    1641 
    1642 --
    1643 -- Структура таблицы `wiki`
    1644 --
    1645 
    1646 CREATE TABLE IF NOT EXISTS `wiki` (
    1647   `name` varchar(64) NOT NULL,
    1648   `date` datetime NOT NULL,
    1649   `autor` int(11) NOT NULL,
    1650   `changed` datetime NOT NULL,
    1651   `changeautor` int(11) NOT NULL,
    1652   `text` text NOT NULL,
    1653   `img_ext` varchar(4) NOT NULL,
    1654   UNIQUE KEY `name` (`name`),
    1655   KEY `date` (`date`),
    1656   KEY `autor` (`autor`),
    1657   KEY `changed` (`changed`),
    1658   KEY `changeautor` (`changeautor`)
    1659 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    1660 
    1661 --
    1662 -- Дамп данных таблицы `wiki`
    1663 --
    1664 
    1665 INSERT INTO `wiki` (`name`, `date`, `autor`, `changed`, `changeautor`, `text`) VALUES
    1666 ('main', '2010-06-22 10:49:25', 1, '2010-06-30 16:06:48', 1, '(:title Сайт в разработке:)\r\n\r\n');
    1667 
    1668 -- --------------------------------------------------------
    1669 
    1670 --
    1671 -- Структура таблицы `wikiphoto`
    1672 --
    1673 
    1674 CREATE TABLE IF NOT EXISTS `wikiphoto` (
    1675   `id` int(11) NOT NULL AUTO_INCREMENT,
    1676   `uid` int(11) NOT NULL DEFAULT '0',
    1677   `comment` varchar(64) NOT NULL,
    1678   UNIQUE KEY `id` (`id`)
    1679 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    1680 
    1681 --
    1682 -- Дамп данных таблицы `wikiphoto`
    1683 --
    1684 
    1685 
    1686 --
    1687 -- Ограничения внешнего ключа сохраненных таблиц
    1688 --
    1689 
    1690 --
    1691 -- Ограничения внешнего ключа таблицы `doc_agent`
    1692 --
    1693 ALTER TABLE `doc_agent`
    1694   ADD CONSTRAINT `doc_agent_ibfk_1` FOREIGN KEY (`group`) REFERENCES `doc_agent_group` (`id`);
    1695 
    1696 --
    1697 -- Ограничения внешнего ключа таблицы `doc_agent_dov`
    1698 --
    1699 ALTER TABLE `doc_agent_dov`
    1700   ADD CONSTRAINT `doc_agent_dov_ibfk_1` FOREIGN KEY (`ag_id`) REFERENCES `doc_agent` (`id`);
    1701 
    1702 --
    1703 -- Ограничения внешнего ключа таблицы `doc_base`
    1704 --
    1705 ALTER TABLE `doc_base`
    1706   ADD CONSTRAINT `doc_base_ibfk_2` FOREIGN KEY (`unit`) REFERENCES `doc_units` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
    1707   ADD CONSTRAINT `doc_base_ibfk_1` FOREIGN KEY (`group`) REFERENCES `doc_group` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;
    1708 
    1709 --
    1710 -- Ограничения внешнего ключа таблицы `doc_base_cnt`
    1711 --
    1712 ALTER TABLE `doc_base_cnt`
    1713   ADD CONSTRAINT `doc_base_cnt_ibfk_2` FOREIGN KEY (`sklad`) REFERENCES `doc_sklady` (`id`),
    1714   ADD CONSTRAINT `doc_base_cnt_ibfk_1` FOREIGN KEY (`id`) REFERENCES `doc_base` (`id`);
    1715 
    1716 --
    1717 -- Ограничения внешнего ключа таблицы `doc_base_cost`
    1718 --
    1719 ALTER TABLE `doc_base_cost`
    1720   ADD CONSTRAINT `doc_base_cost_ibfk_1` FOREIGN KEY (`pos_id`) REFERENCES `doc_base` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
    1721   ADD CONSTRAINT `doc_base_cost_ibfk_2` FOREIGN KEY (`cost_id`) REFERENCES `doc_cost` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;
    1722 
    1723 --
    1724 -- Ограничения внешнего ключа таблицы `doc_base_dop`
    1725 --
    1726 ALTER TABLE `doc_base_dop`
    1727   ADD CONSTRAINT `doc_base_dop_ibfk_1` FOREIGN KEY (`id`) REFERENCES `doc_base` (`id`);
    1728 
    1729 --
    1730 -- Ограничения внешнего ключа таблицы `doc_base_dop_type`
    1731 --
    1732 ALTER TABLE `doc_base_dop_type`
    1733   ADD CONSTRAINT `doc_base_dop_type_ibfk_1` FOREIGN KEY (`id`) REFERENCES `doc_base` (`id`);
    1734 
    1735 --
    1736 -- Ограничения внешнего ключа таблицы `doc_base_img`
    1737 --
    1738 ALTER TABLE `doc_base_img`
    1739   ADD CONSTRAINT `doc_base_img_ibfk_2` FOREIGN KEY (`img_id`) REFERENCES `doc_img` (`id`),
    1740   ADD CONSTRAINT `doc_base_img_ibfk_1` FOREIGN KEY (`pos_id`) REFERENCES `doc_base` (`id`);
    1741 
    1742 --
    1743 -- Ограничения внешнего ключа таблицы `doc_base_kompl`
    1744 --
    1745 ALTER TABLE `doc_base_kompl`
    1746   ADD CONSTRAINT `doc_base_kompl_ibfk_2` FOREIGN KEY (`kompl_id`) REFERENCES `doc_base` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
    1747   ADD CONSTRAINT `doc_base_kompl_ibfk_1` FOREIGN KEY (`pos_id`) REFERENCES `doc_base` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;
    1748 
    1749 --
    1750 -- Ограничения внешнего ключа таблицы `doc_base_values`
    1751 --
    1752 ALTER TABLE `doc_base_values`
    1753   ADD CONSTRAINT `doc_base_values_ibfk_1` FOREIGN KEY (`id`) REFERENCES `doc_base` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
    1754   ADD CONSTRAINT `doc_base_values_ibfk_2` FOREIGN KEY (`param_id`) REFERENCES `doc_base_params` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;
    1755 
    1756 --
    1757 -- Ограничения внешнего ключа таблицы `doc_dopdata`
    1758 --
    1759 ALTER TABLE `doc_dopdata`
    1760   ADD CONSTRAINT `doc_dopdata_ibfk_1` FOREIGN KEY (`doc`) REFERENCES `doc_list` (`id`);
    1761 
    1762 --
    1763 -- Ограничения внешнего ключа таблицы `doc_group_cost`
    1764 --
    1765 ALTER TABLE `doc_group_cost`
    1766   ADD CONSTRAINT `doc_group_cost_ibfk_1` FOREIGN KEY (`group_id`) REFERENCES `doc_group` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
    1767   ADD CONSTRAINT `doc_group_cost_ibfk_2` FOREIGN KEY (`cost_id`) REFERENCES `doc_cost` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;
    1768 
    1769 --
    1770 -- Ограничения внешнего ключа таблицы `doc_list`
    1771 --
    1772 ALTER TABLE `doc_list`
    1773   ADD CONSTRAINT `doc_list_ibfk_5` FOREIGN KEY (`type`) REFERENCES `doc_types` (`id`),
    1774   ADD CONSTRAINT `doc_list_ibfk_1` FOREIGN KEY (`agent`) REFERENCES `doc_agent` (`id`),
    1775   ADD CONSTRAINT `doc_list_ibfk_2` FOREIGN KEY (`user`) REFERENCES `users` (`id`),
    1776   ADD CONSTRAINT `doc_list_ibfk_3` FOREIGN KEY (`sklad`) REFERENCES `doc_sklady` (`id`),
    1777   ADD CONSTRAINT `doc_list_ibfk_4` FOREIGN KEY (`firm_id`) REFERENCES `doc_vars` (`id`);
    1778 
    1779 --
    1780 -- Ограничения внешнего ключа таблицы `doc_list_pos`
    1781 --
    1782 ALTER TABLE `doc_list_pos`
    1783   ADD CONSTRAINT `doc_list_pos_ibfk_2` FOREIGN KEY (`tovar`) REFERENCES `doc_base` (`id`),
    1784   ADD CONSTRAINT `doc_list_pos_ibfk_1` FOREIGN KEY (`doc`) REFERENCES `doc_list` (`id`);
    1785 
    1786 --
    1787 -- Ограничения внешнего ключа таблицы `doc_list_sn`
    1788 --
    1789 ALTER TABLE `doc_list_sn`
    1790   ADD CONSTRAINT `doc_list_sn_ibfk_4` FOREIGN KEY (`prix_list_pos`) REFERENCES `doc_list_pos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
    1791   ADD CONSTRAINT `doc_list_sn_ibfk_1` FOREIGN KEY (`pos_id`) REFERENCES `doc_base` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
    1792   ADD CONSTRAINT `doc_list_sn_ibfk_3` FOREIGN KEY (`rasx_list_pos`) REFERENCES `doc_list_pos` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;
    1793 
    1794 --
    1795 -- Ограничения внешнего ключа таблицы `firm_info_struct`
    1796 --
    1797 ALTER TABLE `firm_info_struct`
    1798   ADD CONSTRAINT `firm_info_struct_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm_info` (`id`);
    1799 
    1800 --
    1801 -- Ограничения внешнего ключа таблицы `parsed_price`
    1802 --
    1803 ALTER TABLE `parsed_price`
    1804   ADD CONSTRAINT `parsed_price_ibfk_2` FOREIGN KEY (`pos`) REFERENCES `price` (`id`),
    1805   ADD CONSTRAINT `parsed_price_ibfk_1` FOREIGN KEY (`firm`) REFERENCES `firm_info` (`id`);
    1806 
    1807 --
    1808 -- Ограничения внешнего ключа таблицы `photogalery`
    1809 --
    1810 ALTER TABLE `photogalery`
    1811   ADD CONSTRAINT `photogalery_ibfk_1` FOREIGN KEY (`uid`) REFERENCES `users` (`id`);
    1812 
    1813 --
    1814 -- Ограничения внешнего ключа таблицы `price`
    1815 --
    1816 ALTER TABLE `price`
    1817   ADD CONSTRAINT `price_ibfk_1` FOREIGN KEY (`firm`) REFERENCES `firm_info` (`id`);
    1818 
    1819 --
    1820 -- Ограничения внешнего ключа таблицы `tickets`
    1821 --
    1822 ALTER TABLE `tickets`
    1823   ADD CONSTRAINT `tickets_ibfk_2` FOREIGN KEY (`to_uid`) REFERENCES `users` (`id`),
    1824   ADD CONSTRAINT `tickets_ibfk_1` FOREIGN KEY (`autor`) REFERENCES `users` (`id`);
    1825 
    1826 --
    1827 -- Ограничения внешнего ключа таблицы `users_acl`
    1828 --
    1829 ALTER TABLE `users_acl`
    1830   ADD CONSTRAINT `users_acl_ibfk_1` FOREIGN KEY (`uid`) REFERENCES `users` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;
    1831 
    1832 --
    1833 -- Ограничения внешнего ключа таблицы `users_data`
    1834 --
    1835 ALTER TABLE `users_data`
    1836   ADD CONSTRAINT `users_data_ibfk_1` FOREIGN KEY (`uid`) REFERENCES `users` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;
    1837 
    1838 --
    1839 -- Ограничения внешнего ключа таблицы `users_groups_acl`
    1840 --
    1841 ALTER TABLE `users_groups_acl`
    1842   ADD CONSTRAINT `users_groups_acl_ibfk_1` FOREIGN KEY (`gid`) REFERENCES `users` (`id`);
    1843 
    1844 --
    1845 -- Ограничения внешнего ключа таблицы `users_in_group`
    1846 --
    1847 ALTER TABLE `users_in_group`
    1848   ADD CONSTRAINT `users_in_group_ibfk_1` FOREIGN KEY (`uid`) REFERENCES `users` (`id`),
    1849   ADD CONSTRAINT `users_in_group_ibfk_2` FOREIGN KEY (`gid`) REFERENCES `users_grouplist` (`id`);
    1850 
    1851 --
    1852 -- Ограничения внешнего ключа таблицы `wiki`
    1853 --
    1854 ALTER TABLE `wiki`
    1855   ADD CONSTRAINT `wiki_ibfk_1` FOREIGN KEY (`autor`) REFERENCES `users` (`id`);
     1SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
     2SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
     3SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
     4
     5
     6-- -----------------------------------------------------
     7-- Table `comments`
     8-- -----------------------------------------------------
     9CREATE  TABLE IF NOT EXISTS `comments` (
     10  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     11  `date` DATETIME NOT NULL ,
     12  `object_name` VARCHAR(16) NOT NULL COMMENT 'Имя(тип) объекта комментирования' ,
     13  `object_id` INT(11) NOT NULL COMMENT 'ID объекта комментирования' ,
     14  `autor_name` VARCHAR(16) NOT NULL COMMENT 'Имя автора (анонимного)' ,
     15  `autor_email` VARCHAR(32) NOT NULL COMMENT 'Электронная почта анонимного автора' ,
     16  `autor_id` INT(11) NOT NULL COMMENT 'UID автора' ,
     17  `text` TEXT NOT NULL COMMENT 'Текст коментария' ,
     18  `rate` TINYINT(4) NOT NULL COMMENT 'Оценка объекта (0-5)' ,
     19  `ip` VARCHAR(16) NOT NULL ,
     20  `user_agent` VARCHAR(128) NOT NULL ,
     21  `response` VARCHAR(512) NOT NULL COMMENT 'Ответ администрации' ,
     22  `responser` INT(11) NOT NULL COMMENT 'Автор ответа' ,
     23  PRIMARY KEY (`id`) ,
     24  INDEX `object_name` (`object_name` ASC) ,
     25  INDEX `object_id` (`object_id` ASC) ,
     26  INDEX `rate` (`rate` ASC) ,
     27  INDEX `date` (`date` ASC) )
     28ENGINE = InnoDB
     29DEFAULT CHARACTER SET = utf8
     30COMMENT = 'Коментарии к товарам, новостям, статьям и пр.' ;
     31
     32
     33-- -----------------------------------------------------
     34-- Table `counter`
     35-- -----------------------------------------------------
     36CREATE  TABLE IF NOT EXISTS `counter` (
     37  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     38  `date` BIGINT(20) NOT NULL DEFAULT '0' ,
     39  `ip` VARCHAR(32) NOT NULL DEFAULT '' ,
     40  `agent` VARCHAR(128) NOT NULL DEFAULT '' ,
     41  `refer` VARCHAR(128) NOT NULL ,
     42  `file` VARCHAR(32) NOT NULL DEFAULT '' ,
     43  `query` VARCHAR(128) NOT NULL DEFAULT '' ,
     44  UNIQUE INDEX `id` (`id` ASC) ,
     45  INDEX `time` (`date` ASC) ,
     46  INDEX `ip` (`ip` ASC) ,
     47  INDEX `agent` (`agent` ASC) ,
     48  INDEX `refer` (`refer` ASC) ,
     49  INDEX `file` (`file` ASC) )
     50ENGINE = MyISAM
     51DEFAULT CHARACTER SET = latin1;
     52
     53
     54-- -----------------------------------------------------
     55-- Table `currency`
     56-- -----------------------------------------------------
     57CREATE  TABLE IF NOT EXISTS `currency` (
     58  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     59  `name` VARCHAR(8) NOT NULL ,
     60  `coeff` DECIMAL(8,4) NOT NULL ,
     61  UNIQUE INDEX `id` (`id` ASC) ,
     62  UNIQUE INDEX `name` (`name` ASC) )
     63ENGINE = MyISAM
     64AUTO_INCREMENT = 1
     65DEFAULT CHARACTER SET = utf8;
     66
     67
     68-- -----------------------------------------------------
     69-- Table `doc_agent_group`
     70-- -----------------------------------------------------
     71CREATE  TABLE IF NOT EXISTS `doc_agent_group` (
     72  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     73  `name` VARCHAR(64) NOT NULL ,
     74  `pid` INT(11) NOT NULL ,
     75  `desc` VARCHAR(128) NOT NULL ,
     76  UNIQUE INDEX `id` (`id` ASC) ,
     77  INDEX `pid` (`pid` ASC) )
     78ENGINE = InnoDB
     79AUTO_INCREMENT = 3
     80DEFAULT CHARACTER SET = utf8;
     81
     82
     83-- -----------------------------------------------------
     84-- Table `doc_agent`
     85-- -----------------------------------------------------
     86CREATE  TABLE IF NOT EXISTS `doc_agent` (
     87  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     88  `group` INT(11) NOT NULL ,
     89  `name` VARCHAR(128) NOT NULL ,
     90  `fullname` VARCHAR(256) NOT NULL ,
     91  `tel` VARCHAR(64) NOT NULL ,
     92  `adres` VARCHAR(512) NOT NULL ,
     93  `gruzopol` VARCHAR(512) NOT NULL ,
     94  `inn` VARCHAR(24) NOT NULL ,
     95  `dir_fio` VARCHAR(128) NOT NULL ,
     96  `dir_fio_r` VARCHAR(128) NOT NULL ,
     97  `pfio` VARCHAR(128) NOT NULL ,
     98  `pdol` VARCHAR(128) NOT NULL ,
     99  `okevd` VARCHAR(8) NOT NULL ,
     100  `okpo` VARCHAR(16) NOT NULL ,
     101  `rs` VARCHAR(32) NOT NULL ,
     102  `bank` VARCHAR(64) NOT NULL ,
     103  `ks` VARCHAR(32) NOT NULL ,
     104  `bik` INT(11) NOT NULL ,
     105  `email` VARCHAR(64) NOT NULL ,
     106  `type` TINYINT(4) NOT NULL DEFAULT '1' ,
     107  `pasp_num` VARCHAR(12) NOT NULL ,
     108  `pasp_date` DATE NOT NULL ,
     109  `pasp_kem` VARCHAR(64) NOT NULL ,
     110  `comment` TEXT NOT NULL ,
     111  `no_mail` TINYINT(4) NOT NULL ,
     112  `responsible` INT(11) NOT NULL ,
     113  `data_sverki` DATE NOT NULL ,
     114  `dishonest` TINYINT(4) NOT NULL COMMENT 'Недобросовестный' ,
     115  UNIQUE INDEX `id` (`id` ASC) ,
     116  UNIQUE INDEX `uniq_name` (`group` ASC, `name` ASC) ,
     117  INDEX `name` (`name` ASC) ,
     118  INDEX `fullname` (`fullname`(255) ASC) ,
     119  INDEX `tel` (`tel` ASC) ,
     120  INDEX `inn` (`inn` ASC) ,
     121  INDEX `type` (`type` ASC) ,
     122  INDEX `pasp_num` (`pasp_num` ASC, `pasp_date` ASC, `pasp_kem` ASC) ,
     123  INDEX `group` (`group` ASC) ,
     124  CONSTRAINT `doc_agent_ibfk_1`
     125    FOREIGN KEY (`group` )
     126    REFERENCES `doc_agent_group` (`id` ),
     127  CONSTRAINT `doc_agent_ibfk_1`
     128    FOREIGN KEY (`group` )
     129    REFERENCES `doc_agent_group` (`id` ))
     130ENGINE = InnoDB
     131AUTO_INCREMENT = 3
     132DEFAULT CHARACTER SET = utf8,
     133COMMENT = 'pcomment - printable comment' ;
     134
     135
     136-- -----------------------------------------------------
     137-- Table `doc_agent_dov`
     138-- -----------------------------------------------------
     139CREATE  TABLE IF NOT EXISTS `doc_agent_dov` (
     140  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     141  `ag_id` INT(11) NOT NULL ,
     142  `name` VARCHAR(64) NOT NULL ,
     143  `name2` VARCHAR(64) NOT NULL ,
     144  `surname` VARCHAR(64) NOT NULL ,
     145  `range` VARCHAR(64) NOT NULL ,
     146  `pasp_ser` VARCHAR(8) NOT NULL ,
     147  `pasp_num` VARCHAR(16) NOT NULL ,
     148  `pasp_kem` VARCHAR(128) NOT NULL ,
     149  `pasp_data` VARCHAR(16) NOT NULL ,
     150  `mark_del` BIGINT(20) NOT NULL ,
     151  UNIQUE INDEX `id` (`id` ASC) ,
     152  INDEX `ag_id` (`ag_id` ASC) ,
     153  INDEX `name` (`name` ASC) ,
     154  INDEX `name2` (`name2` ASC) ,
     155  INDEX `surname` (`surname` ASC) ,
     156  INDEX `range` (`range` ASC) ,
     157  INDEX `pasp_ser` (`pasp_ser` ASC) ,
     158  INDEX `pasp_num` (`pasp_num` ASC) ,
     159  INDEX `pasp_kem` (`pasp_kem` ASC) ,
     160  INDEX `pasp_data` (`pasp_data` ASC) ,
     161  INDEX `mark_del` (`mark_del` ASC) ,
     162  CONSTRAINT `doc_agent_dov_ibfk_1`
     163    FOREIGN KEY (`ag_id` )
     164    REFERENCES `doc_agent` (`id` ),
     165  CONSTRAINT `doc_agent_dov_ibfk_1`
     166    FOREIGN KEY (`ag_id` )
     167    REFERENCES `doc_agent` (`id` ))
     168ENGINE = InnoDB
     169AUTO_INCREMENT = 2
     170DEFAULT CHARACTER SET = utf8;
     171
     172
     173-- -----------------------------------------------------
     174-- Table `doc_units`
     175-- -----------------------------------------------------
     176CREATE  TABLE IF NOT EXISTS `doc_units` (
     177  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     178  `name` VARCHAR(16) NOT NULL ,
     179  `printname` VARCHAR(8) NOT NULL ,
     180  UNIQUE INDEX `id` (`id` ASC) ,
     181  INDEX `name` (`name` ASC) ,
     182  INDEX `printname` (`printname` ASC) )
     183ENGINE = InnoDB
     184AUTO_INCREMENT = 8
     185DEFAULT CHARACTER SET = utf8;
     186
     187
     188-- -----------------------------------------------------
     189-- Table `doc_group`
     190-- -----------------------------------------------------
     191CREATE  TABLE IF NOT EXISTS `doc_group` (
     192  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     193  `name` VARCHAR(64) NOT NULL ,
     194  `desc` TEXT NOT NULL ,
     195  `pid` INT(11) NOT NULL ,
     196  `hidelevel` TINYINT(4) NOT NULL ,
     197  `printname` VARCHAR(64) NOT NULL ,
     198  `no_export_yml` TINYINT(4) NOT NULL COMMENT 'Не экспортировать в YML' ,
     199  UNIQUE INDEX `id` (`id` ASC) ,
     200  UNIQUE INDEX `name` (`name` ASC) ,
     201  INDEX `pid` (`pid` ASC) ,
     202  INDEX `hidelevel` (`hidelevel` ASC) )
     203ENGINE = InnoDB
     204AUTO_INCREMENT = 3
     205DEFAULT CHARACTER SET = utf8;
     206
     207
     208-- -----------------------------------------------------
     209-- Table `doc_base`
     210-- -----------------------------------------------------
     211CREATE  TABLE IF NOT EXISTS `doc_base` (
     212  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     213  `group` INT(11) NOT NULL DEFAULT '0' COMMENT 'ID группы' ,
     214  `name` VARCHAR(128) NOT NULL COMMENT 'Наименование' ,
     215  `vc` VARCHAR(32) NOT NULL COMMENT 'Код изготовителя' ,
     216  `desc` TEXT NOT NULL COMMENT 'Описание' ,
     217  `cost` DOUBLE NOT NULL DEFAULT '0.00' COMMENT 'Цена' ,
     218  `stock` TINYINT(1) NOT NULL DEFAULT '0' COMMENT 'Распродажа' ,
     219  `proizv` VARCHAR(24) NOT NULL COMMENT 'Производитель' ,
     220  `likvid` DECIMAL(6,2) NOT NULL DEFAULT '0.00' COMMENT 'Ликвидность' ,
     221  `cost_date` DATETIME NOT NULL COMMENT 'Дата изменения цены' ,
     222  `pos_type` TINYINT(4) NOT NULL COMMENT 'Товар - услуга' ,
     223  `hidden` TINYINT(4) NOT NULL COMMENT 'Индекс сокрытия' ,
     224  `no_export_yml` TINYINT(4) NOT NULL COMMENT 'Не экспортировать в YML' ,
     225  `unit` INT(11) NOT NULL COMMENT 'Единица измерения' ,
     226  `warranty` INT(11) NOT NULL COMMENT 'Гарантийный срок' ,
     227  `warranty_type` TINYINT(4) NOT NULL COMMENT 'Гарантия производителя' ,
     228  `rate` TINYINT(4) NOT NULL COMMENT 'Рейтинг товара' ,
     229  UNIQUE INDEX `id` (`id` ASC) ,
     230  INDEX `group` (`group` ASC) ,
     231  INDEX `name` (`name` ASC) ,
     232  INDEX `stock` (`stock` ASC) ,
     233  INDEX `cost_date` (`cost_date` ASC) ,
     234  INDEX `hidden` (`hidden` ASC) ,
     235  INDEX `unit` (`unit` ASC) ,
     236  INDEX `vc` (`vc` ASC) ,
     237  CONSTRAINT `doc_base_ibfk_2`
     238    FOREIGN KEY (`unit` )
     239    REFERENCES `doc_units` (`id` )
     240    ON DELETE NO ACTION
     241    ON UPDATE NO ACTION,
     242  CONSTRAINT `doc_base_ibfk_1`
     243    FOREIGN KEY (`group` )
     244    REFERENCES `doc_group` (`id` )
     245    ON DELETE NO ACTION
     246    ON UPDATE NO ACTION,
     247  CONSTRAINT `doc_base_ibfk_2`
     248    FOREIGN KEY (`unit` )
     249    REFERENCES `doc_units` (`id` )
     250    ON DELETE NO ACTION
     251    ON UPDATE NO ACTION,
     252  CONSTRAINT `doc_base_ibfk_1`
     253    FOREIGN KEY (`group` )
     254    REFERENCES `doc_group` (`id` )
     255    ON DELETE NO ACTION
     256    ON UPDATE NO ACTION)
     257ENGINE = InnoDB
     258AUTO_INCREMENT = 3
     259DEFAULT CHARACTER SET = utf8;
     260
     261
     262-- -----------------------------------------------------
     263-- Table `doc_sklady`
     264-- -----------------------------------------------------
     265CREATE  TABLE IF NOT EXISTS `doc_sklady` (
     266  `id` TINYINT(4) NOT NULL AUTO_INCREMENT ,
     267  `name` VARCHAR(100) NOT NULL ,
     268  `comment` TEXT NOT NULL ,
     269  `dnc` TINYINT(4) NOT NULL COMMENT 'Не контролоировать остатки' ,
     270  INDEX `id` (`id` ASC) ,
     271  INDEX `name` (`name` ASC) ,
     272  INDEX `dnc` (`dnc` ASC) )
     273ENGINE = InnoDB
     274AUTO_INCREMENT = 3
     275DEFAULT CHARACTER SET = utf8;
     276
     277
     278-- -----------------------------------------------------
     279-- Table `doc_base_cnt`
     280-- -----------------------------------------------------
     281CREATE  TABLE IF NOT EXISTS `doc_base_cnt` (
     282  `id` INT(11) NOT NULL ,
     283  `sklad` TINYINT(4) NOT NULL ,
     284  `cnt` DOUBLE NOT NULL ,
     285  `mesto` INT(11) NOT NULL ,
     286  `mincnt` INT(11) NOT NULL ,
     287  PRIMARY KEY (`id`, `sklad`) ,
     288  INDEX `cnt` (`cnt` ASC) ,
     289  INDEX `mesto` (`mesto` ASC) ,
     290  INDEX `mincnt` (`mincnt` ASC) ,
     291  INDEX `sklad` (`sklad` ASC) ,
     292  CONSTRAINT `doc_base_cnt_ibfk_2`
     293    FOREIGN KEY (`sklad` )
     294    REFERENCES `doc_sklady` (`id` ),
     295  CONSTRAINT `doc_base_cnt_ibfk_1`
     296    FOREIGN KEY (`id` )
     297    REFERENCES `doc_base` (`id` ),
     298  CONSTRAINT `doc_base_cnt_ibfk_2`
     299    FOREIGN KEY (`sklad` )
     300    REFERENCES `doc_sklady` (`id` ),
     301  CONSTRAINT `doc_base_cnt_ibfk_1`
     302    FOREIGN KEY (`id` )
     303    REFERENCES `doc_base` (`id` ))
     304ENGINE = InnoDB
     305DEFAULT CHARACTER SET = utf8;
     306
     307
     308-- -----------------------------------------------------
     309-- Table `doc_cost`
     310-- -----------------------------------------------------
     311CREATE  TABLE IF NOT EXISTS `doc_cost` (
     312  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     313  `name` VARCHAR(25) NOT NULL ,
     314  `type` VARCHAR(5) NOT NULL ,
     315  `value` DECIMAL(8,2) NOT NULL COMMENT 'Значение цены' ,
     316  `vid` TINYINT(4) NOT NULL COMMENT 'Вид цены определяет места её использования' ,
     317  `accuracy` TINYINT(4) NOT NULL COMMENT 'Точность для округления' ,
     318  `direction` TINYINT(4) NOT NULL COMMENT 'Направление округления' ,
     319  UNIQUE INDEX `id` (`id` ASC) )
     320ENGINE = InnoDB
     321AUTO_INCREMENT = 5
     322DEFAULT CHARACTER SET = utf8;
     323
     324
     325-- -----------------------------------------------------
     326-- Table `doc_base_cost`
     327-- -----------------------------------------------------
     328CREATE  TABLE IF NOT EXISTS `doc_base_cost` (
     329  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     330  `pos_id` INT(11) NOT NULL ,
     331  `cost_id` INT(11) NOT NULL ,
     332  `type` VARCHAR(5) NOT NULL ,
     333  `value` DECIMAL(8,2) NOT NULL ,
     334  `accuracy` TINYINT(4) NOT NULL ,
     335  `direction` TINYINT(4) NOT NULL ,
     336  UNIQUE INDEX `id` (`id` ASC) ,
     337  UNIQUE INDEX `uniq` (`pos_id` ASC, `cost_id` ASC) ,
     338  INDEX `group_id` (`pos_id` ASC) ,
     339  INDEX `cost_id` (`cost_id` ASC) ,
     340  INDEX `value` (`value` ASC) ,
     341  INDEX `type` (`type` ASC) ,
     342  CONSTRAINT `doc_base_cost_ibfk_1`
     343    FOREIGN KEY (`pos_id` )
     344    REFERENCES `doc_base` (`id` )
     345    ON DELETE NO ACTION
     346    ON UPDATE NO ACTION,
     347  CONSTRAINT `doc_base_cost_ibfk_2`
     348    FOREIGN KEY (`cost_id` )
     349    REFERENCES `doc_cost` (`id` )
     350    ON DELETE NO ACTION
     351    ON UPDATE NO ACTION,
     352  CONSTRAINT `doc_base_cost_ibfk_1`
     353    FOREIGN KEY (`pos_id` )
     354    REFERENCES `doc_base` (`id` )
     355    ON DELETE NO ACTION
     356    ON UPDATE NO ACTION,
     357  CONSTRAINT `doc_base_cost_ibfk_2`
     358    FOREIGN KEY (`cost_id` )
     359    REFERENCES `doc_cost` (`id` )
     360    ON DELETE NO ACTION
     361    ON UPDATE NO ACTION)
     362ENGINE = InnoDB
     363AUTO_INCREMENT = 1
     364DEFAULT CHARACTER SET = utf8;
     365
     366
     367-- -----------------------------------------------------
     368-- Table `doc_base_dop`
     369-- -----------------------------------------------------
     370CREATE  TABLE IF NOT EXISTS `doc_base_dop` (
     371  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     372  `type` INT(11) NOT NULL DEFAULT '0' ,
     373  `d_int` DOUBLE NOT NULL DEFAULT '0' ,
     374  `d_ext` DOUBLE NOT NULL DEFAULT '0' ,
     375  `size` DOUBLE NOT NULL DEFAULT '0' ,
     376  `mass` DOUBLE NOT NULL DEFAULT '0' ,
     377  `analog` VARCHAR(20) NOT NULL ,
     378  `koncost` DOUBLE NOT NULL DEFAULT '0' ,
     379  `strana` VARCHAR(20) NOT NULL ,
     380  `tranzit` TINYINT(4) NOT NULL ,
     381  `ntd` VARCHAR(32) NOT NULL ,
     382  UNIQUE INDEX `id` (`id` ASC) ,
     383  INDEX `type` (`type` ASC) ,
     384  INDEX `d_int` (`d_int` ASC) ,
     385  INDEX `d_ext` (`d_ext` ASC) ,
     386  INDEX `size` (`size` ASC) ,
     387  INDEX `mass` (`mass` ASC) ,
     388  INDEX `analog` (`analog` ASC) ,
     389  INDEX `koncost` (`koncost` ASC) ,
     390  CONSTRAINT `doc_base_dop_ibfk_1`
     391    FOREIGN KEY (`id` )
     392    REFERENCES `doc_base` (`id` ),
     393  CONSTRAINT `doc_base_dop_ibfk_1`
     394    FOREIGN KEY (`id` )
     395    REFERENCES `doc_base` (`id` ))
     396ENGINE = InnoDB
     397AUTO_INCREMENT = 2
     398DEFAULT CHARACTER SET = utf8;
     399
     400
     401-- -----------------------------------------------------
     402-- Table `doc_base_dop_type`
     403-- -----------------------------------------------------
     404CREATE  TABLE IF NOT EXISTS `doc_base_dop_type` (
     405  `id` INT(11) NOT NULL ,
     406  `name` VARCHAR(70) NOT NULL ,
     407  `desc` TEXT NOT NULL ,
     408  UNIQUE INDEX `id` (`id` ASC) ,
     409  INDEX `name` (`name` ASC) ,
     410  CONSTRAINT `doc_base_dop_type_ibfk_1`
     411    FOREIGN KEY (`id` )
     412    REFERENCES `doc_base` (`id` ),
     413  CONSTRAINT `doc_base_dop_type_ibfk_1`
     414    FOREIGN KEY (`id` )
     415    REFERENCES `doc_base` (`id` ))
     416ENGINE = InnoDB
     417DEFAULT CHARACTER SET = utf8;
     418
     419
     420-- -----------------------------------------------------
     421-- Table `doc_img`
     422-- -----------------------------------------------------
     423CREATE  TABLE IF NOT EXISTS `doc_img` (
     424  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     425  `name` VARCHAR(100) NOT NULL ,
     426  `type` VARCHAR(4) NOT NULL ,
     427  UNIQUE INDEX `id` (`id` ASC) ,
     428  UNIQUE INDEX `name` (`name` ASC) )
     429ENGINE = InnoDB
     430AUTO_INCREMENT = 1
     431DEFAULT CHARACTER SET = utf8;
     432
     433
     434-- -----------------------------------------------------
     435-- Table `doc_base_img`
     436-- -----------------------------------------------------
     437CREATE  TABLE IF NOT EXISTS `doc_base_img` (
     438  `pos_id` INT(11) NOT NULL ,
     439  `img_id` INT(11) NOT NULL ,
     440  `default` TINYINT(4) NOT NULL ,
     441  UNIQUE INDEX `pos_id` (`pos_id` ASC, `img_id` ASC) ,
     442  INDEX `default` (`default` ASC) ,
     443  INDEX `img_id` (`img_id` ASC) ,
     444  CONSTRAINT `doc_base_img_ibfk_2`
     445    FOREIGN KEY (`img_id` )
     446    REFERENCES `doc_img` (`id` ),
     447  CONSTRAINT `doc_base_img_ibfk_1`
     448    FOREIGN KEY (`pos_id` )
     449    REFERENCES `doc_base` (`id` ),
     450  CONSTRAINT `doc_base_img_ibfk_2`
     451    FOREIGN KEY (`img_id` )
     452    REFERENCES `doc_img` (`id` ),
     453  CONSTRAINT `doc_base_img_ibfk_1`
     454    FOREIGN KEY (`pos_id` )
     455    REFERENCES `doc_base` (`id` ))
     456ENGINE = InnoDB
     457DEFAULT CHARACTER SET = utf8;
     458
     459
     460-- -----------------------------------------------------
     461-- Table `doc_base_kompl`
     462-- -----------------------------------------------------
     463CREATE  TABLE IF NOT EXISTS `doc_base_kompl` (
     464  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     465  `pos_id` INT(11) NOT NULL COMMENT 'id наименования' ,
     466  `kompl_id` INT(11) NOT NULL COMMENT 'id комплектующего' ,
     467  `cnt` INT(11) NOT NULL COMMENT 'количество' ,
     468  UNIQUE INDEX `id` (`id` ASC) ,
     469  INDEX `kompl_id` (`kompl_id` ASC) ,
     470  INDEX `cnt` (`cnt` ASC) ,
     471  INDEX `pos_id` (`pos_id` ASC) ,
     472  CONSTRAINT `doc_base_kompl_ibfk_2`
     473    FOREIGN KEY (`kompl_id` )
     474    REFERENCES `doc_base` (`id` )
     475    ON DELETE NO ACTION
     476    ON UPDATE NO ACTION,
     477  CONSTRAINT `doc_base_kompl_ibfk_1`
     478    FOREIGN KEY (`pos_id` )
     479    REFERENCES `doc_base` (`id` )
     480    ON DELETE NO ACTION
     481    ON UPDATE NO ACTION,
     482  CONSTRAINT `doc_base_kompl_ibfk_2`
     483    FOREIGN KEY (`kompl_id` )
     484    REFERENCES `doc_base` (`id` )
     485    ON DELETE NO ACTION
     486    ON UPDATE NO ACTION,
     487  CONSTRAINT `doc_base_kompl_ibfk_1`
     488    FOREIGN KEY (`pos_id` )
     489    REFERENCES `doc_base` (`id` )
     490    ON DELETE NO ACTION
     491    ON UPDATE NO ACTION)
     492ENGINE = InnoDB
     493AUTO_INCREMENT = 1
     494DEFAULT CHARACTER SET = utf8,
     495COMMENT = 'Комплектующие - из чего состоит эта позиция' ;
     496
     497
     498-- -----------------------------------------------------
     499-- Table `doc_base_params`
     500-- -----------------------------------------------------
     501CREATE  TABLE IF NOT EXISTS `doc_base_params` (
     502  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     503  `param` VARCHAR(32) NOT NULL ,
     504  `type` VARCHAR(8) NOT NULL ,
     505  UNIQUE INDEX `id` (`id` ASC) ,
     506  INDEX `param` (`param` ASC) )
     507ENGINE = InnoDB
     508AUTO_INCREMENT = 6
     509DEFAULT CHARACTER SET = utf8;
     510
     511
     512-- -----------------------------------------------------
     513-- Table `doc_base_values`
     514-- -----------------------------------------------------
     515CREATE  TABLE IF NOT EXISTS `doc_base_values` (
     516  `id` INT(11) NOT NULL ,
     517  `param_id` INT(11) NOT NULL ,
     518  `value` VARCHAR(32) NOT NULL ,
     519  UNIQUE INDEX `unique` (`id` ASC, `param_id` ASC) ,
     520  INDEX `id` (`id` ASC) ,
     521  INDEX `param` (`param_id` ASC) ,
     522  INDEX `value` (`value` ASC) ,
     523  CONSTRAINT `doc_base_values_ibfk_1`
     524    FOREIGN KEY (`id` )
     525    REFERENCES `doc_base` (`id` )
     526    ON DELETE NO ACTION
     527    ON UPDATE NO ACTION,
     528  CONSTRAINT `doc_base_values_ibfk_2`
     529    FOREIGN KEY (`param_id` )
     530    REFERENCES `doc_base_params` (`id` )
     531    ON DELETE NO ACTION
     532    ON UPDATE NO ACTION,
     533  CONSTRAINT `doc_base_values_ibfk_1`
     534    FOREIGN KEY (`id` )
     535    REFERENCES `doc_base` (`id` )
     536    ON DELETE NO ACTION
     537    ON UPDATE NO ACTION,
     538  CONSTRAINT `doc_base_values_ibfk_2`
     539    FOREIGN KEY (`param_id` )
     540    REFERENCES `doc_base_params` (`id` )
     541    ON DELETE NO ACTION
     542    ON UPDATE NO ACTION)
     543ENGINE = InnoDB
     544DEFAULT CHARACTER SET = utf8;
     545
     546
     547-- -----------------------------------------------------
     548-- Table `doc_types`
     549-- -----------------------------------------------------
     550CREATE  TABLE IF NOT EXISTS `doc_types` (
     551  `id` TINYINT(4) NOT NULL AUTO_INCREMENT ,
     552  `name` VARCHAR(30) NOT NULL ,
     553  INDEX `id` (`id` ASC) )
     554ENGINE = InnoDB
     555AUTO_INCREMENT = 18
     556DEFAULT CHARACTER SET = utf8;
     557
     558
     559-- -----------------------------------------------------
     560-- Table `users`
     561-- -----------------------------------------------------
     562CREATE  TABLE IF NOT EXISTS `users` (
     563  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     564  `name` VARCHAR(32) NOT NULL ,
     565  `pass` VARCHAR(32) NOT NULL ,
     566  `passch` VARCHAR(32) NOT NULL ,
     567  `email` VARCHAR(64) NOT NULL ,
     568  `date_reg` DATETIME NOT NULL ,
     569  `confirm` VARCHAR(32) NOT NULL ,
     570  `subscribe` INT(11) NOT NULL COMMENT 'Podpiska na novosti i dr informaciy' ,
     571  `lastlogin` DATETIME NOT NULL ,
     572  `rname` VARCHAR(32) NOT NULL ,
     573  `tel` VARCHAR(16) NOT NULL ,
     574  `adres` VARCHAR(128) NOT NULL ,
     575  `worker` TINYINT(4) NOT NULL ,
     576  UNIQUE INDEX `id` (`id` ASC) ,
     577  INDEX `passch` (`passch` ASC) )
     578ENGINE = InnoDB
     579AUTO_INCREMENT = 2
     580DEFAULT CHARACTER SET = utf8,
     581COMMENT = 'Список пользователей' ;
     582
     583
     584-- -----------------------------------------------------
     585-- Table `doc_vars`
     586-- -----------------------------------------------------
     587CREATE  TABLE IF NOT EXISTS `doc_vars` (
     588  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     589  `firm_name` VARCHAR(150) NOT NULL ,
     590  `firm_director` VARCHAR(100) NOT NULL ,
     591  `firm_director_r` VARCHAR(100) NOT NULL ,
     592  `firm_manager` VARCHAR(100) NOT NULL ,
     593  `firm_buhgalter` VARCHAR(100) NOT NULL ,
     594  `firm_kladovshik` VARCHAR(100) NOT NULL ,
     595  `firm_kladovshik_id` INT(11) NOT NULL ,
     596  `firm_bank` VARCHAR(100) NOT NULL ,
     597  `firm_bank_kor_s` VARCHAR(25) NOT NULL ,
     598  `firm_bik` VARCHAR(15) NOT NULL ,
     599  `firm_schet` VARCHAR(25) NOT NULL ,
     600  `firm_inn` VARCHAR(25) NOT NULL ,
     601  `firm_adres` VARCHAR(150) NOT NULL ,
     602  `firm_realadres` VARCHAR(150) NOT NULL ,
     603  `firm_gruzootpr` VARCHAR(300) NOT NULL ,
     604  `firm_telefon` VARCHAR(60) NOT NULL ,
     605  `firm_okpo` VARCHAR(10) NOT NULL ,
     606  `param_nds` DOUBLE NOT NULL DEFAULT '0' ,
     607  `firm_skin` VARCHAR(16) NOT NULL ,
     608  UNIQUE INDEX `id` (`id` ASC) )
     609ENGINE = InnoDB
     610AUTO_INCREMENT = 2
     611DEFAULT CHARACTER SET = utf8;
     612
     613
     614-- -----------------------------------------------------
     615-- Table `doc_list`
     616-- -----------------------------------------------------
     617CREATE  TABLE IF NOT EXISTS `doc_list` (
     618  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     619  `type` TINYINT(4) NOT NULL DEFAULT '0' ,
     620  `agent` INT(11) NOT NULL DEFAULT '0' ,
     621  `comment` TEXT NOT NULL ,
     622  `date` BIGINT(20) NOT NULL DEFAULT '0' ,
     623  `ok` BIGINT(20) NOT NULL DEFAULT '0' ,
     624  `sklad` TINYINT(4) NOT NULL DEFAULT '0' ,
     625  `kassa` TINYINT(4) NOT NULL DEFAULT '0' ,
     626  `bank` TINYINT(4) NOT NULL DEFAULT '0' ,
     627  `user` INT(11) NOT NULL DEFAULT '0' ,
     628  `altnum` INT(11) NOT NULL ,
     629  `subtype` VARCHAR(5) NOT NULL ,
     630  `sum` DECIMAL(10,2) NOT NULL DEFAULT '0.00' ,
     631  `nds` INT(11) NOT NULL DEFAULT '0' ,
     632  `p_doc` INT(11) NOT NULL ,
     633  `mark_del` BIGINT(20) NOT NULL ,
     634  `firm_id` INT(11) NOT NULL DEFAULT '1' ,
     635  `err_flag` TINYINT(4) NOT NULL DEFAULT '0' ,
     636  UNIQUE INDEX `id` (`id` ASC) ,
     637  INDEX `type` (`type` ASC) ,
     638  INDEX `fio` (`agent` ASC) ,
     639  INDEX `date` (`date` ASC) ,
     640  INDEX `altnum` (`altnum` ASC) ,
     641  INDEX `p_doc` (`p_doc` ASC) ,
     642  INDEX `ok` (`ok` ASC) ,
     643  INDEX `sklad` (`sklad` ASC) ,
     644  INDEX `user` (`user` ASC) ,
     645  INDEX `subtype` (`subtype` ASC) ,
     646  INDEX `mark_del` (`mark_del` ASC) ,
     647  INDEX `firm_id` (`firm_id` ASC) ,
     648  INDEX `kassa` (`kassa` ASC, `bank` ASC) ,
     649  CONSTRAINT `doc_list_ibfk_5`
     650    FOREIGN KEY (`type` )
     651    REFERENCES `doc_types` (`id` ),
     652  CONSTRAINT `doc_list_ibfk_1`
     653    FOREIGN KEY (`agent` )
     654    REFERENCES `doc_agent` (`id` ),
     655  CONSTRAINT `doc_list_ibfk_2`
     656    FOREIGN KEY (`user` )
     657    REFERENCES `users` (`id` ),
     658  CONSTRAINT `doc_list_ibfk_3`
     659    FOREIGN KEY (`sklad` )
     660    REFERENCES `doc_sklady` (`id` ),
     661  CONSTRAINT `doc_list_ibfk_4`
     662    FOREIGN KEY (`firm_id` )
     663    REFERENCES `doc_vars` (`id` ),
     664  CONSTRAINT `doc_list_ibfk_5`
     665    FOREIGN KEY (`type` )
     666    REFERENCES `doc_types` (`id` ),
     667  CONSTRAINT `doc_list_ibfk_1`
     668    FOREIGN KEY (`agent` )
     669    REFERENCES `doc_agent` (`id` ),
     670  CONSTRAINT `doc_list_ibfk_2`
     671    FOREIGN KEY (`user` )
     672    REFERENCES `users` (`id` ),
     673  CONSTRAINT `doc_list_ibfk_3`
     674    FOREIGN KEY (`sklad` )
     675    REFERENCES `doc_sklady` (`id` ),
     676  CONSTRAINT `doc_list_ibfk_4`
     677    FOREIGN KEY (`firm_id` )
     678    REFERENCES `doc_vars` (`id` ))
     679ENGINE = InnoDB
     680AUTO_INCREMENT = 1
     681DEFAULT CHARACTER SET = utf8;
     682
     683
     684-- -----------------------------------------------------
     685-- Table `doc_dopdata`
     686-- -----------------------------------------------------
     687CREATE  TABLE IF NOT EXISTS `doc_dopdata` (
     688  `doc` INT(11) NOT NULL ,
     689  `param` VARCHAR(20) NOT NULL ,
     690  `value` VARCHAR(150) NOT NULL ,
     691  UNIQUE INDEX `doc` (`doc` ASC, `param` ASC) ,
     692  INDEX `value` (`value` ASC) ,
     693  CONSTRAINT `doc_dopdata_ibfk_1`
     694    FOREIGN KEY (`doc` )
     695    REFERENCES `doc_list` (`id` ),
     696  CONSTRAINT `doc_dopdata_ibfk_1`
     697    FOREIGN KEY (`doc` )
     698    REFERENCES `doc_list` (`id` ))
     699ENGINE = InnoDB
     700DEFAULT CHARACTER SET = utf8;
     701
     702
     703-- -----------------------------------------------------
     704-- Table `doc_group_cost`
     705-- -----------------------------------------------------
     706CREATE  TABLE IF NOT EXISTS `doc_group_cost` (
     707  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     708  `group_id` INT(11) NOT NULL ,
     709  `cost_id` INT(11) NOT NULL ,
     710  `type` VARCHAR(5) NOT NULL ,
     711  `value` DECIMAL(8,2) NOT NULL ,
     712  `accuracy` TINYINT(4) NOT NULL COMMENT 'Точность для округления' ,
     713  `direction` TINYINT(4) NOT NULL COMMENT 'Направление округления' ,
     714  UNIQUE INDEX `id` (`id` ASC) ,
     715  UNIQUE INDEX `uniq` (`group_id` ASC, `cost_id` ASC) ,
     716  INDEX `group_id` (`group_id` ASC) ,
     717  INDEX `cost_id` (`cost_id` ASC) ,
     718  INDEX `value` (`value` ASC) ,
     719  INDEX `type` (`type` ASC) ,
     720  CONSTRAINT `doc_group_cost_ibfk_1`
     721    FOREIGN KEY (`group_id` )
     722    REFERENCES `doc_group` (`id` )
     723    ON DELETE NO ACTION
     724    ON UPDATE NO ACTION,
     725  CONSTRAINT `doc_group_cost_ibfk_2`
     726    FOREIGN KEY (`cost_id` )
     727    REFERENCES `doc_cost` (`id` )
     728    ON DELETE NO ACTION
     729    ON UPDATE NO ACTION,
     730  CONSTRAINT `doc_group_cost_ibfk_1`
     731    FOREIGN KEY (`group_id` )
     732    REFERENCES `doc_group` (`id` )
     733    ON DELETE NO ACTION
     734    ON UPDATE NO ACTION,
     735  CONSTRAINT `doc_group_cost_ibfk_2`
     736    FOREIGN KEY (`cost_id` )
     737    REFERENCES `doc_cost` (`id` )
     738    ON DELETE NO ACTION
     739    ON UPDATE NO ACTION)
     740ENGINE = InnoDB
     741AUTO_INCREMENT = 1
     742DEFAULT CHARACTER SET = utf8;
     743
     744
     745-- -----------------------------------------------------
     746-- Table `doc_kassa`
     747-- -----------------------------------------------------
     748CREATE  TABLE IF NOT EXISTS `doc_kassa` (
     749  `ids` VARCHAR(50) CHARACTER SET 'latin1' NOT NULL ,
     750  `num` INT(11) NOT NULL ,
     751  `name` VARCHAR(50) NOT NULL ,
     752  `ballance` DECIMAL(10,2) NOT NULL ,
     753  `bik` VARCHAR(20) NOT NULL ,
     754  `rs` VARCHAR(30) NOT NULL ,
     755  `ks` VARCHAR(30) NOT NULL ,
     756  `firm_id` INT(11) NOT NULL ,
     757  UNIQUE INDEX `ids` (`ids` ASC, `num` ASC) )
     758ENGINE = InnoDB
     759DEFAULT CHARACTER SET = utf8;
     760
     761
     762-- -----------------------------------------------------
     763-- Table `doc_list_pos`
     764-- -----------------------------------------------------
     765CREATE  TABLE IF NOT EXISTS `doc_list_pos` (
     766  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     767  `doc` INT(11) NOT NULL DEFAULT '0' ,
     768  `tovar` INT(11) NOT NULL DEFAULT '0' ,
     769  `cnt` INT(11) NOT NULL DEFAULT '0' ,
     770  `gtd` VARCHAR(32) NOT NULL ,
     771  `comm` VARCHAR(64) NOT NULL ,
     772  `cost` DECIMAL(10,2) NOT NULL DEFAULT '0' ,
     773  `page` INT(11) NOT NULL DEFAULT '0' ,
     774  INDEX `id` (`id` ASC) ,
     775  INDEX `doc` (`doc` ASC) ,
     776  INDEX `tovar` (`tovar` ASC) ,
     777  INDEX `page` (`page` ASC) ,
     778  CONSTRAINT `doc_list_pos_ibfk_2`
     779    FOREIGN KEY (`tovar` )
     780    REFERENCES `doc_base` (`id` ),
     781  CONSTRAINT `doc_list_pos_ibfk_1`
     782    FOREIGN KEY (`doc` )
     783    REFERENCES `doc_list` (`id` ),
     784  CONSTRAINT `doc_list_pos_ibfk_2`
     785    FOREIGN KEY (`tovar` )
     786    REFERENCES `doc_base` (`id` ),
     787  CONSTRAINT `doc_list_pos_ibfk_1`
     788    FOREIGN KEY (`doc` )
     789    REFERENCES `doc_list` (`id` ))
     790ENGINE = InnoDB
     791AUTO_INCREMENT = 1
     792DEFAULT CHARACTER SET = utf8;
     793
     794
     795-- -----------------------------------------------------
     796-- Table `doc_list_sn`
     797-- -----------------------------------------------------
     798CREATE  TABLE IF NOT EXISTS `doc_list_sn` (
     799  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     800  `pos_id` INT(11) NOT NULL COMMENT 'ID товара' ,
     801  `num` VARCHAR(64) NOT NULL COMMENT 'Серийный номер' ,
     802  `prix_list_pos` INT(11) NOT NULL COMMENT 'Строка поступления' ,
     803  `rasx_list_pos` INT(11) NULL DEFAULT NULL COMMENT 'Строка реализации' ,
     804  UNIQUE INDEX `id` (`id` ASC) ,
     805  INDEX `pos_id` (`pos_id` ASC) ,
     806  INDEX `num` (`num` ASC) ,
     807  INDEX `prix_list_pos` (`prix_list_pos` ASC) ,
     808  INDEX `rasx_list_pos` (`rasx_list_pos` ASC) ,
     809  CONSTRAINT `doc_list_sn_ibfk_4`
     810    FOREIGN KEY (`prix_list_pos` )
     811    REFERENCES `doc_list_pos` (`id` )
     812    ON DELETE CASCADE
     813    ON UPDATE CASCADE,
     814  CONSTRAINT `doc_list_sn_ibfk_1`
     815    FOREIGN KEY (`pos_id` )
     816    REFERENCES `doc_base` (`id` )
     817    ON DELETE NO ACTION
     818    ON UPDATE NO ACTION,
     819  CONSTRAINT `doc_list_sn_ibfk_3`
     820    FOREIGN KEY (`rasx_list_pos` )
     821    REFERENCES `doc_list_pos` (`id` )
     822    ON DELETE SET NULL
     823    ON UPDATE CASCADE,
     824  CONSTRAINT `doc_list_sn_ibfk_4`
     825    FOREIGN KEY (`prix_list_pos` )
     826    REFERENCES `doc_list_pos` (`id` )
     827    ON DELETE CASCADE
     828    ON UPDATE CASCADE,
     829  CONSTRAINT `doc_list_sn_ibfk_1`
     830    FOREIGN KEY (`pos_id` )
     831    REFERENCES `doc_base` (`id` )
     832    ON DELETE NO ACTION
     833    ON UPDATE NO ACTION,
     834  CONSTRAINT `doc_list_sn_ibfk_3`
     835    FOREIGN KEY (`rasx_list_pos` )
     836    REFERENCES `doc_list_pos` (`id` )
     837    ON DELETE SET NULL
     838    ON UPDATE CASCADE)
     839ENGINE = InnoDB
     840AUTO_INCREMENT = 1
     841DEFAULT CHARACTER SET = utf8,
     842COMMENT = 'Серийные номера' ;
     843
     844
     845-- -----------------------------------------------------
     846-- Table `doc_log`
     847-- -----------------------------------------------------
     848CREATE  TABLE IF NOT EXISTS `doc_log` (
     849  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     850  `user` INT(11) NOT NULL ,
     851  `ip` VARCHAR(20) NOT NULL ,
     852  `object` VARCHAR(20) NOT NULL ,
     853  `object_id` INT(11) NOT NULL ,
     854  `motion` VARCHAR(100) NOT NULL ,
     855  `desc` VARCHAR(500) NOT NULL ,
     856  `time` DATETIME NOT NULL ,
     857  UNIQUE INDEX `id` (`id` ASC) ,
     858  INDEX `user` (`user` ASC) ,
     859  INDEX `motion` (`motion` ASC) ,
     860  INDEX `time` (`time` ASC) ,
     861  INDEX `desc` (`desc`(333) ASC) ,
     862  INDEX `ip` (`ip` ASC) )
     863ENGINE = MyISAM
     864AUTO_INCREMENT = 1
     865DEFAULT CHARACTER SET = utf8;
     866
     867
     868-- -----------------------------------------------------
     869-- Table `doc_rasxodi`
     870-- -----------------------------------------------------
     871CREATE  TABLE IF NOT EXISTS `doc_rasxodi` (
     872  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     873  `name` VARCHAR(50) NOT NULL ,
     874  `adm` TINYINT(4) NOT NULL ,
     875  UNIQUE INDEX `id` (`id` ASC) ,
     876  INDEX `name` (`name` ASC) ,
     877  INDEX `adm` (`adm` ASC) )
     878ENGINE = MyISAM
     879AUTO_INCREMENT = 15
     880DEFAULT CHARACTER SET = utf8,
     881COMMENT = 'Статьи расходов' ;
     882
     883
     884-- -----------------------------------------------------
     885-- Table `errorlog`
     886-- -----------------------------------------------------
     887CREATE  TABLE IF NOT EXISTS `errorlog` (
     888  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     889  `page` VARCHAR(128) NOT NULL ,
     890  `referer` VARCHAR(128) NOT NULL ,
     891  `agent` VARCHAR(128) NOT NULL ,
     892  `ip` VARCHAR(18) NOT NULL ,
     893  `msg` TEXT NOT NULL ,
     894  `date` DATETIME NOT NULL ,
     895  `uid` INT(11) NOT NULL ,
     896  UNIQUE INDEX `id` (`id` ASC) ,
     897  INDEX `page` (`page` ASC) ,
     898  INDEX `referer` (`referer` ASC) ,
     899  INDEX `date` (`date` ASC) ,
     900  INDEX `agent` (`agent` ASC, `ip` ASC) )
     901ENGINE = MyISAM
     902AUTO_INCREMENT = 1
     903DEFAULT CHARACTER SET = utf8;
     904
     905
     906-- -----------------------------------------------------
     907-- Table `firm_info`
     908-- -----------------------------------------------------
     909CREATE  TABLE IF NOT EXISTS `firm_info` (
     910  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     911  `name` VARCHAR(100) NOT NULL DEFAULT '' ,
     912  `signature` VARCHAR(200) NOT NULL DEFAULT '' COMMENT 'Сигнатура для определения принадлежности прайса' ,
     913  `currency` TINYINT(4) NOT NULL ,
     914  `coeff` DECIMAL(10,3) NOT NULL ,
     915  `last_update` DATETIME NOT NULL ,
     916  PRIMARY KEY (`id`) ,
     917  INDEX `name` (`name` ASC) ,
     918  INDEX `sign` (`signature` ASC) )
     919ENGINE = InnoDB
     920AUTO_INCREMENT = 2
     921DEFAULT CHARACTER SET = utf8;
     922
     923
     924-- -----------------------------------------------------
     925-- Table `firm_info_struct`
     926-- -----------------------------------------------------
     927CREATE  TABLE IF NOT EXISTS `firm_info_struct` (
     928  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     929  `firm_id` INT(11) NOT NULL COMMENT 'Номер фирмы' ,
     930  `table_name` VARCHAR(50) NOT NULL COMMENT 'Название листа прайса' ,
     931  `name` MEDIUMINT(9) NOT NULL COMMENT 'N колонки наименований' ,
     932  `cost` MEDIUMINT(9) NOT NULL ,
     933  `art` MEDIUMINT(9) NOT NULL ,
     934  `nal` MEDIUMINT(9) NOT NULL ,
     935  UNIQUE INDEX `id` (`id` ASC) ,
     936  INDEX `firm_id` (`firm_id` ASC) ,
     937  INDEX `table_name` (`table_name` ASC) ,
     938  CONSTRAINT `firm_info_struct_ibfk_1`
     939    FOREIGN KEY (`firm_id` )
     940    REFERENCES `firm_info` (`id` ),
     941  CONSTRAINT `firm_info_struct_ibfk_1`
     942    FOREIGN KEY (`firm_id` )
     943    REFERENCES `firm_info` (`id` ))
     944ENGINE = InnoDB
     945AUTO_INCREMENT = 2
     946DEFAULT CHARACTER SET = utf8;
     947
     948
     949-- -----------------------------------------------------
     950-- Table `loginfo`
     951-- -----------------------------------------------------
     952CREATE  TABLE IF NOT EXISTS `loginfo` (
     953  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     954  `date` DATETIME NOT NULL ,
     955  `page` VARCHAR(100) NOT NULL ,
     956  `query` VARCHAR(100) NOT NULL ,
     957  `mode` VARCHAR(20) NOT NULL ,
     958  `ip` VARCHAR(30) NOT NULL ,
     959  `user` INT(11) NOT NULL ,
     960  `text` VARCHAR(500) NOT NULL ,
     961  UNIQUE INDEX `id` (`id` ASC) ,
     962  INDEX `date` (`date` ASC) ,
     963  INDEX `page` (`page` ASC) ,
     964  INDEX `query` (`query` ASC) ,
     965  INDEX `mode` (`mode` ASC) ,
     966  INDEX `ip` (`ip` ASC) ,
     967  INDEX `user` (`user` ASC) )
     968ENGINE = MyISAM
     969AUTO_INCREMENT = 1
     970DEFAULT CHARACTER SET = latin1;
     971
     972
     973-- -----------------------------------------------------
     974-- Table `news`
     975-- -----------------------------------------------------
     976CREATE  TABLE IF NOT EXISTS `news` (
     977  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     978  `type` VARCHAR(8) NOT NULL ,
     979  `title` VARCHAR(64) NOT NULL ,
     980  `text` TEXT NOT NULL ,
     981  `date` DATETIME NOT NULL ,
     982  `autor` INT(11) NOT NULL ,
     983  `ex_date` DATE NOT NULL ,
     984  `img_ext` VARCHAR(4) NOT NULL ,
     985  UNIQUE INDEX `id` (`id` ASC) ,
     986  INDEX `type` (`type` ASC) ,
     987  INDEX `ex_date` (`ex_date` ASC) )
     988ENGINE = MyISAM
     989DEFAULT CHARACTER SET = utf8;
     990
     991
     992-- -----------------------------------------------------
     993-- Table `notes`
     994-- -----------------------------------------------------
     995CREATE  TABLE IF NOT EXISTS `notes` (
     996  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     997  `user` INT(11) NOT NULL ,
     998  `sender` INT(11) NOT NULL ,
     999  `head` VARCHAR(50) NOT NULL ,
     1000  `msg` TEXT NOT NULL ,
     1001  `senddate` DATETIME NOT NULL ,
     1002  `enddate` DATETIME NOT NULL ,
     1003  `ok` TINYINT(4) NOT NULL ,
     1004  `comment` TEXT NOT NULL ,
     1005  UNIQUE INDEX `id` (`id` ASC) ,
     1006  INDEX `user` (`user` ASC) ,
     1007  INDEX `sender` (`sender` ASC) ,
     1008  INDEX `senddate` (`senddate` ASC) ,
     1009  INDEX `enddate` (`enddate` ASC) )
     1010ENGINE = MyISAM
     1011AUTO_INCREMENT = 1
     1012DEFAULT CHARACTER SET = utf8;
     1013
     1014
     1015-- -----------------------------------------------------
     1016-- Table `price`
     1017-- -----------------------------------------------------
     1018CREATE  TABLE IF NOT EXISTS `price` (
     1019  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     1020  `name` VARCHAR(200) NOT NULL DEFAULT '' ,
     1021  `cost` DOUBLE NOT NULL DEFAULT '0' ,
     1022  `firm` INT(11) NOT NULL DEFAULT '0' ,
     1023  `art` VARCHAR(20) NOT NULL DEFAULT '' ,
     1024  `nal` VARCHAR(20) NOT NULL ,
     1025  `date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ,
     1026  `seeked` INT(11) NOT NULL ,
     1027  INDEX `name` (`name` ASC) ,
     1028  INDEX `cost` (`cost` ASC) ,
     1029  INDEX `firm` (`firm` ASC) ,
     1030  INDEX `art` (`art` ASC) ,
     1031  INDEX `date` (`date` ASC) ,
     1032  INDEX `id` (`id` ASC) ,
     1033  CONSTRAINT `price_ibfk_1`
     1034    FOREIGN KEY (`firm` )
     1035    REFERENCES `firm_info` (`id` ),
     1036  CONSTRAINT `price_ibfk_1`
     1037    FOREIGN KEY (`firm` )
     1038    REFERENCES `firm_info` (`id` ))
     1039ENGINE = InnoDB
     1040AUTO_INCREMENT = 1
     1041DEFAULT CHARACTER SET = utf8;
     1042
     1043
     1044-- -----------------------------------------------------
     1045-- Table `parsed_price`
     1046-- -----------------------------------------------------
     1047CREATE  TABLE IF NOT EXISTS `parsed_price` (
     1048  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     1049  `firm` INT(11) NOT NULL ,
     1050  `pos` INT(11) NOT NULL ,
     1051  `cost` DECIMAL(10,2) NOT NULL ,
     1052  `nal` VARCHAR(10) NOT NULL ,
     1053  `from` INT(11) NOT NULL ,
     1054  PRIMARY KEY (`id`) ,
     1055  INDEX `firm` (`firm` ASC) ,
     1056  INDEX `pos` (`pos` ASC) ,
     1057  CONSTRAINT `parsed_price_ibfk_2`
     1058    FOREIGN KEY (`pos` )
     1059    REFERENCES `price` (`id` ),
     1060  CONSTRAINT `parsed_price_ibfk_1`
     1061    FOREIGN KEY (`firm` )
     1062    REFERENCES `firm_info` (`id` ),
     1063  CONSTRAINT `parsed_price_ibfk_2`
     1064    FOREIGN KEY (`pos` )
     1065    REFERENCES `price` (`id` ),
     1066  CONSTRAINT `parsed_price_ibfk_1`
     1067    FOREIGN KEY (`firm` )
     1068    REFERENCES `firm_info` (`id` ))
     1069ENGINE = InnoDB
     1070AUTO_INCREMENT = 1
     1071DEFAULT CHARACTER SET = utf8;
     1072
     1073
     1074-- -----------------------------------------------------
     1075-- Table `photogalery`
     1076-- -----------------------------------------------------
     1077CREATE  TABLE IF NOT EXISTS `photogalery` (
     1078  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     1079  `uid` INT(11) NOT NULL DEFAULT '0' ,
     1080  `comment` VARCHAR(50) NOT NULL ,
     1081  UNIQUE INDEX `id` (`id` ASC) ,
     1082  INDEX `uid` (`uid` ASC) ,
     1083  CONSTRAINT `photogalery_ibfk_1`
     1084    FOREIGN KEY (`uid` )
     1085    REFERENCES `users` (`id` ),
     1086  CONSTRAINT `photogalery_ibfk_1`
     1087    FOREIGN KEY (`uid` )
     1088    REFERENCES `users` (`id` ))
     1089ENGINE = InnoDB
     1090AUTO_INCREMENT = 1
     1091DEFAULT CHARACTER SET = utf8;
     1092
     1093
     1094-- -----------------------------------------------------
     1095-- Table `prices_replaces`
     1096-- -----------------------------------------------------
     1097CREATE  TABLE IF NOT EXISTS `prices_replaces` (
     1098  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     1099  `search_str` VARCHAR(16) NOT NULL ,
     1100  `replace_str` VARCHAR(512) NOT NULL ,
     1101  PRIMARY KEY (`id`) ,
     1102  UNIQUE INDEX `id` (`id` ASC) ,
     1103  INDEX `search_str` (`search_str` ASC) )
     1104ENGINE = MyISAM
     1105AUTO_INCREMENT = 1
     1106DEFAULT CHARACTER SET = utf8,
     1107COMMENT = 'Список замен для регулярных выражений анализатора прайсов' ;
     1108
     1109
     1110-- -----------------------------------------------------
     1111-- Table `questions`
     1112-- -----------------------------------------------------
     1113CREATE  TABLE IF NOT EXISTS `questions` (
     1114  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     1115  `text` VARCHAR(200) NOT NULL ,
     1116  `mode` INT(11) NOT NULL ,
     1117  UNIQUE INDEX `id` (`id` ASC) )
     1118ENGINE = MyISAM
     1119AUTO_INCREMENT = 1
     1120DEFAULT CHARACTER SET = utf8;
     1121
     1122
     1123-- -----------------------------------------------------
     1124-- Table `question_answ`
     1125-- -----------------------------------------------------
     1126CREATE  TABLE IF NOT EXISTS `question_answ` (
     1127  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     1128  `q_id` INT(11) NOT NULL ,
     1129  `answer` VARCHAR(500) NOT NULL ,
     1130  `uid` INT(11) NOT NULL ,
     1131  `ip` VARCHAR(15) NOT NULL ,
     1132  UNIQUE INDEX `id` (`id` ASC) ,
     1133  INDEX `q_id` (`q_id` ASC) ,
     1134  INDEX `uid` (`uid` ASC) ,
     1135  INDEX `ip` (`ip` ASC) )
     1136ENGINE = MyISAM
     1137AUTO_INCREMENT = 1
     1138DEFAULT CHARACTER SET = utf8;
     1139
     1140
     1141-- -----------------------------------------------------
     1142-- Table `question_ip`
     1143-- -----------------------------------------------------
     1144CREATE  TABLE IF NOT EXISTS `question_ip` (
     1145  `ip` VARCHAR(15) NOT NULL ,
     1146  `result` INT(11) NOT NULL ,
     1147  UNIQUE INDEX `ip_2` (`ip` ASC) )
     1148ENGINE = MyISAM
     1149DEFAULT CHARACTER SET = utf8;
     1150
     1151
     1152-- -----------------------------------------------------
     1153-- Table `question_vars`
     1154-- -----------------------------------------------------
     1155CREATE  TABLE IF NOT EXISTS `question_vars` (
     1156  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     1157  `q_id` INT(11) NOT NULL ,
     1158  `var_id` INT(11) NOT NULL ,
     1159  `text` VARCHAR(500) NOT NULL ,
     1160  UNIQUE INDEX `id` (`id` ASC) ,
     1161  INDEX `q_id` (`q_id` ASC, `var_id` ASC) )
     1162ENGINE = MyISAM
     1163AUTO_INCREMENT = 1
     1164DEFAULT CHARACTER SET = utf8;
     1165
     1166
     1167-- -----------------------------------------------------
     1168-- Table `seekdata`
     1169-- -----------------------------------------------------
     1170CREATE  TABLE IF NOT EXISTS `seekdata` (
     1171  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     1172  `name` VARCHAR(200) NOT NULL ,
     1173  `sql` VARCHAR(200) NOT NULL ,
     1174  `regex` VARCHAR(200) NOT NULL ,
     1175  `group` INT(11) NOT NULL ,
     1176  `regex_neg` VARCHAR(256) NOT NULL ,
     1177  UNIQUE INDEX `id` (`id` ASC) ,
     1178  INDEX `name` (`name` ASC) ,
     1179  INDEX `sql` (`sql` ASC) ,
     1180  INDEX `regex` (`regex` ASC) )
     1181ENGINE = MyISAM
     1182AUTO_INCREMENT = 1
     1183DEFAULT CHARACTER SET = utf8;
     1184
     1185
     1186-- -----------------------------------------------------
     1187-- Table `sys_cli_status`
     1188-- -----------------------------------------------------
     1189CREATE  TABLE IF NOT EXISTS `sys_cli_status` (
     1190  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     1191  `script` VARCHAR(64) NOT NULL ,
     1192  `status` TEXT NOT NULL ,
     1193  UNIQUE INDEX `id` (`id` ASC) ,
     1194  INDEX `script` (`script` ASC) )
     1195ENGINE = MyISAM
     1196AUTO_INCREMENT = 1
     1197DEFAULT CHARACTER SET = utf8;
     1198
     1199
     1200-- -----------------------------------------------------
     1201-- Table `tickets`
     1202-- -----------------------------------------------------
     1203CREATE  TABLE IF NOT EXISTS `tickets` (
     1204  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     1205  `date` DATETIME NOT NULL ,
     1206  `autor` INT(11) NOT NULL ,
     1207  `priority` TINYINT(4) NOT NULL ,
     1208  `theme` VARCHAR(100) NOT NULL ,
     1209  `text` TEXT NOT NULL ,
     1210  `to_uid` INT(11) NOT NULL ,
     1211  `to_date` DATE NOT NULL ,
     1212  `state` TINYINT(4) NOT NULL ,
     1213  UNIQUE INDEX `id` (`id` ASC) ,
     1214  INDEX `date` (`date` ASC) ,
     1215  INDEX `autor` (`autor` ASC) ,
     1216  INDEX `theme` (`theme` ASC) ,
     1217  INDEX `to_uid` (`to_uid` ASC) ,
     1218  INDEX `to_date` (`to_date` ASC) ,
     1219  CONSTRAINT `tickets_ibfk_2`
     1220    FOREIGN KEY (`to_uid` )
     1221    REFERENCES `users` (`id` ),
     1222  CONSTRAINT `tickets_ibfk_1`
     1223    FOREIGN KEY (`autor` )
     1224    REFERENCES `users` (`id` ),
     1225  CONSTRAINT `tickets_ibfk_2`
     1226    FOREIGN KEY (`to_uid` )
     1227    REFERENCES `users` (`id` ),
     1228  CONSTRAINT `tickets_ibfk_1`
     1229    FOREIGN KEY (`autor` )
     1230    REFERENCES `users` (`id` ))
     1231ENGINE = InnoDB
     1232AUTO_INCREMENT = 1
     1233DEFAULT CHARACTER SET = utf8;
     1234
     1235
     1236-- -----------------------------------------------------
     1237-- Table `tickets_log`
     1238-- -----------------------------------------------------
     1239CREATE  TABLE IF NOT EXISTS `tickets_log` (
     1240  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     1241  `uid` INT(11) NOT NULL ,
     1242  `ticket` INT(11) NOT NULL ,
     1243  `date` DATETIME NOT NULL ,
     1244  `text` TEXT NOT NULL ,
     1245  UNIQUE INDEX `id` (`id` ASC) ,
     1246  INDEX `uid` (`uid` ASC, `ticket` ASC, `date` ASC) )
     1247ENGINE = MyISAM
     1248AUTO_INCREMENT = 1
     1249DEFAULT CHARACTER SET = utf8;
     1250
     1251
     1252-- -----------------------------------------------------
     1253-- Table `tickets_priority`
     1254-- -----------------------------------------------------
     1255CREATE  TABLE IF NOT EXISTS `tickets_priority` (
     1256  `id` TINYINT(4) NOT NULL ,
     1257  `name` VARCHAR(50) NOT NULL ,
     1258  `color` VARCHAR(6) NOT NULL ,
     1259  `comment` VARCHAR(200) NOT NULL ,
     1260  UNIQUE INDEX `id` (`id` ASC) ,
     1261  INDEX `name` (`name` ASC) )
     1262ENGINE = MyISAM
     1263DEFAULT CHARACTER SET = utf8;
     1264
     1265
     1266-- -----------------------------------------------------
     1267-- Table `tickets_state`
     1268-- -----------------------------------------------------
     1269CREATE  TABLE IF NOT EXISTS `tickets_state` (
     1270  `id` INT(11) NOT NULL ,
     1271  `name` VARCHAR(30) NOT NULL ,
     1272  UNIQUE INDEX `id` (`id` ASC) )
     1273ENGINE = MyISAM
     1274DEFAULT CHARACTER SET = utf8;
     1275
     1276
     1277-- -----------------------------------------------------
     1278-- Table `traffic_denyip`
     1279-- -----------------------------------------------------
     1280CREATE  TABLE IF NOT EXISTS `traffic_denyip` (
     1281  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     1282  `ip` VARCHAR(20) NOT NULL ,
     1283  `host` VARCHAR(50) NOT NULL ,
     1284  UNIQUE INDEX `id_2` (`id` ASC) ,
     1285  UNIQUE INDEX `ip` (`ip` ASC) )
     1286ENGINE = MyISAM
     1287AUTO_INCREMENT = 1
     1288DEFAULT CHARACTER SET = latin1,
     1289COMMENT = 'Zapreshennie IP' ;
     1290
     1291
     1292-- -----------------------------------------------------
     1293-- Table `ulog`
     1294-- -----------------------------------------------------
     1295CREATE  TABLE IF NOT EXISTS `ulog` (
     1296  `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT ,
     1297  `raw_mac` VARCHAR(80) NULL DEFAULT NULL ,
     1298  `oob_time_sec` INT(10) UNSIGNED NULL DEFAULT NULL ,
     1299  `oob_time_usec` INT(10) UNSIGNED NULL DEFAULT NULL ,
     1300  `oob_prefix` VARCHAR(32) NULL DEFAULT NULL ,
     1301  `oob_mark` INT(10) UNSIGNED NULL DEFAULT NULL ,
     1302  `oob_in` VARCHAR(32) NULL DEFAULT NULL ,
     1303  `oob_out` VARCHAR(32) NULL DEFAULT NULL ,
     1304  `ip_saddr` VARCHAR(15) NULL DEFAULT NULL ,
     1305  `ip_daddr` VARCHAR(15) NULL DEFAULT NULL ,
     1306  `ip_protocol` TINYINT(3) UNSIGNED NULL DEFAULT NULL ,
     1307  `ip_tos` TINYINT(3) UNSIGNED NULL DEFAULT NULL ,
     1308  `ip_ttl` TINYINT(3) UNSIGNED NULL DEFAULT NULL ,
     1309  `ip_totlen` SMALLINT(5) UNSIGNED NULL DEFAULT NULL ,
     1310  `ip_ihl` TINYINT(3) UNSIGNED NULL DEFAULT NULL ,
     1311  `ip_csum` SMALLINT(5) UNSIGNED NULL DEFAULT NULL ,
     1312  `ip_id` SMALLINT(5) UNSIGNED NULL DEFAULT NULL ,
     1313  `ip_fragoff` SMALLINT(5) UNSIGNED NULL DEFAULT NULL ,
     1314  `tcp_sport` SMALLINT(5) UNSIGNED NULL DEFAULT NULL ,
     1315  `tcp_dport` SMALLINT(5) UNSIGNED NULL DEFAULT NULL ,
     1316  `tcp_seq` INT(10) UNSIGNED NULL DEFAULT NULL ,
     1317  `tcp_ackseq` INT(10) UNSIGNED NULL DEFAULT NULL ,
     1318  `tcp_window` SMALLINT(5) UNSIGNED NULL DEFAULT NULL ,
     1319  `tcp_urg` TINYINT(4) NULL DEFAULT NULL ,
     1320  `tcp_urgp` SMALLINT(5) UNSIGNED NULL DEFAULT NULL ,
     1321  `tcp_ack` TINYINT(4) NULL DEFAULT NULL ,
     1322  `tcp_psh` TINYINT(4) NULL DEFAULT NULL ,
     1323  `tcp_rst` TINYINT(4) NULL DEFAULT NULL ,
     1324  `tcp_syn` TINYINT(4) NULL DEFAULT NULL ,
     1325  `tcp_fin` TINYINT(4) NULL DEFAULT NULL ,
     1326  `udp_sport` SMALLINT(5) UNSIGNED NULL DEFAULT NULL ,
     1327  `udp_dport` SMALLINT(5) UNSIGNED NULL DEFAULT NULL ,
     1328  `udp_len` SMALLINT(5) UNSIGNED NULL DEFAULT NULL ,
     1329  `icmp_type` TINYINT(3) UNSIGNED NULL DEFAULT NULL ,
     1330  `icmp_code` TINYINT(3) UNSIGNED NULL DEFAULT NULL ,
     1331  `icmp_echoid` SMALLINT(5) UNSIGNED NULL DEFAULT NULL ,
     1332  `icmp_echoseq` SMALLINT(5) UNSIGNED NULL DEFAULT NULL ,
     1333  `icmp_gateway` INT(10) UNSIGNED NULL DEFAULT NULL ,
     1334  `icmp_fragmtu` SMALLINT(5) UNSIGNED NULL DEFAULT NULL ,
     1335  `pwsniff_user` VARCHAR(30) NULL DEFAULT NULL ,
     1336  `pwsniff_pass` VARCHAR(30) NULL DEFAULT NULL ,
     1337  `ahesp_spi` INT(10) UNSIGNED NULL DEFAULT NULL ,
     1338  UNIQUE INDEX `id` (`id` ASC) ,
     1339  INDEX `ip_daddr` (`ip_daddr` ASC) ,
     1340  INDEX `ip_saddr` (`ip_saddr` ASC) )
     1341ENGINE = MyISAM
     1342AUTO_INCREMENT = 1
     1343DEFAULT CHARACTER SET = utf8;
     1344
     1345
     1346-- -----------------------------------------------------
     1347-- Table `users_acl`
     1348-- -----------------------------------------------------
     1349CREATE  TABLE IF NOT EXISTS `users_acl` (
     1350  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     1351  `uid` INT(11) NOT NULL ,
     1352  `object` VARCHAR(64) NOT NULL ,
     1353  `action` VARCHAR(16) NOT NULL ,
     1354  UNIQUE INDEX `id` (`id` ASC) ,
     1355  INDEX `uid` (`uid` ASC) ,
     1356  INDEX `object` (`object` ASC) ,
     1357  INDEX `action` (`action` ASC) ,
     1358  CONSTRAINT `users_acl_ibfk_1`
     1359    FOREIGN KEY (`uid` )
     1360    REFERENCES `users` (`id` )
     1361    ON DELETE NO ACTION
     1362    ON UPDATE NO ACTION,
     1363  CONSTRAINT `users_acl_ibfk_1`
     1364    FOREIGN KEY (`uid` )
     1365    REFERENCES `users` (`id` )
     1366    ON DELETE NO ACTION
     1367    ON UPDATE NO ACTION)
     1368ENGINE = InnoDB
     1369AUTO_INCREMENT = 1
     1370DEFAULT CHARACTER SET = utf8;
     1371
     1372
     1373-- -----------------------------------------------------
     1374-- Table `users_bad_auth`
     1375-- -----------------------------------------------------
     1376CREATE  TABLE IF NOT EXISTS `users_bad_auth` (
     1377  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     1378  `ip` VARCHAR(24) NOT NULL ,
     1379  `time` DOUBLE NOT NULL ,
     1380  UNIQUE INDEX `id` (`id` ASC) ,
     1381  INDEX `ip` (`ip` ASC) ,
     1382  INDEX `date` (`time` ASC) )
     1383ENGINE = MyISAM
     1384AUTO_INCREMENT = 1
     1385DEFAULT CHARACTER SET = latin1;
     1386
     1387
     1388-- -----------------------------------------------------
     1389-- Table `users_data`
     1390-- -----------------------------------------------------
     1391CREATE  TABLE IF NOT EXISTS `users_data` (
     1392  `uid` INT(11) NOT NULL DEFAULT '0' ,
     1393  `param` VARCHAR(25) NOT NULL ,
     1394  `value` VARCHAR(128) NOT NULL ,
     1395  UNIQUE INDEX `uid` (`uid` ASC, `param` ASC) ,
     1396  INDEX `value` (`value` ASC) ,
     1397  CONSTRAINT `users_data_ibfk_1`
     1398    FOREIGN KEY (`uid` )
     1399    REFERENCES `users` (`id` )
     1400    ON DELETE NO ACTION
     1401    ON UPDATE NO ACTION,
     1402  CONSTRAINT `users_data_ibfk_1`
     1403    FOREIGN KEY (`uid` )
     1404    REFERENCES `users` (`id` )
     1405    ON DELETE NO ACTION
     1406    ON UPDATE NO ACTION)
     1407ENGINE = InnoDB
     1408DEFAULT CHARACTER SET = utf8;
     1409
     1410
     1411-- -----------------------------------------------------
     1412-- Table `users_grouplist`
     1413-- -----------------------------------------------------
     1414CREATE  TABLE IF NOT EXISTS `users_grouplist` (
     1415  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     1416  `name` VARCHAR(50) NOT NULL ,
     1417  `comment` TEXT NOT NULL ,
     1418  UNIQUE INDEX `id` (`id` ASC) ,
     1419  INDEX `name` (`name` ASC) )
     1420ENGINE = InnoDB
     1421AUTO_INCREMENT = 2
     1422DEFAULT CHARACTER SET = latin1,
     1423COMMENT = 'Spisok grupp'
     1424PACK_KEYS = 0;
     1425
     1426
     1427-- -----------------------------------------------------
     1428-- Table `users_groups_acl`
     1429-- -----------------------------------------------------
     1430CREATE  TABLE IF NOT EXISTS `users_groups_acl` (
     1431  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     1432  `gid` INT(11) NOT NULL ,
     1433  `object` VARCHAR(64) NOT NULL ,
     1434  `action` VARCHAR(16) NOT NULL ,
     1435  UNIQUE INDEX `id` (`id` ASC) ,
     1436  INDEX `gid` (`gid` ASC) ,
     1437  INDEX `object` (`object` ASC) ,
     1438  CONSTRAINT `users_groups_acl_ibfk_1`
     1439    FOREIGN KEY (`gid` )
     1440    REFERENCES `users` (`id` ),
     1441  CONSTRAINT `users_groups_acl_ibfk_1`
     1442    FOREIGN KEY (`gid` )
     1443    REFERENCES `users` (`id` ))
     1444ENGINE = InnoDB
     1445AUTO_INCREMENT = 2
     1446DEFAULT CHARACTER SET = latin1,
     1447COMMENT = 'Привилегии групп' ;
     1448
     1449
     1450-- -----------------------------------------------------
     1451-- Table `users_in_group`
     1452-- -----------------------------------------------------
     1453CREATE  TABLE IF NOT EXISTS `users_in_group` (
     1454  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     1455  `uid` INT(11) NOT NULL ,
     1456  `gid` INT(11) NOT NULL ,
     1457  UNIQUE INDEX `id` (`id` ASC) ,
     1458  INDEX `uid` (`uid` ASC) ,
     1459  INDEX `gid` (`gid` ASC) ,
     1460  CONSTRAINT `users_in_group_ibfk_1`
     1461    FOREIGN KEY (`uid` )
     1462    REFERENCES `users` (`id` ),
     1463  CONSTRAINT `users_in_group_ibfk_2`
     1464    FOREIGN KEY (`gid` )
     1465    REFERENCES `users_grouplist` (`id` ),
     1466  CONSTRAINT `users_in_group_ibfk_1`
     1467    FOREIGN KEY (`uid` )
     1468    REFERENCES `users` (`id` ),
     1469  CONSTRAINT `users_in_group_ibfk_2`
     1470    FOREIGN KEY (`gid` )
     1471    REFERENCES `users_grouplist` (`id` ))
     1472ENGINE = InnoDB
     1473AUTO_INCREMENT = 2
     1474DEFAULT CHARACTER SET = latin1,
     1475COMMENT = 'Соответствие групп и пользователей' ;
     1476
     1477
     1478-- -----------------------------------------------------
     1479-- Table `users_objects`
     1480-- -----------------------------------------------------
     1481CREATE  TABLE IF NOT EXISTS `users_objects` (
     1482  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     1483  `object` VARCHAR(32) NOT NULL ,
     1484  `desc` VARCHAR(128) NOT NULL ,
     1485  `actions` VARCHAR(128) NOT NULL ,
     1486  UNIQUE INDEX `id` (`id` ASC) ,
     1487  INDEX `object` (`object` ASC) )
     1488ENGINE = InnoDB
     1489AUTO_INCREMENT = 45
     1490DEFAULT CHARACTER SET = utf8;
     1491
     1492
     1493-- -----------------------------------------------------
     1494-- Table `wiki`
     1495-- -----------------------------------------------------
     1496CREATE  TABLE IF NOT EXISTS `wiki` (
     1497  `name` VARCHAR(64) NOT NULL ,
     1498  `date` DATETIME NOT NULL ,
     1499  `autor` INT(11) NOT NULL ,
     1500  `changed` DATETIME NOT NULL ,
     1501  `changeautor` INT(11) NOT NULL ,
     1502  `text` TEXT NOT NULL ,
     1503  `img_ext` VARCHAR(4) NOT NULL ,
     1504  UNIQUE INDEX `name` (`name` ASC) ,
     1505  INDEX `date` (`date` ASC) ,
     1506  INDEX `autor` (`autor` ASC) ,
     1507  INDEX `changed` (`changed` ASC) ,
     1508  INDEX `changeautor` (`changeautor` ASC) ,
     1509  CONSTRAINT `wiki_ibfk_1`
     1510    FOREIGN KEY (`autor` )
     1511    REFERENCES `users` (`id` ),
     1512  CONSTRAINT `wiki_ibfk_1`
     1513    FOREIGN KEY (`autor` )
     1514    REFERENCES `users` (`id` ))
     1515ENGINE = InnoDB
     1516DEFAULT CHARACTER SET = utf8;
     1517
     1518
     1519-- -----------------------------------------------------
     1520-- Table `wikiphoto`
     1521-- -----------------------------------------------------
     1522CREATE  TABLE IF NOT EXISTS `wikiphoto` (
     1523  `id` INT(11) NOT NULL AUTO_INCREMENT ,
     1524  `uid` INT(11) NOT NULL DEFAULT '0' ,
     1525  `comment` VARCHAR(64) NOT NULL ,
     1526  UNIQUE INDEX `id` (`id` ASC) )
     1527ENGINE = MyISAM
     1528AUTO_INCREMENT = 1
     1529DEFAULT CHARACTER SET = utf8;
     1530
     1531
     1532
     1533SET SQL_MODE=@OLD_SQL_MODE;
     1534SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
     1535SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
  • trunk/web/core.php

    r262 r264  
    167167{
    168168        return html_entity_decode ($string,ENT_QUOTES,"UTF-8");
     169}
     170
     171function getpost($varname,$def="")
     172{
     173        if(isset($_POST[$varname]))     return $_POST[$varname];
     174        if(isset($_GET[$varname]))      return $_GET[$varname];
     175        return $def;
    169176}
    170177
  • trunk/web/css/comm.js

    r205 r264  
    373373        httpRequest = new XMLHttpRequest(); }
    374374
    375     if (!httpRequest) { return false; }
     375    if (!httpRequest) { return true; }
    376376
    377377    var popup=MakePopup("<img src='/img/icon_load.gif'> Загрузка...");
    378378
    379     //httpRequest.onreadystatechange = function() { procReqWin(httpRequest,id); };
    380379    httpRequest.onreadystatechange = function() { popupReqWin(httpRequest,popup); };
    381380    httpRequest.open('GET', url, true);
    382381    httpRequest.send(null);
     382    return false;
    383383}
    384384
     
    614614
    615615function getCoor( event ) {
    616         mousX = event.clientX;
    617         mousY = event.clientY;
     616        if(!event)              return;
     617        if(event=='undefined')  return;
     618        if(event.clientX)       mousX = event.clientX;
     619        if(event.clientX)       mousY = event.clientY;
    618620}
    619621
  • trunk/web/doc_service.php

    r230 r264  
    1919
    2020include_once("core.php");
     21include_once("include/doc.core.php");
    2122need_auth();
    2223
     
    4041        <li><a href='?mode=firm'>Настройки организаций</a></li>
    4142        <li><a href='?mode=vrasx'>Настройки видов расходов</a></li>
     43        <li><a href='?mode=store'>Настройки складов</a></li>
    4244        </ul>");
    4345}
     
    409411        </form>");
    410412}
     413else if($mode=='store')
     414{
     415        if(rcv('opt'))
     416        {
     417                $res=mysql_query("SELECT `id`, `name`, `dont_control` FROM `doc_sklady`");
     418                if(mysql_errno())       throw new MysqlException("Не удалось получить список складов");
     419                while($nxt=mysql_fetch_row($res))
     420                {
     421                        if(!isset($_POST['sname'][$nxt[0]]))    continue;
     422                        $name=mysql_real_escape_string($_POST['sname'][$nxt[0]]);
     423                        $dnc=isset($_POST['dnc'][$nxt[0]])?1:0;
     424                        $desc='';
     425                        if($_POST['sname'][$nxt[0]]!=$nxt[1])   $desc.="name:(".mysql_real_escape_string($nxt[1])." => $name), ";
     426                        if($dnc!=$nxt[2])                       $desc.="dont_control: ($nxt[2] => $dnc)";
     427                        if($desc=='')   continue;                       
     428                       
     429                        mysql_query("UPDATE `doc_sklady` SET `name`='$name', `dont_control`='$dnc' WHERE `id`='$nxt[0]'");
     430                        doc_log('UPDATE',$desc,'sklad',$nxt[0]);
     431                }
     432                $tmpl->msg("Данные обновлены","ok");
     433        }
     434       
     435        $tmpl->AddText("<h1>Редактор складов</h1>
     436        <form action='' method='post'>
     437        <input type='hidden' name='mode' value='store'>
     438        <input type='hidden' name='opt' value='save'>
     439        <table><tr><th>N</th><th>Наименование</th><th>Не контролировать остатки</th></tr>");
     440        $res=mysql_query("SELECT `id`, `name`, `dont_control` FROM `doc_sklady` ORDER BY `id`");
     441        if(mysql_errno())       throw new MysqlException("Не удалось получить список складов");
     442        while($line=mysql_fetch_row($res))
     443        {
     444                $c=$line[2]?'checked':'';
     445                $tmpl->AddText("<tr><td>$line[0]</td><td><input type='text' name='sname[$line[0]]' value='$line[1]'></td><td><input type='checkbox' name='dnc[$line[0]]' value='1' $c></td></tr>");
     446        }
     447        $tmpl->AddText("<tr><td>Новый</td><td><input type='text' name='sname[0]' value=''></td><td><input type='checkbox' name='dnc[0]' value='1'></td></tr>
     448        </table>
     449        <button>Сохранить</button>
     450        </form>");
     451}
    411452else $tmpl->logger("Запрошена несуществующая опция!");
    412453}
  • trunk/web/docj.php

    r261 r264  
    233233                $date_f=$date_t=date("Y-m-d");
    234234
    235                 @$tmpl->AddTMenu("
    236                
     235                @$tmpl->AddTMenu("             
    237236                </td><td align='right'>
    238237                Альт.н.<br>
  • trunk/web/include/doc.core.php

    r261 r264  
    345345function doc_log($motion,$desc,$object='',$object_id=0)
    346346{
    347         global $tmpl;
    348         $uid=mysql_escape_string(@$_SESSION['uid']);
    349         $motion=mysql_escape_string($motion);
    350         $desc=mysql_escape_string($desc);
     347        $uid=mysql_real_escape_string(@$_SESSION['uid']);
     348        $motion=mysql_real_escape_string($motion);
     349        $desc=mysql_real_escape_string($desc);
    351350        $ip=getenv("REMOTE_ADDR");
    352351        mysql_query("INSERT INTO `doc_log` (`user`, `ip`, `time`,`motion`,`desc`, `object`, `object_id`)
  • trunk/web/include/doc.peremeshenie.php

    r254 r264  
    7474                $tim=time();
    7575                $nasklad=$this->dop_data['na_sklad'];
    76                 $res=mysql_query("SELECT `doc_list`.`id`, `doc_list`.`date`, `doc_list`.`type`, `doc_list`.`sklad`, `doc_list`.`ok`
    77                 FROM `doc_list` WHERE `doc_list`.`id`='{$this->doc}'");         
     76                $res=mysql_query("SELECT `doc_list`.`id`, `doc_list`.`date`, `doc_list`.`type`, `doc_list`.`sklad`, `doc_list`.`ok`, `doc_sklady`.`dnc`
     77                FROM `doc_list`
     78                LEFT JOIN `doc_sklady` ON `doc_sklady`.`id`=`doc_list`.`sklad`
     79                WHERE `doc_list`.`id`='{$this->doc}'");         
    7880                if(!$res)       throw new MysqlException('Ошибка выборки данных документа при проведении!');
    79                 $nx=@mysql_fetch_row($res);
     81                $nx=@mysql_fetch_assoc($res);
    8082                if(!$nx)        throw new Exception('Документ не найден!');
    81                 if( $nx[4] && (!$silent) )      throw new Exception('Документ уже был проведён!');
     83                if( $nx['ok'] && (!$silent) )   throw new Exception('Документ уже был проведён!');
    8284
    8385                $res=mysql_query("SELECT `doc_list_pos`.`tovar`, `doc_list_pos`.`cnt`, `doc_base_cnt`.`cnt`, `doc_base`.`name`, `doc_base`.`proizv`, `doc_base`.`pos_type`
    8486                FROM `doc_list_pos`
    8587                LEFT JOIN `doc_base` ON `doc_base`.`id`=`doc_list_pos`.`tovar`
    86                 LEFT JOIN `doc_base_cnt` ON `doc_base_cnt`.`id`=`doc_base`.`id` AND `doc_base_cnt`.`sklad`='$nx[3]'
     88                LEFT JOIN `doc_base_cnt` ON `doc_base_cnt`.`id`=`doc_base`.`id` AND `doc_base_cnt`.`sklad`='{$nx['sklad']}'
    8789                WHERE `doc_list_pos`.`doc`='{$this->doc}'");
    8890                if(!$res)       throw new MysqlException('Ошибка получения списка товара в документе!');
    8991                while($nxt=mysql_fetch_row($res))
    9092                {
    91                         if($nxt[5]>0)           throw new Exception("Перемещение услуги '$nxt[3]:$nxt[4]' недопустимо!");               
    92                         if($nxt[1]>$nxt[2])     throw new Exception("Недостаточно ($nxt[1]) товара '$nxt[3]:$nxt[4]' на складе($nxt[2])!");                     
    93                         $budet=CheckMinus($nxt[0], $nx[3]);
    94                         if($budet<0)   
    95                                 throw new Exception("Невозможно, т.к. будет недостаточно ($budet) товара '$nxt[3]:$nxt[4]' !");
    96                
    97                         mysql_query("UPDATE `doc_base_cnt` SET `cnt`=`cnt`-'$nxt[1]' WHERE `id`='$nxt[0]' AND `sklad`='$nx[3]'");
     93                        if($nxt[5]>0)           throw new Exception("Перемещение услуги '$nxt[3]:$nxt[4]' недопустимо!");
     94                        if(!$nx['dnc'])
     95                        {
     96                                if($nxt[1]>$nxt[2])     throw new Exception("Недостаточно ($nxt[1]) товара '$nxt[3]:$nxt[4]' на складе($nxt[2])!");                     
     97                        }
     98                        mysql_query("UPDATE `doc_base_cnt` SET `cnt`=`cnt`-'$nxt[1]' WHERE `id`='$nxt[0]' AND `sklad`='{$nx['sklad']}'");
    9899                        if(mysql_error())       throw new MysqlException('Ошибка изменения количества на исходном складе!');
    99100                        mysql_query("UPDATE `doc_base_cnt` SET `cnt`=`cnt`+'$nxt[1]' WHERE `id`='$nxt[0]' AND `sklad`='$nasklad'");
     
    103104                        VALUES ('$nxt[0]', '$nasklad', '$nxt[1]')");
    104105                        if(mysql_error())       throw new MysqlException('Ошибка изменения количества на складе назначения!');
     106                       
     107                        if( (!$nx['dnc']) && (!$silent))
     108                        {
     109                                $budet=getStoreCntOnDate($nxt[0], $nx['sklad']);
     110                                if($budet<0)   
     111                                        throw new Exception("Невозможно, т.к. будет недостаточно ($budet) товара '$nxt[3]:$nxt[4]' !");
     112                        }
     113                       
    105114                }
    106115                if($silent)     return;
     
    116125                $nasklad=$this->dop_data['na_sklad'];
    117126               
    118                 $res=mysql_query("SELECT `doc_list`.`id`, `doc_list`.`date`, `doc_list`.`type`, `doc_list`.`sklad`, `doc_list`.`ok`
     127                $res=mysql_query("SELECT `doc_list`.`id`, `doc_list`.`date`, `doc_list`.`type`, `doc_list`.`sklad`, `doc_list`.`ok`, `doc_sklady`.`dnc`
     128                FROM `doc_list`
     129                LEFT JOIN `doc_sklady` ON `doc_sklady`.`id`=`doc_list`.`sklad`
    119130                FROM `doc_list` WHERE `doc_list`.`id`='{$this->doc}'");
    120131                if(!$res)                               throw new MysqlException('Ошибка выборки данных документа!');
    121                 if(! ($nx=@mysql_fetch_row($res)))      throw new Exception('Документ не найден!');
    122                 if(!$nx[4])                             throw new Exception('Документ не проведён!');   
     132                if(! ($nx=@mysql_fetch_assoc($res)))    throw new Exception('Документ не найден!');
     133                if(!$nx['ok'])                          throw new Exception('Документ не проведён!');   
    123134                $res=mysql_query("UPDATE `doc_list` SET `ok`='0' WHERE `id`='{$this->doc}'");
    124135                if(!$res)                               throw new MysqlException('Ошибка установки флага!');
     
    126137                FROM `doc_list_pos`
    127138                LEFT JOIN `doc_base` ON `doc_base`.`id`=`doc_list_pos`.`tovar`
    128                 LEFT JOIN `doc_base_cnt` ON `doc_base_cnt`.`id`=`doc_base`.`id` AND `doc_base_cnt`.`sklad`='$nx[3]'
     139                LEFT JOIN `doc_base_cnt` ON `doc_base_cnt`.`id`=`doc_base`.`id` AND `doc_base_cnt`.`sklad`='{$nx['sklad']}'
    129140                WHERE `doc_list_pos`.`doc`='{$this->doc}'");
    130141                if(!$res)                               throw new MysqlException('Ошибка выборки товаров документа!');
    131142                while($nxt=mysql_fetch_row($res))
    132143                {
    133                         $budet=CheckMinus($nxt[0], $nx[3]);
    134                         if($budet<0)                    throw new Exception("Невозможно, т.к. будет недостаточно ($budet) товара '$nxt[3]' !");
    135144                        mysql_query("UPDATE `doc_base_cnt` SET `cnt`=`cnt`-'$nxt[1]' WHERE `id`='$nxt[0]' AND `sklad`='$nasklad'");
    136145                        if(mysql_error())               throw new Exception("Ошибка проведения, ошибка изменения количества на складе $nasklad!");
    137                         mysql_query("UPDATE `doc_base_cnt` SET `cnt`=`cnt`+'$nxt[1]' WHERE `id`='$nxt[0]' AND `sklad`='$nx[3]'");
    138                         if(mysql_error())               throw new Exception("Ошибка проведения, ошибка изменения количества на складе $nx[3]!");
     146                        mysql_query("UPDATE `doc_base_cnt` SET `cnt`=`cnt`+'$nxt[1]' WHERE `id`='$nxt[0]' AND `sklad`='{$nx['sklad']}'");
     147                        if(mysql_error())               throw new Exception("Ошибка проведения, ошибка изменения количества на складе {$nx['sklad']}!");
     148                        if(!$nx['dnc'])
     149                        {
     150                                $budet=getStoreCntOnDate($nxt[0], $nx['sklad']);
     151                                if($budet<0)                    throw new Exception("Невозможно, т.к. будет недостаточно ($budet) товара '$nxt[3]' !");
     152                        }
    139153                }
    140154        }
  • trunk/web/include/doc.postuplenie.php

    r263 r264  
    5858        }
    5959
    60         public function DocApply($silent=0)
     60        public  function DocApply($silent=0)
    6161        {
    6262                global $tmpl, $uid, $CONFIG;
     
    106106
    107107
    108                 $res=mysql_query("SELECT `doc_list`.`id`, `doc_list`.`date`, `doc_list`.`type`, `doc_list`.`sklad`, `doc_list`.`ok`
    109                 FROM `doc_list` WHERE `doc_list`.`id`='{$this->doc}'");
     108                $res=mysql_query("SELECT `doc_list`.`id`, `doc_list`.`date`, `doc_list`.`type`, `doc_list`.`sklad`, `doc_list`.`ok`, `doc_sklady`.`dnc`
     109                FROM `doc_list`
     110                LEFT JOIN `doc_sklady` ON `doc_sklady`.`id`=`doc_list`.`sklad`
     111                WHERE `doc_list`.`id`='{$this->doc}'");
    110112                if(!$res)                               throw new MysqlException("Ошибка получения данных документа!");
    111                 if(!($nx=@mysql_fetch_row($res)))       throw new Exception("Документ {$this->doc} не найден!");
    112                 if(!$nx[4])                             throw new Exception("Документ ещё не проведён!");
     113                if(!($nx=@mysql_fetch_assoc($res)))     throw new Exception("Документ {$this->doc} не найден!");
     114                if(!$nx['ok'])                          throw new Exception("Документ ещё не проведён!");
    113115
    114116                $res=mysql_query("UPDATE `doc_list` SET `ok`='0' WHERE `id`='{$this->doc}'");
    115117                if(!$res)                               throw new MysqlException("Ошибка установки даты проведения!");
    116118
    117                 $sc="";
    118                 if($nx[3]==2) $sc=2;
    119119                $res=mysql_query("SELECT `doc_list_pos`.`tovar`, `doc_list_pos`.`cnt`, `doc_base_cnt`.`cnt`, `doc_base`.`name`, `doc_base`.`proizv`, `doc_base`.`pos_type`
    120120                FROM `doc_list_pos`
    121121                LEFT JOIN `doc_base` ON `doc_base`.`id`=`doc_list_pos`.`tovar`
    122                 LEFT JOIN `doc_base_cnt` ON `doc_base_cnt`.`id`=`doc_base`.`id` AND `doc_base_cnt`.`sklad`='$nx[3]'
     122                LEFT JOIN `doc_base_cnt` ON `doc_base_cnt`.`id`=`doc_base`.`id` AND `doc_base_cnt`.`sklad`='{$nx['sklad']}'
    123123                WHERE `doc_list_pos`.`doc`='{$this->doc}'");
    124124                if(!$res)                               throw new MysqlException("Ошибка получения номенклатуры документа!");
     
    127127                        if($nxt[5]==0)
    128128                        {
    129                                 if($nxt[1]>$nxt[2])
     129                                if(!$nx['dnc'])
    130130                                {
    131                                         $budet=$nxt[2]-$nxt[1];
    132                                         $badpos=$nxt[0];
    133                                         throw new Exception("Невозможно, т.к. будет недостаточно ($budet) товара '$nxt[3]:$nxt[4]' на складе!");
     131                                        if($nxt[1]>$nxt[2])
     132                                        {
     133                                                $budet=$nxt[2]-$nxt[1];
     134                                                $badpos=$nxt[0];
     135                                                throw new Exception("Невозможно, т.к. будет недостаточно ($budet) товара '$nxt[3]:$nxt[4]' на складе!");
     136                                        }
     137                                       
    134138                                }
     139                                mysql_query("UPDATE `doc_base_cnt` SET `cnt`=`cnt`-'$nxt[1]' WHERE `id`='$nxt[0]' AND `sklad`='{$nx['sklad']}'");
     140                                if(mysql_error())       throw new Exception("Ошибка отмены проведения, ошибка изменения количества!");
    135141                               
    136                                 $budet=CheckMinus($nxt[0], $nx[3]);
    137                                 if($budet<0)
     142                                if(!$nx['dnc'])
    138143                                {
    139                                         $badpos=$nxt[0];
    140                                         throw new Exception("Невозможно, т.к. будет недостаточно ($budet) товара '$nxt[3]:$nxt[4]' !");
     144                                        $budet=getStoreCntOnDate($nxt[0], $nx['sklad']);
     145                                        if($budet<0)
     146                                        {
     147                                                $badpos=$nxt[0];
     148                                                throw new Exception("Невозможно, т.к. будет недостаточно ($budet) товара '$nxt[3]:$nxt[4]' !");
     149                                        }
    141150                                }
    142                                 mysql_query("UPDATE `doc_base_cnt` SET `cnt`=`cnt`-'$nxt[1]' WHERE `id`='$nxt[0]' AND `sklad`='$nx[3]'");
    143                                 if(mysql_error())       throw new Exception("Ошибка отмены проведения, ошибка изменения количества!");
    144151                        }
    145152                }
  • trunk/web/include/doc.realizaciya.php

    r263 r264  
    135135                global $CONFIG;
    136136                $tim=time();
    137                 $res=mysql_query("SELECT `doc_list`.`id`, `doc_list`.`date`, `doc_list`.`type`, `doc_list`.`sklad`, `doc_list`.`ok`
    138                 FROM `doc_list` WHERE `doc_list`.`id`='{$this->doc}'");
    139                 if( !($nx=@mysql_fetch_row($res) ) )    throw new MysqlException('Ошибка выборки данных документа при проведении!');           
    140                 if( $nx[4] && ( !$silent) )             throw new Exception('Документ уже был проведён!');             
     137                $res=mysql_query("SELECT `doc_list`.`id`, `doc_list`.`date`, `doc_list`.`type`, `doc_list`.`sklad`, `doc_list`.`ok`, `doc_sklady`.`dnc`
     138                FROM `doc_list`
     139                LEFT JOIN `doc_sklady` ON `doc_sklady`.`id`=`doc_list`.`sklad`
     140                WHERE `doc_list`.`id`='{$this->doc}'");
     141                if( !($nx=@mysql_fetch_assoc($res) ) )  throw new MysqlException('Ошибка выборки данных документа при проведении!');           
     142                if( $nx['ok'] && ( !$silent) )          throw new Exception('Документ уже был проведён!');             
    141143                $res=mysql_query("UPDATE `doc_list` SET `ok`='$tim' WHERE `id`='{$this->doc}'");
    142144                if( !$res )                             throw new MysqlException('Ошибка проведения, ошибка установки даты проведения!');
     
    145147                FROM `doc_list_pos`
    146148                LEFT JOIN `doc_base` ON `doc_base`.`id`=`doc_list_pos`.`tovar`
    147                 LEFT JOIN `doc_base_cnt` ON `doc_base_cnt`.`id`=`doc_base`.`id` AND `doc_base_cnt`.`sklad`='$nx[3]'
     149                LEFT JOIN `doc_base_cnt` ON `doc_base_cnt`.`id`=`doc_base`.`id` AND `doc_base_cnt`.`sklad`='{$nx['sklad']}'
    148150                WHERE `doc_list_pos`.`doc`='{$this->doc}' AND `doc_base`.`pos_type`='0'");
    149151                while($nxt=mysql_fetch_row($res))
    150152                {
    151                         if($nxt[1]>$nxt[2])     throw new Exception("Недостаточно ($nxt[1]) товара '$nxt[3]:$nxt[4]($nxt[0])': на складе только $nxt[2] шт!");
    152                         if(!$silent)
    153                         {
    154                                 $budet=CheckMinus($nxt[0], $nx[3]);
     153                        if(!$nx['dnc'])
     154                        {
     155                                if($nxt[1]>$nxt[2])     throw new Exception("Недостаточно ($nxt[1]) товара '$nxt[3]:$nxt[4]($nxt[0])': на складе только $nxt[2] шт!");
     156                        }
     157                        mysql_query("UPDATE `doc_base_cnt` SET `cnt`=`cnt`-'$nxt[1]' WHERE `id`='$nxt[0]' AND `sklad`='{$nx['sklad']}'");
     158                        if(mysql_error())       throw new MysqlException('Ошибка проведения, ошибка изменения количества!');
     159                       
     160                        if(!$nx['dnc'] && (!$silent))
     161                        {
     162                                $budet=getStoreCntOnDate($nxt[0], $nx['sklad']);
    155163                                if( $budet<0)           throw new Exception("Невозможно ($silent), т.к. будет недостаточно ($budet) товара '$nxt[3]:$nxt[4]($nxt[0])'!");
    156164                        }
    157                         mysql_query("UPDATE `doc_base_cnt` SET `cnt`=`cnt`-'$nxt[1]' WHERE `id`='$nxt[0]' AND `sklad`='$nx[3]'");
    158                         if(mysql_error())       throw new MysqlException('Ошибка проведения, ошибка изменения количества!');
    159165                       
    160166                        if(@$CONFIG['poseditor']['sn_restrict'])
  • trunk/web/include/doc.sborka.php

    r255 r264  
    3434                $this->header_fields                    ='agent cena sklad';
    3535                settype($this->doc,'int');
     36                $this->dop_menu_buttons                 ="<a href='/doc_sc.php?mode=reopen&sn=sborka_zap&amp;doc=$doc&amp;' title='Передать в сценарий'><img src='img/i_launch.png' alt='users'></a>";
    3637        }
    3738       
     
    4546        {
    4647                global $tmpl;
    47                 global $uid;
    48                 $tim=time();
     48                $tim=time();           
    4949               
    50                
    51                 $res=mysql_query("SELECT `doc_list`.`id`, `doc_list`.`date`, `doc_list`.`type`, `doc_list`.`sklad`, `doc_list`.`ok`
    52                 FROM `doc_list` WHERE `doc_list`.`id`='{$this->doc}'");
    53                 if(mysql_errno())                       throw new MysqlException('Ошибка выборки данных документа при проведении!');
     50                $res=mysql_query("SELECT `doc_list`.`id`, `doc_list`.`date`, `doc_list`.`type`, `doc_list`.`sklad`, `doc_list`.`ok`, `doc_sklady`.`dnc`
     51                FROM `doc_list`
     52                LEFT JOIN `doc_sklady` ON `doc_sklady`.`id`=`doc_list`.`sklad`
     53                WHERE `doc_list`.`id`='{$this->doc}'");
     54                if(mysql_errno())                       throw new MysqlException('Ошибка выборки данных документа при проведении!'.mysql_error());
    5455                $doc_info=mysql_fetch_array($res);
    5556                if(!$doc_info)                          throw new Exception("Документ {$this->doc} не найден!");
     
    7273                                if(!$silent)
    7374                                {
    74                                         $budet=CheckMinus($doc_line[0], $doc_info['sklad']);
     75                                        $budet=getStoreCntOnDate($doc_line[0], $doc_info['sklad']);
    7576                                        if( $budet<0)           throw new Exception("Невозможно ($silent), т.к. будет недостаточно ($budet) товара '$doc_line[3]:$doc_line[4]($doc_line[0])'!");
    7677                                }
     
    8990                mysql_query("UPDATE `doc_list` SET `ok`='$tim', `sum`='0' WHERE `id`='{$this->doc}'");
    9091                if(mysql_errno())               throw new MysqlException('Ошибка установки даты проведения документа!');
    91                
    9292        }
    9393       
     
    9595        {
    9696                global $tmpl;
    97                 global $uid;
    98                 $dd=date_day(time());
    99                 $tim=time();
    100 
    101 
    102                 $res=mysql_query("SELECT `doc_list`.`id`, `doc_list`.`date`, `doc_list`.`type`, `doc_list`.`sklad`, `doc_list`.`ok`
    103                 FROM `doc_list` WHERE `doc_list`.`id`='{$this->doc}'");
     97
     98                $res=mysql_query("SELECT `doc_list`.`id`, `doc_list`.`date`, `doc_list`.`type`, `doc_list`.`sklad`, `doc_list`.`ok`, `doc_sklady`.`dnc`
     99                FROM `doc_list`
     100                LEFT JOIN `doc_sklady` ON `doc_sklady`.`id`=`doc_list`.`sklad`
     101                WHERE `doc_list`.`id`='{$this->doc}'");
    104102                if(!$res)                               throw new MysqlException("Ошибка получения данных документа!");
    105103                if(!($nx=@mysql_fetch_row($res)))       throw new Exception("Документ {$this->doc} не найден!");
     
    136134                {
    137135                        $tmpl->ajax=1;
    138                         $tmpl->AddText("<ul>
    139                         <li><a href='?mode=print&amp;doc=".$this->doc."&amp;opt=nak'>Накладная</a></li>
    140                         <li><a href='?mode=print&amp;doc=".$this->doc."&amp;opt=nac'>Наценки</a></li>
    141                         </ul>");
    142                 }
    143                 else if($opt=='nac')    $this->PrintNacenki($this->doc);
    144                 else $this->PrintNakl($this->doc);
     136                        $tmpl->AddText("Не реализовано");
     137                }
    145138        }
    146139       
    147         function PrintNakl($doc)
    148         {
    149                 get_docdata($doc);
    150                 global $tmpl;
    151                 global $uid;
    152                 global $doc_data;
    153                 global $dop_data;
    154                 global $dv;
    155 
    156                 if(!$doc_data[6])
    157                 {
    158                         doc_menu(0,0);
    159                         $tmpl->AddText("<h1>Поступление товара на склад</h1>");
    160 
    161                         $tmpl->msg("Сначала нужно провести документ!","err");
    162                 }
    163                 else
    164                 {
    165                         $tmpl->LoadTemplate('print');
    166                         $dt=date("d.m.Y",$doc_data[5]);
    167 
    168                         $tmpl->AddText("<h1>Накладная N $doc_data[9], от $dt </h1>
    169                         <b>Поставщик: </b>$doc_data[3]<br>
    170                         <b>Покупатель: </b>".$dv['firm_name']."<br><br>");
    171 
    172                         $tmpl->AddText("
    173                         <table width=800 cellspacing=0 cellpadding=0>
    174                         <tr><th>№</th><th width=450>Наименование<th>Место<th width=80>Масса<th>Кол-во<th>Стоимость<th width=75>Сумма</tr>");
    175                         $res=mysql_query("SELECT `doc_group`.`printname`,`doc_base`.`name`,`doc_base`.`proizv` ,`doc_list_pos`.`cnt`, `doc_list_pos`.`cost`, `doc_base_cnt`.`mesto`, `doc_base_dop`.`mass`
    176                         FROM `doc_list_pos`
    177                         LEFT JOIN `doc_base`  ON `doc_list_pos`.`tovar`=`doc_base`.`id`
    178                         LEFT JOIN `doc_group` ON `doc_group`.`id`=`doc_base`.`group`
    179                         LEFT JOIN `doc_base_dop` ON `doc_base_dop`.`id`=`doc_base`.`id`
    180                         LEFT JOIN `doc_base_cnt` ON `doc_base_cnt`.`id`=`doc_base`.`id` AND `doc_base_cnt`.`sklad`='$doc_data[7]'
    181                         WHERE `doc_list_pos`.`doc`='$doc'");
    182                         $i=0;
    183                         $ii=1;
    184                         $sum=$summass=0;
    185                         while($nxt=mysql_fetch_row($res))
    186                         {
    187                                 $sm=$nxt[3]*$nxt[4];
    188                                 $cost = sprintf("%01.2f р.", $nxt[4]);
    189                                 $cost2 = sprintf("%01.2f р.", $sm);
    190                                 $mass = sprintf("%0.3f кг.", $nxt[6]);
    191                                
    192                                 $tmpl->AddText("<tr align=right><td>$ii</td><td align=left>$nxt[0] $nxt[1] / $nxt[2]<td>$nxt[5]<td>$mass<td>$nxt[3]<td>$cost<td>$cost2");
    193                                 $i=1-$i;
    194                                 $ii++;
    195                                 $sum+=$sm;
    196                                 $summass+=$nxt[6]*$nxt[3];
    197                         }
    198                         $ii--;
    199                         $cost = sprintf("%01.2f руб.", $sum);
    200 
    201                         $tmpl->AddText("</table>
    202                         <p>Всего <b>$ii</b> наименований на сумму <b>$cost</b> массой <b>$summass</b> кг.</p>
    203                         <p class=mini>Товар получил, претензий к качеству товара и внешнему виду не имею.</p>
    204                         <p>Поставщик:_____________________________________</p>
    205                         <p>Покупатель: ____________________________________</p>");
    206                         doc_log("PRINT {$this->doc_name}",'Накладная','doc',$doc);
    207                 }
    208         }
    209        
    210         function PrintNacenki($doc)
    211         {
    212                 get_docdata($doc);
    213                 global $tmpl;
    214                 global $uid;
    215                 global $doc_data;
    216                 global $dop_data;
    217                 global $dv;
    218 
    219                 if(!$doc_data[6])
    220                 {
    221                         doc_menu(0,0);
    222                         $tmpl->AddText("<h1>Поступление товара на склад</h1>");
    223 
    224                         $tmpl->msg("Сначала нужно провести документ!","err");
    225                 }
    226                 else
    227                 {
    228                         $tmpl->LoadTemplate('print');
    229                         $dt=date("d.m.Y",$doc_data[5]);
    230 
    231                         $tmpl->AddText("<h1>Наценки для поступления N $doc_data[9], от $dt </h1>
    232                         <b>Поставщик: </b>$doc_data[3]<br>
    233                         <b>Покупатель: </b>".$dv['firm_name']."<br><br>");
    234 
    235                         $tmpl->AddText("
    236                         <table width=800 cellspacing=0 cellpadding=0>
    237                         <tr><th>№</th><th width=450>Наименование<th>Кол-во<th>Стоимость<th>Базовая цена<th>Наценка<th width=75>Сумма</tr>");
    238                         $res=mysql_query("SELECT `doc_group`.`printname`, `doc_base`.`name`,`doc_base`.`proizv`, `doc_list_pos`.`cnt`, `doc_list_pos`.`cost`, `doc_base`.`cost`
    239                         FROM `doc_list_pos`
    240                         LEFT JOIN `doc_base`  ON `doc_list_pos`.`tovar`=`doc_base`.`id`
    241                         LEFT JOIN `doc_group` ON `doc_group`.`id`=`doc_base`.`group`
    242                         LEFT JOIN `doc_base_cnt` ON `doc_base_cnt`.`id`=`doc_base`.`id` AND `doc_base_cnt`.`sklad`='$doc_data[7]'
    243                         WHERE `doc_list_pos`.`doc`='$doc'");
    244                         $i=0;
    245                         $ii=1;
    246                         $sum=$sumnac=0;
    247                         while($nxt=mysql_fetch_row($res))
    248                         {
    249                                 $sm=$nxt[3]*$nxt[4];
    250                                 $cost = sprintf("%01.2f р.", $nxt[4]);
    251                                 $bcost = sprintf("%01.2f р.", $nxt[5]);
    252                                 $nac = sprintf("%01.2f р.", $nxt[5]-$nxt[4]);
    253                                 $cost2 = sprintf("%01.2f р.", $sm);
    254                                
    255                                 $tmpl->AddText("<tr align=right><td>$ii</td><td align=left>$nxt[0] $nxt[1] / $nxt[2]<td>$nxt[3]<td>$cost<td>$bcost<td>$nac<td>$cost2");
    256                                 $i=1-$i;
    257                                 $ii++;
    258                                 $sum+=$sm;
    259                                 $sumnac+=($nxt[5]-$nxt[4]);
    260                         }
    261                         $ii--;
    262                         $cost = sprintf("%01.2f руб.", $sum);
    263                         $nac = sprintf("%01.2f руб.", $sumnac);
    264 
    265                         $tmpl->AddText("</table>
    266                         <p>Всего <b>$ii</b> наименований на сумму <b>$cost</b><br>
    267                         Наценка по документу: $nac</p>
    268                         ");
    269                         doc_log("PRINT {$this->doc_name}",'Наценки','doc',$doc);
    270                 }
    271         }
    272         // Формирование другого документа на основании текущего
    273         function MorphTo($doc, $target_type)
    274         {
    275                 get_docdata($doc);
    276                 global $tmpl;
    277                 global $uid;
    278                 global $doc_data;
    279 
    280 
    281                 if($target_type=='')
    282                 {
    283                         $tmpl->ajax=1;
    284                         $tmpl->AddText("<ul><li><a href='?mode=morphto&amp;doc=$doc&amp;tt=7'>Расходный кассовый ордер</a></li>
    285                         </ul>");
    286                 }
    287                 else if($target_type==7)
    288                 {
    289                         $sum=DocSumUpdate($doc);
    290                         mysql_query("START TRANSACTION");
    291                         $tm=time();
    292                         $altnum=GetNextAltNum($target_type ,$doc_data[10]);
    293                         $res=mysql_query("INSERT INTO `doc_list`
    294                         (`type`, `agent`, `date`, `sklad`, `user`, `altnum`, `subtype`, `p_doc`, `sum`)
    295                         VALUES ('$target_type', '$doc_data[2]', '$tm', '1', '$uid', '$altnum', '$doc_data[10]', '$doc', '$sum')");
    296                         $ndoc= mysql_insert_id();
    297                         // Вид расхода - закуп товара на продажу
    298                         mysql_query("INSERT INTO `doc_dopdata` (`doc`,`param`,`value`)
    299                         VALUES ('$ndoc','rasxodi','6')");
    300 
    301                         if($res)
    302                         {
    303                                 mysql_query("COMMIT");
    304                                 $ref="Location: doc.php?mode=body&doc=$ndoc";
    305                                 header($ref);
    306                         }
    307                         else
    308                         {
    309                                 mysql_query("ROLLBACK");
    310                                 $tmpl->msg("Не удалось создать подчинённый документ!","err");
    311                         }
    312                 }
    313                 else
    314                 {
    315                         $tmpl->msg("В разработке","info");
    316                 }
    317         }
     140
    318141        // Выполнить удаление документа. Если есть зависимости - удаление не производится.
    319142        function DelExec($doc)
     
    337160        function Service($doc)
    338161        {
     162                global $tmpl,$uid;
    339163                $tmpl->ajax=1;
    340164                $opt=rcv('opt');
    341165                $pos=rcv('pos');
    342                 parent::_Service($opt,$pos);
     166                include_once('include/doc.zapposeditor.php');
     167                $doc=$this->doc;
     168                $poseditor=new SZapPosEditor($this);
     169                $poseditor->cost_id=$this->dop_data['cena'];
     170                $poseditor->sklad_id=$this->doc_data['sklad'];         
     171               
     172                if( isAccess('doc_'.$this->doc_name,'view') )
     173                {
     174
     175                        // Json-вариант списка товаров
     176                        if($opt=='jget')
     177                        {                               
     178                                $doc_sum=DocSumUpdate($doc);
     179                                $str="{ response: '2', content: [".$poseditor->GetAllContent()."], sum: '$doc_sum' }";                 
     180                                $tmpl->AddText($str);                   
     181                        }
     182                        // Получение данных наименования
     183                        else if($opt=='jgpi')
     184                        {
     185                                $pos=rcv('pos');
     186                                $tmpl->AddText($poseditor->GetPosInfo($pos));
     187                        }
     188                        // Json вариант добавления позиции
     189                        else if($opt=='jadd')
     190                        {
     191                                if(!isAccess('doc_sborka','edit'))      throw new AccessException("Недостаточно привилегий");
     192                                $pos=rcv('pos');
     193                                $tmpl->SetText($poseditor->AddPos($pos));
     194                        }
     195                        // Json вариант удаления строки
     196                        else if($opt=='jdel')
     197                        {
     198                                if(!isAccess('doc_sborka','edit'))      throw new AccessException("Недостаточно привилегий");
     199                                $line_id=rcv('line_id');
     200                                $tmpl->SetText($poseditor->Removeline($line_id));
     201                        }
     202                        // Json вариант обновления
     203                        else if($opt=='jup')
     204                        {
     205                                if(!isAccess('doc_sborka','edit'))      throw new AccessException("Недостаточно привилегий");
     206                                $line_id=rcv('line_id');
     207                                $value=rcv('value');
     208                                $type=rcv('type');
     209                                $tmpl->SetText($poseditor->UpdateLine($line_id, $type, $value));
     210                        }
     211                        // Получение номенклатуры выбранной группы
     212                        else if($opt=='jsklad')
     213                        {
     214                                $group_id=rcv('group_id');
     215                                $str="{ response: 'sklad_list', group: '$group_id',  content: [".$poseditor->GetSkladList($group_id)."] }";             
     216                                $tmpl->SetText($str);                   
     217                        }
     218                        // Поиск по подстроке по складу
     219                        else if($opt=='jsklads')
     220                        {
     221                                $s=rcv('s');
     222                                $str="{ response: 'sklad_list', content: [".$poseditor->SearchSkladList($s)."] }";                     
     223                                $tmpl->SetText($str);                   
     224                        }
     225                        else if($opt=='jsn')
     226                        {
     227                                $action=rcv('a');
     228                                $line_id=rcv('line');
     229                                $data=rcv('data');
     230                                $tmpl->SetText($poseditor->SerialNum($action, $line_id, $data) );       
     231                        }
     232                }
    343233        }
    344234
  • trunk/web/include/doc_scripts/sborka_zap.php

    r254 r264  
    11<?php
    22
    3 include_once('include/doc.poseditor.php');
    4 
    5 class SZapPosEditor extends DocPosEditor
    6 {
    7 
    8 function Show($param='')
    9 {
    10         global $CONFIG;
    11         // Список товаров
    12         $ret="
    13         <script src='/css/poseditor.js' type='text/javascript'></script>
    14         <link href='/css/poseditor.css' rel='stylesheet' type='text/css' media='screen'>
    15         <table width='100%' id='poslist'><thead><tr>
    16         <th width='60px' align='left'>№</th>";
    17         if($this->show_vc>0)    $ret.="<th width='90px' align='left' title='Код изготовителя'>Код</th>";
    18         $ret.="<th>Наименование</th>
    19         <th width='90px' title='Выбранная цена'>Выбр. цена</th>
    20         <th width='90px' class='hl'>Цена</th>
    21         <th width='60px' class='hl'>Кол-во</th>
    22         <th width='90px' class='hl'>Стоимость</th>
    23         <th width='60px' title='Остаток товара на складе'>Остаток</th>
    24         <th width='90px'>Зарплата</th>";
    25         $ret.="</tr>
    26         </thead>
    27         <tfoot>
    28         <tr id='pladd'>
    29         <td><input type='text' id='pos_id' autocomplete='off' tabindex='1'></td>";
    30         if($this->show_vc>0)    $ret.="<td><input type='text' id='pos_vc' autocomplete='off' tabindex='2'></td>";
    31         $ret.="<td><input type='text' id='pos_name' autocomplete='off' tabindex='3'></td>
    32         <td id='pos_scost'></td>
    33         <td><input type='text' id='pos_cost' autocomplete='off' tabindex='4'></td>
    34         <td><input type='text' id='pos_cnt' autocomplete='off' tabindex='5'></td>
    35         <td id='pos_sum'></td>
    36         <td id='pos_sklad_cnt'></td>
    37         <td id='pos_mesto'></td>";
    38        
    39         $ret.="
    40         </tr>
    41         </tfoot>
    42         <tbody>
    43         <tr><td colspan='9' style='text-align: center;'><img src='/img/icon_load.gif' alt='Загрузка...'>
    44         </tbody>
    45         </table>
    46         <p align='right' id='sum'></p>";
    47        
    48         $ret.="
    49         <table id='sklad_view'>
    50         <tr><td id='groups_list' width='200' valign='top' class='lin0'>";
    51         $ret.=$this->getGroupsTree();
    52         $ret.="</td><td valign='top' class='lin1'>     
    53         <table width='100%' cellspacing='1' cellpadding='2'>
    54         <tr><thead>
    55         <th>№";
    56         if($this->show_vc>0)    $ret.="<th>Код";
    57         $ret.="<th>Наименование<th>Марка<th>Цена, р.<th>Ликв.<th>Р.цена, р.<th>Аналог";
    58         if($this->show_tdb>0)   $ret.="<th>Тип<th>d<th>D<th>B<th>Масса";
    59         if($this->show_rto>0)   $ret.="<th><img src='/img/i_lock.png' alt='В резерве'><th><img src='/img/i_alert.png' alt='Предложений'><th><img src='/img/i_truck.png' alt='В пути'>";
    60         $ret.="<th>Склад<th>Всего<th>Место
    61         </thead>
    62         <tbody id='sklad_list'>
    63         </tbody>
    64         </table>
    65         </td></tr>
    66         </table>";
    67         if(!@$CONFIG['poseditor']['need_dialog'])       $CONFIG['poseditor']['need_dialog']=0;
    68         else                                            $CONFIG['poseditor']['need_dialog']=1;
    69         $ret.=@"<script type=\"text/javascript\">
    70         var poslist=PosEditorInit('/doc_sc.php?mode=srv&sn=sborka_zap&doc={$this->doc}',{$this->editable})
    71         poslist.show_column['vc']='{$this->show_vc}'
    72 
    73         var skladview=document.getElementById('sklad_view')
    74         skladview.show_column['vc']='{$this->show_vc}'
    75        
    76         skladlist=document.getElementById('sklad_list').needDialog={$CONFIG['poseditor']['need_dialog']};
    77         </script>";     
    78        
    79         return $ret;
    80 }
    81 
    82 // Получить весь текущий список товаров (документа)
    83 function GetAllContent()
    84 {
    85         $res=mysql_query("SELECT `doc_list_pos`.`id` AS `line_id`, `doc_base`.`id` AS `pos_id`, `doc_base`.`vc`, `doc_base`.`name`, `doc_base`.`proizv`, `doc_base`.`cost` AS `bcost`, `doc_list_pos`.`cnt`, `doc_list_pos`.`cost`, `doc_base_cnt`.`cnt` AS `sklad_cnt`, `doc_base_cnt`.`mesto`, `doc_list_pos`.`gtd`
    86         FROM `doc_list_pos`
    87         INNER JOIN `doc_base` ON `doc_base`.`id`=`doc_list_pos`.`tovar`
    88         LEFT JOIN `doc_base_cnt` ON `doc_base_cnt`.`id`=`doc_list_pos`.`tovar` AND `doc_base_cnt`.`sklad`='{$this->sklad_id}'
    89         WHERE `doc_list_pos`.`doc`='{$this->doc}' AND `doc_list_pos`.`page`='0'");
    90         if(mysql_errno())       throw new MysqlException("Ошибка получения имени");
    91         $ret='';
    92         while($nxt=mysql_fetch_assoc($res))
    93         {
    94                 if($this->cost_id)      $scost=GetCostPos($nxt['pos_id'], $this->cost_id);
    95                 else                    $scost=sprintf("%0.2f",$nxt['bcost']);
    96                 $nxt['cost']=           sprintf("%0.2f",$nxt['cost']);
    97                 if($ret)        $ret.=', ';
    98                
    99                 // Расчитываем зарплату и выводим как место
    100                 $rs=mysql_query("SELECT `doc_base_params`.`id`, `doc_base_values`.`value` FROM `doc_base_params`
    101                 LEFT JOIN `doc_base_values` ON `doc_base_values`.`param_id`=`doc_base_params`.`id` AND `doc_base_values`.`id`='{$nxt['pos_id']}'
    102                 WHERE `doc_base_params`.`param`='ZP'");
    103                 if(mysql_errno())       throw new MysqlException("Не удалось выбрать доп.свойство товара");
    104                 if(mysql_num_rows($rs))
    105                 {
    106                         $zp=sprintf("%0.2f", mysql_result($rs,0,1));
    107                 }
    108                 else $zp='НЕТ';
    109                
    110                 $ret.="{
    111                 line_id: '{$nxt['line_id']}', pos_id: '{$nxt['pos_id']}', vc: '{$nxt['vc']}', name: '{$nxt['name']} - {$nxt['proizv']}', cnt: '{$nxt['cnt']}', cost: '{$nxt['cost']}', scost: '$scost', sklad_cnt: '{$nxt['sklad_cnt']}', mesto: '$zp', gtd: '{$nxt['gtd']}'";
    112                
    113                 $ret.="}";
    114 
    115         }
    116         return $ret;
    117 }
    118 
    119 function GetPosInfo($pos)
    120 {
    121         $ret='{response: 0}';
    122 
    123         $res=mysql_query("SELECT `doc_list_pos`.`id` AS `line_id`, `doc_base`.`id` AS `pos_id`, `doc_base`.`vc`, `doc_base`.`name`, `doc_base`.`proizv`, `doc_base`.`cost` AS `bcost`, `doc_list_pos`.`cnt`, `doc_list_pos`.`cost`, `doc_base_cnt`.`cnt` AS `sklad_cnt`, `doc_base_cnt`.`mesto`, `doc_list_pos`.`gtd`
    124         FROM `doc_base`
    125         LEFT JOIN `doc_list_pos` ON `doc_base`.`id`=`doc_list_pos`.`tovar` AND `doc_list_pos`.`doc`='{$this->doc}'
    126         LEFT JOIN `doc_base_cnt` ON `doc_base_cnt`.`id`=`doc_base`.`id` AND `doc_base_cnt`.`sklad`='{$this->sklad_id}'
    127         WHERE `doc_base`.`id`='$pos'");
    128         if(mysql_errno())       throw new MysqlException("Ошибка получения имени");
    129         $ret='';
    130         if($nxt=mysql_fetch_assoc($res))
    131         {
    132                 if($this->cost_id)      $scost=GetCostPos($nxt['pos_id'], $this->cost_id);
    133                 else                    $scost=sprintf("%0.2f",$nxt['bcost']);
    134                 if(!$nxt['cnt'])        $nxt['cnt']=1;
    135                 if(!$nxt['cost'])       $nxt['cost']=$scost;
    136                 $nxt['cost']=           sprintf("%0.2f",$nxt['cost']);
    137                
    138                 // Расчитываем зарплату и выводим как место
    139                 $rs=mysql_query("SELECT `doc_base_params`.`id`, `doc_base_values`.`value` FROM `doc_base_params`
    140                 LEFT JOIN `doc_base_values` ON `doc_base_values`.`param_id`=`doc_base_params`.`id` AND `doc_base_values`.`id`='{$nxt['pos_id']}'
    141                 WHERE `doc_base_params`.`param`='ZP'");
    142                 if(mysql_errno())       throw new MysqlException("Не удалось выбрать доп.свойство товара");
    143                 if(mysql_num_rows($rs))
    144                 {
    145                         $zp=sprintf("%0.2f", mysql_result($rs,0,1));
    146                 }
    147                 else $zp='НЕТ';
    148                
    149                 $ret="{response: 3, data: {
    150                 line_id: '{$nxt['line_id']}', pos_id: '{$nxt['pos_id']}', vc: '{$nxt['vc']}', name: '{$nxt['name']} - {$nxt['proizv']}', cnt: '{$nxt['cnt']}', cost: '{$nxt['cost']}', scost: '$scost', sklad_cnt: '{$nxt['sklad_cnt']}', mesto: '$zp', gtd: '{$nxt['gtd']}'
    151                 } }";
    152         }
    153 
    154         return $ret;
    155 }
    156 
    157 
    158 /// Добавляет указанную складскую позицию в список
    159 function AddPos($pos)
    160 {
    161         $cnt=rcv('cnt');
    162         $cost=rcv('cost');
    163         $add=0;
    164         $ret='';
    165                
    166         $res=mysql_query("SELECT `id`, `tovar`, `cnt`, `cost` FROM `doc_list_pos` WHERE `doc`='{$this->doc}' AND `tovar`='$pos'");
    167         if(mysql_errno())       throw new MysqlException("Не удалось выбрать строку документа!");
    168         if(mysql_num_rows($res)==0)
    169         {
    170                 mysql_query("INSERT INTO doc_list_pos (`doc`,`tovar`,`cnt`,`cost`) VALUES ('{$this->doc}','$pos','$cnt','$cost')");
    171                 if(mysql_errno())       throw new MysqlException("Не удалось вставить строку в документ!");
    172                 $pos_line=mysql_insert_id();
    173                 doc_log("UPDATE","add pos: pos:$pos",'doc',$this->doc);
    174                 doc_log("UPDATE","add pos: pos:$pos",'pos',$pos);
    175                 $add=1;
    176         }
    177         else
    178         {
    179                 $nxt=mysql_fetch_row($res);
    180                 $pos_line=$nxt[0];
    181                 mysql_query("UPDATE `doc_list_pos` SET `cnt`='$cnt', `cost`='$cost' WHERE `id`='$nxt[0]'");
    182                 if(mysql_errno())       throw MysqlException("Не удалось вставить строку в документ!");
    183                 doc_log("UPDATE","change cnt: pos:$nxt[1], doc_list_pos:$nxt[0], cnt:$nxt[2]+1",'doc',$this->doc);
    184                 doc_log("UPDATE","change cnt: pos:$nxt[1], doc_list_pos:$nxt[0], cnt:$nxt[2]+1, doc:{$this->doc}",'pos',$nxt[1]);
    185         }       
    186         $doc_sum=DocSumUpdate($this->doc);
    187        
    188         if($add)
    189         {
    190                 $res=mysql_query("SELECT `doc_base`.`id`, `doc_base`.`vc`, `doc_base`.`name`, `doc_base`.`proizv`, `doc_list_pos`.`cnt`, `doc_list_pos`.`cost`, `doc_base_cnt`.`cnt` AS `sklad_cnt`, `doc_base_cnt`.`mesto`
    191                 FROM `doc_list_pos`
    192                 INNER JOIN `doc_base` ON `doc_base`.`id`=`doc_list_pos`.`tovar`
    193                 LEFT JOIN `doc_base_cnt` ON `doc_base_cnt`.`id`=`doc_list_pos`.`tovar` AND `doc_base_cnt`.`sklad`='{$this->sklad_id}'
    194                 WHERE `doc_list_pos`.`id`='$pos_line'");
    195                 if(mysql_errno())       throw MysqlException("Не удалось получить строку документа");
    196                 $line=mysql_fetch_assoc($res);
    197                
    198                 $rs=mysql_query("SELECT `doc_base_params`.`id`, `doc_base_values`.`value` FROM `doc_base_params`
    199                 LEFT JOIN `doc_base_values` ON `doc_base_values`.`param_id`=`doc_base_params`.`id` AND `doc_base_values`.`id`='{$line['id']}'
    200                 WHERE `doc_base_params`.`param`='ZP'");
    201                 if(mysql_errno())       throw new MysqlException("Не удалось выбрать доп.свойство товара");
    202                 if(mysql_num_rows($rs))
    203                 {
    204                         $zp=sprintf("%0.2f", mysql_result($rs,0,1));
    205                 }
    206                 else
    207                 $zp='НЕТ';
    208                
    209                 $cost=$this->cost_id?GetCostPos($line['id'], $this->cost_id):$line['cost'];
    210                 $ret="{ response: '1', add: { line_id: '$pos_line', pos_id: '{$line['id']}', vc: '{$line['vc']}', name: '{$line['name']} - {$line['proizv']}', cnt: '{$line['cnt']}', scost: '$cost', cost: '{$line['cost']}', sklad_cnt: '{$line['sklad_cnt']}', mesto: '$zp', gtd: '' }, sum: '$doc_sum' }";
    211         }
    212         else
    213         {
    214                 $cost=sprintf("%0.2f",$cost);
    215                 $ret="{ response: '4', update: { line_id: '$pos_line', cnt: '{$cnt}', cost: '{$cost}'}, sum: '$doc_sum' }";
    216         }
    217         return $ret;
    218 }
    219 
    220 
    221 
    222 };
     3include_once('include/doc.zapposeditor.php');
    2234
    2245
     
    350131                header("Location: /doc_sc.php?mode=edit&sn=sborka_zap&doc=$doc&tov_id=$tov_id&agent=$agent&sklad=$sklad&firm=$firm&nasklad=$nasklad");
    351132        }
     133        else if($mode=='reopen')
     134        {
     135                $tmpl->AddText("<h1>".$this->getname()."</h1>");
     136                $doc=rcv('doc');
     137                $res=mysql_query("SELECT `firm_id`, `sklad`, `agent`, `ok` FROM `doc_list` WHERE `id`='$doc'");
     138                if(mysql_errno())                       throw new MysqlException("Не удалось получить документ");
     139                if(!$nxt=mysql_fetch_assoc($res))       throw new Exception("Документ не найден");
     140                if($nxt['ok'])                          throw new Exception("Операция не допускается для проведённого документа");
     141                $agent=$nxt['agent'];
     142                $sklad=$nxt['sklad'];
     143                $firm=$nxt['firm'];
     144               
     145                //$nasklad=rcv('nasklad');
     146                //$tov_id=rcv('tov_id');
     147
     148                mysql_query("REPLACE INTO `doc_dopdata` (`doc`,`param`,`value`) VALUES ('$doc','cena','1')");
     149                header("Location: /doc_sc.php?mode=edit&sn=sborka_zap&doc=$doc&agent=$agent&sklad=$sklad&firm=$firm");
     150        }
    352151        else if($mode=='edit')
    353152        {
     
    387186                $zp=$this->CalcZP($doc);
    388187                $tim=time();
    389                 mysql_query("INSERT INTO `doc_list` (`date`, `firm_id`, `type`, `user`, `altnum`, `subtype`, `sklad`, `agent`, `p_doc`, `sum`)
    390                 VALUES  ('$tim', '$firm', '1', '$uid', '0', 'auto', '$sklad', '$agent', '$doc', '$zp')");
    391                 if(mysql_errno())       throw new MysqlException("Не удалось создать документ");
    392                 $doc2=mysql_insert_id();
    393                 mysql_query("INSERT INTO `doc_list_pos` (`doc`, `tovar`, `cnt`, `cost`) VALUES ('$doc2', '$tov_id', '1', '$zp')");
    394                 if(mysql_errno())       throw new MysqlException("Не удалось добавить услугу");
    395                 $document2=AutoDocument($doc2);
    396                 $document2->DocApply();
    397                 mysql_query("UPDATE `doc_list` SET `sum`='$zp' WHERE `id`='$doc2'");
    398                
    399                 if( ($sklad!=$nasklad) && $nasklad)
     188                // Проверка, создано ли уже поступление зарплаты
     189                $res=mysql_query("SELECT `id` FROM `doc_list` WHERE `type`='1' AND `p_doc`='$doc'");
     190                if(mysql_num_rows($res))
     191                {
     192                        list($post_doc)=mysql_fetch_row($res);
     193                        mysql_query("UPDATE `doc_list_pos` SET `cost`='$zp' WHERE `doc`='$post_doc'");
     194                        if(mysql_errno())       throw new MysqlException("Не удалось обновить услугу");
     195                }
     196                else
     197                {
     198                        mysql_query("INSERT INTO `doc_list` (`date`, `firm_id`, `type`, `user`, `altnum`, `subtype`, `sklad`, `agent`, `p_doc`, `sum`)
     199                        VALUES  ('$tim', '$firm', '1', '$uid', '0', 'auto', '$sklad', '$agent', '$doc', '$zp')");
     200                        if(mysql_errno())       throw new MysqlException("Не удалось создать документ");
     201                        $post_doc=mysql_insert_id();
     202                        mysql_query("INSERT INTO `doc_list_pos` (`doc`, `tovar`, `cnt`, `cost`) VALUES ('$post_doc', '$tov_id', '1', '$zp')");
     203                        if(mysql_errno())       throw new MysqlException("Не удалось добавить услугу");
     204                        $document2=AutoDocument($post_doc);
     205                        $document2->DocApply();
     206                }
     207               
     208                mysql_query("UPDATE `doc_list` SET `sum`='$zp' WHERE `id`='$post_doc'");
     209               
     210                // Проверка, создано ли уже перемещение
     211                $res=mysql_query("SELECT `id` FROM `doc_list` WHERE `type`='8' AND `p_doc`='$doc'");
     212                if(mysql_num_rows($res))
     213                {
     214                        list($perem_doc_num)=mysql_fetch_row($res);
     215                        $r=mysql_query("SELECT `value` FROM `doc_dopdata` WHERE `doc`='$perem_doc_num' AND `param`='na_sklad'");
     216                        list($nasklad)=mysql_fetch_row($r);
     217                        $perem_doc=new doc_Peremeshenie($perem_doc_num);
     218                }
     219                else if( ($sklad!=$nasklad) && $nasklad)
    400220                {
    401221                        $perem_doc=new doc_Peremeshenie();
    402222                        $perem_doc->CreateFrom($document);
    403223                        $perem_doc->SetDopData('na_sklad',$nasklad);
     224                }
     225               
     226                if( ($sklad!=$nasklad) && $nasklad)
     227                {
    404228                        $docnum=$perem_doc->getDocNum();
    405229                        $res=mysql_query("SELECT `tovar`, `cnt`, `cost` FROM `doc_list_pos` WHERE `doc`='$doc' AND `page`='0'");
  • trunk/web/index.php

    r262 r264  
    180180                        <h2>{$nxt['name']}</h2>
    181181                        <b>Цена:</b> $cost руб / {$nxt['units']}<br>
    182                         <a href='/vitrina.php?mode=korz_add&amp;p={$nxt['id']}&amp;cnt=1' onclick=\"ShowPopupWin('/vitrina.php?mode=korz_adj&amp;p={$nxt['id']}&amp;cnt=1','popwin'); return false;\" rel='nowollow'>В корзину!</a>
     182                        <a href='/vitrina.php?mode=korz_add&amp;p={$nxt['id']}&amp;cnt=1' onclick=\"return ShowPopupWin('/vitrina.php?mode=korz_adj&amp;p={$nxt['id']}&amp;cnt=1','popwin');\" rel='nowollow'>В корзину!</a>
    183183                        </div>");               
    184184                }
     
    216216                <h2>{$nxt['name']}</h2>
    217217                <b>Цена:</b> $cost руб / {$nxt['units']}<br>
    218                 <a href='/vitrina.php?mode=korz_add&amp;p={$nxt['id']}&amp;cnt=1' onclick=\"ShowPopupWin('/vitrina.php?mode=korz_adj&amp;p={$nxt['id']}&amp;cnt=1','popwin'); return false;\" rel='nowollow'>В корзину!</a>
     218                <a href='/vitrina.php?mode=korz_add&amp;p={$nxt['id']}&amp;cnt=1' onclick=\"return ShowPopupWin('/vitrina.php?mode=korz_adj&amp;p={$nxt['id']}&amp;cnt=1','popwin');\" rel='nowollow'>В корзину!</a>
    219219                </div>");
    220220               
  • trunk/web/vitrina.php

    r251 r264  
    456456                $tmpl->AddText("<tr class='lin$cc'><td><a href='$link'>{$nxt['name']}</a>
    457457                <td>{$nxt['proizv']}<td>$nal<td $cce>$cost
    458                 <td><a href='/vitrina.php?mode=korz_add&amp;p={$nxt['id']}&amp;cnt=1' onclick=\"ShowPopupWin('/vitrina.php?mode=korz_adj&amp;p={$nxt['id']}&amp;cnt=1','popwin'); return false;\" rel='nofollow'>
     458                <td><a href='/vitrina.php?mode=korz_add&amp;p={$nxt['id']}&amp;cnt=1' onclick=\"return ShowPopupWin('/vitrina.php?mode=korz_adj&amp;p={$nxt['id']}&amp;cnt=1','popwin');\" rel='nofollow'>
    459459                <img src='/img/i_korz.png' alt='В корзину!'></a></tr>");
    460460                $sf++;
     
    512512                <b>Цена:</b> $cost руб. / {$nxt['units']}<br>
    513513                <b>Кол-во:</b> $nal<br>
    514                 <a href='/vitrina.php?mode=korz_add&amp;p={$nxt['id']}&amp;cnt=1' onclick=\"ShowPopupWin('/vitrina.php?mode=korz_adj&amp;p={$nxt['id']}&amp;cnt=1','popwin'); return false;\" rel='nowollow'>В корзину!</a>
     514                <a href='/vitrina.php?mode=korz_add&amp;p={$nxt['id']}&amp;cnt=1' onclick=\"return ShowPopupWin('/vitrina.php?mode=korz_adj&amp;p={$nxt['id']}&amp;cnt=1','popwin');\" rel='nowollow'>В корзину!</a>
    515515                </div>");
    516516               
     
    539539                $tmpl->AddText("<tr class='lin$cc'><td><a href='$link'>{$nxt['name']}</a><td>{$nxt['proizv']}<td>$nal
    540540                <td $cce>$cost<td>{$nxt['d_int']}<td>{$nxt['d_ext']}<td>{$nxt['size']}<td>{$nxt['mass']}<td>
    541                 <a href='/vitrina.php?mode=korz_add&amp;p={$nxt['id']}&amp;cnt=1' onclick=\"ShowPopupWin('/vitrina.php?mode=korz_adj&amp;p={$nxt['id']}&amp;cnt=1','popwin'); return false;\" rel='nofollow'><img src='/img/i_korz.png' alt='В корзину!'></a>");
     541                <a href='/vitrina.php?mode=korz_add&amp;p={$nxt['id']}&amp;cnt=1' onclick=\"return ShowPopupWin('/vitrina.php?mode=korz_adj&amp;p={$nxt['id']}&amp;cnt=1','popwin');\" rel='nofollow'><img src='/img/i_korz.png' alt='В корзину!'></a>");
    542542                $sf++;
    543543                $cc=1-$cc;
Note: See TracChangeset for help on using the changeset viewer.