Выгрузка остатков в справочную Фармклиент8 — различия между версиями
Материал из wiki.standart-n.ru
BeTePoK (обсуждение | вклад) (Новая страница: «==выгрузка== *Параметр пути для выгрузки файла вместе с именем файла <PRE> INSERT INTO PARAMS ( PARENT_ID, P…») |
BeTePoK (обсуждение | вклад) (→выгрузка) |
||
Строка 84: | Строка 84: | ||
</PRE> | </PRE> | ||
− | ==Инструкция по работе с выгрузкой в ФармКлиенте | + | ==Инструкция по работе с выгрузкой в ФармКлиенте== |
[[Медиа:Перегрузка_в_программу_abonent8.docx]] | [[Медиа:Перегрузка_в_программу_abonent8.docx]] |
Текущая версия на 17:51, 1 апреля 2016
выгрузка
- Параметр пути для выгрузки файла вместе с именем файла
INSERT INTO PARAMS ( PARENT_ID, PARAM_ID, PARAM_CAPTION, PARAM_TYPE, PARAM_VALUE, AUDIT_ID, IMAGEINDEX, STATUS, INSERTDT, SORTING, PARAM_TYPE_DATA, PACKET) VALUES ( -30, 'PHARMCLIENT_EXPORT_PATH', 'Путь для экспорта данных в ФармКлиент8', 1, NULL, 0, NULL, 0, '9-MAR-2016 15:04:03.215', NULL, NULL, 27373);
- ТМС выгрузки
INSERT INTO GROUPS ( PARENT_ID, CAPTION, GROUPTABLE, STATUS, INSERTDT, SYSTEMFLAG, DESCRIPTION, IMAGEINDEX, DATA, COLOR, SORTING, BASE_AGENT_ID, SID) VALUES ( -400, 'Выгрузить данные в ФармКлиент', 'TMS', 0, '24-JAN-2014 14:15:09', 0, NULL, -1, NULL, NULL, NULL, 0, NULL);
- содержимое ТМС
uses Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, Messages, SysUtils, ToolWin, ImgList, dxExEdtr, dxCntner, dxTL, dxDBCtrl, dxDBGrid, StdCtrls, unMain,DB, IBQuery, IBDatabase, unDM, DBTables, cfdxUtils, Menus, System, Buttons, ExtCtrls, StdCtrls, cfSelectEdit, Math, gb_table, Grids, ClipBrd, DBGrids, unFrameCustomDict, cfWindows; var q: TIBQuery; katalog:string; Xml: TStringList; db: TIbDatabase; begin q:=TIBQuery.create(nil); db:=dm.FindComponent('db'); q.Database:=db; //q:=dm.TempQuery(nil); q.Active:=false; q.SQL.text:='select PARAM_VALUE from PARAMS where PARAM_ID=''PHARMCLIENT_EXPORT_PATH'''; q.Active:=true; katalog:=q.FieldByName('PARAM_VALUE').AsString;//'C:\Example1.xml' q_update.FieldByName('id').AsString try if katalog <> '' then begin Xml := TStringList.Create; Xml.Add ('<?xml version="1.0" encoding="windows-1251"?>'); Xml.Add ('<ДокументПрайс Идентификатор="Пусто">'); Xml.Add (' <Заголовок>'); Xml.Add (' <Логин>HILE10</Логин>'); Xml.Add (' <Пароль>TvlBkt</Пароль>'); Xml.Add (' <Версия_Клиента>Лекарь(Емлина, 10)</Версия_Клиента>'); //Xml.Add (' <Серийный_Номер>E01BEB73</Серийный_Номер>'); Xml.Add (' </Заголовок>'); Xml.Add ('<ПрайсЛист>'); Xml.Add (' <Аптека Код="20751">'); q.Active:=false; q.SQL.text:='select wb.part_id,wb.price,cast(wb.quant as integer) as quant,wb.godendo,wb.barcode,wb.sname,wb.sizg from vw_warebase wb where wb.quant > 0.001;'; q.Active:=true; while not q.eof do begin Xml.Add (' <ТоварнаяПозиция>'); Xml.Add (' <КодТовара>'+q.FieldByName('part_id').AsString+'</КодТовара>'); Xml.Add (' <Цена>'+q.FieldByName('price').AsString+'</Цена>'); Xml.Add (' <Количество>'+q.FieldByName('quant').AsString+'</Количество> '); Xml.Add (' <СрокГодности>'+q.FieldByName('godendo').AsString+'</СрокГодности>'); Xml.Add (' <EAN13>'+q.FieldByName('barcode').AsString+'</EAN13>'); Xml.Add (' <ИмяПреп>'+q.FieldByName('sname').AsString+'</ИмяПреп>'); Xml.Add (' <Производитель>'+StringReplace(StringReplace(q.FieldByName('sizg').AsString,'<','<',1),'>','>',1)+'</Производитель>'); Xml.Add (' </ТоварнаяПозиция>'); q.next; end; Xml.Add (' </Аптека>'); Xml.Add ('</ПрайсЛист>'); Xml.Add ('</ДокументПрайс>'); Xml.SaveToFile (katalog); end; finally Xml.Free; ShowMessage('Готово!'); end; end;