Выгрузка старого Автозаказа в Общий заказ — различия между версиями
Материал из wiki.standart-n.ru
BeTePoK (обсуждение | вклад) (Новая страница: «==Выгрузка== Для работы дожно быть заполнено значение пути до папки Общего заказа * Измени…») |
(нет различий)
|
Текущая версия на 10:31, 15 сентября 2016
Выгрузка
Для работы дожно быть заполнено значение пути до папки Общего заказа
- Изменить вьюху VW_ZAKAZ добавить
SORIG_NAME как (select list(distinct coalesce(v.svalue,w.mgn_name,''),';') from wares w inner join wares w2 on (w2.name_id = z.NAME_ID or w2.orig_name_id = z.name_id--dd.NAME_ID ) and (w2.name_id = w.name_id or w2.orig_name_id = w.name_id) left join vals v on w.orig_name_id = v.id where w2.name_id is not null )
-полный текс
CREATE OR ALTER VIEW VW_ZAKAZ( ID, SNAME, SIZG, SCOUNTRY, AGENT_TOVAR, QUANT, PRICE, SUMMA, PRICE_O, SUMMA_O, QUANTOST, AVG_QUANT, NAME_ID, PART_ID, INSERTDT, MIN_QUANT, KRITK, OPTIM_QUANT, MMBSH, LAST_DATE, LAST_QUANT, SORIG_NAME) AS SELECT z.id, sname, sizg, scountry, (select a.caption from pr_getmotherpart(part_id) pr left join agents a on pr.agent_id=a.id), z.quant, z.price, summa, z.price_o, summa_o, quantost, avg_quant, name_id, part_id, z.insertdt, min_quant, kritk, optim_quant, (select membership from PR_MEMBERSHIPS('PARTS=' || part_id || ';PARTS.NAME_ID=' || name_id ||';',ascii_char(13)||ascii_char(10),1)), last_date, LAST_QUANT, (select list(distinct coalesce(v.svalue,w.mgn_name,''),';') from wares w inner join wares w2 on (w2.name_id = z.NAME_ID or w2.orig_name_id = z.name_id--dd.NAME_ID ) and (w2.name_id = w.name_id or w2.orig_name_id = w.name_id) left join vals v on w.orig_name_id = v.id where w2.name_id is not null ) FROM ZAKAZ_TMS z left join parts p on p.id = z.part_id ;
- Добавить новую ТМС или изменить старый вариант на тот что ниже
uses Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ToolWin, ImgList, dxExEdtr, dxCntner, dxTL, dxDBCtrl, dxDBGrid, DB, IBQuery, IBDatabase, unDM, DBTables, cfdxUtils, Menus, Buttons, ExtCtrls, StdCtrls, cfSelectEdit,DateUtils, gb_table, Mask, unFrameCustomDict, unMain,SysUtils, cfUtils; var t,profile,param_oz ,str_post,IMPORT_ID,sql: string; imp_count: Integer; procedure miLoadToOZ; var str: string; doc_type,i: integer; F : TextFile; FileName : String; qP: TIBQuery; PATH_ZAKAZ: String; begin try qP:=TIBQuery.Create(nil); qP.Database:=dm.FindComponent('db'); qP.Transaction:=TIBTransaction.Create(qP); qP.Transaction.DefaultDatabase:=qP.Database; //Путь выгрузки Автозаказа qP.sql.text:='select * from PARAMS where param_id = ''OZ_PATH'''; qP.Active:=true; qP.first; if (not qP.eof) then begin PATH_ZAKAZ:= qP.FieldByName('PARAM_VALUE').AsString; end; FileName:= PATH_ZAKAZ+'_import\'+DateToStr(Now)+'.ZAO'; //frmmanagerxp2.LogIt(FileName); AssignFile(F, FileName); Rewrite(F); qP.sql.text:=sql; qP.Active:=true; while not qP.eof do begin WriteLn(F, qP.FieldByName('SNAME').AsString+#9+#9+#9+qP.FieldByName('QUANT').AsString+#9+#9+qP.FieldByName('QUANT').AsString+#9+qP.FieldByName('PRICE_O').AsString+#9+qP.FieldByName('SNAME').AsString+';'+qP.FieldByName('SORIG_NAME').AsString+';'); qP.Next; end; finally qP.Free; CloseFile(F); Showmessage('Данные выгружены в Общий заказ'); end; end; begin sql:=gsender.GetCurSqlText; miLoadToOZ; end;