Это старая версия документа.
Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /home/users/p/prom-auto/domains/prom-auto.ru/wiki/inc/parser/handler.php on line 1458
Warning: Declaration of syntax_plugin_tablecalc::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /home/users/p/prom-auto/domains/prom-auto.ru/wiki/lib/plugins/tablecalc/syntax.php on line 41
Warning: Declaration of syntax_plugin_tablecalc::render($mode, &$renderer, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /home/users/p/prom-auto/domains/prom-auto.ru/wiki/lib/plugins/tablecalc/syntax.php on line 72
Warning: Declaration of syntax_plugin_offline::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /home/users/p/prom-auto/domains/prom-auto.ru/wiki/lib/plugins/offline/syntax.php on line 60
Warning: Declaration of syntax_plugin_offline::render($format, &$renderer, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /home/users/p/prom-auto/domains/prom-auto.ru/wiki/lib/plugins/offline/syntax.php on line 67
Warning: preg_match(): Compilation failed: invalid range in character class at offset 3416 in /home/users/p/prom-auto/domains/prom-auto.ru/wiki/inc/parser/lexer.php on line 118
====== SHPSH/2012-05-31: Интеграция с 1с - добавление новой таблицы для партий ====== предлагаю сделать так (Денис Лобанов): ===== 1. Изменяем текущую таблицу ===== <code> CREATE TABLE BATCHES ( IDBATCH INTEGER NOT NULL, IDBATCHOPER INTEGER NOT NULL, IDPROD INTEGER NOT NULL, DT TIMESTAMP, DESCR VARCHAR(128), IDPLACESRC INTEGER NOT NULL, IDPLACEDST INTEGER DEFAULT 0 NOT NULL, IDBATCHEXT INTEGER ); </code> ===== 2. Добавляем новую таблицу - BATCHEXT ===== primary key - IDBATCHEXT, остальные поля на ваше усмотрение Описание дополнительных полей таблицы BATCHEXT (Евгений Каюшев) - IDPROD INTEGER NOT NULL - идентификатор культуры - NBREXT INTEGER NOT NULL - внешний номер партии (фактически - номер документа 1С) - DTBEXT TIMESTAMP - Дата (создания документа партии в 1С) - STATUS INTEGER DEFAULT 0 - индекс значения перечисления "умкпСтатусыПроизводственнойПартии" из 1С. Справочно: * 0 - Открыта * 1 - ВПодработке * 2 - ВПроизводстве * 3 - Закрыта * 4 - IDPRADD VARCHAR(128) - дополнительные идентификаторы культур - список идентификаторов IDPROD через разделитель (запятая), например: 1,5,6 Требования к доступности внешних партий для выбора оператором АСУТП управления весами: - Записи с STATUS = 3 не должны быть видимы оператору и должны быть недоступны для выбора - Для операции размещения (Значение поля IDBATCHOPER=1 в таблице BATCHOPER) допустимо значение IDBATCHEXT=NULL в таблице BATCHES. Смысл в том, что производственная партия появляется тогда, когда начальник производства её открывает в 1С и когда начинается движение сырья, связанное с очередным производственным циклом подработок и производства продукции. Иначе говоря, для операции "Размещение" допускается не указывать партию - Для операции перемещение (Значение поля IDBATCHOPER=2 в таблице BATCHOPER) допустимо значение IDBATCHEXT=NULL в таблице BATCHES. Смысл в том, что производственная партия появляется тогда, когда начальник производства её открывает в 1С и когда начинается движение сырья, связанное с очередным производственным циклом подработок и производства продукции. Перемещение, в общем случае, может не относиться к конкретному производственному циклу. Иначе говоря, для операции "Перемещение" допускается не указывать партию - Для операции Подработка (Значение поля IDBATCHOPER=3 в таблице BATCHOPER) для выбора должны быть доступны записи с STATUS=0, STATUS=1 и STATUS=2 - Для операции Формирование Помольной Партии (Значение поля IDBATCHOPER=4 в таблице BATCHOPER) для выбора должны быть доступны записи с STATUS=1 и STATUS=2 - Для операции Снятие с учета (Значение поля IDBATCHOPER=5 в таблице BATCHOPER) для выбора должны быть доступны записи с STATUS=1 и STATUS=2, STATUS=3 (посл. - вывоз отходов, например) Дополнительное ОБЯЗАТЕЛЬНОЕ УСЛОВИЕ ОТБОРА: - Должна быть блокирована возможность выбора внешних партий без указания культуры - ОБЯЗАТЕЛЕН ОТБОР по IDPROD плюс отбор по списку IDPRADD (оператор должен вмдеть только те записи, где IDPROD совпадают или идентификатороы которых перечислены в IDPRADD)\\ \\ ДОПОЛНЕНИЕ ОТ 30.05.12\\ Если культура не выбрана (IDPROD = NULL), то ни одной записи, доступной для выбора, быть не должно.\\ \\ ВАЖНО: Операторам будет передоваться документ (в печатном виде), где, в частности, будут указаны, например: <code> НОМЕР ПАРТИИ 2 - соотв. полю NBREXT (мой комментарий) ДАТА 04.04.2012 08:12:45 - соотв. полю DTBEXT КУЛЬТУРА ГОРОХ - соотв. полю NAME таблицы PRODUCT (поиск - связь по полю IDPROD) др. поля, несущественные для данной задачи </code> ПОЛЬЗОВАТЕЛЮ в списке выбора в АСУТП необходимо "показывать" указанные поля. Дополнительно (Евгений Каюшев) Формат файла обмена: <code> Строка 1: <NBREXT>,<DTBEXT>,<IDPROD>,<STATUS> ,,,,,, Строка n: <NBREXT>,<DTBEXT>,<IDPROD>,<STATUS> </code> Предполагается выгрузка в файл с именем "Exchange.csv" - Файл всегда обновляется со стороны 1с - в произвольное время (по мере возникновения новых партий, либо изменения статуса существующих автоматически) и "складывается по заданному пути" на некий файловый ресурс - АСУТП сканирует, например с периодичностью 30 мин., факт появления файла, обрабатывает его (добавляет, либо модифицирует записи) и удаляет файл