Σου παραθέτω δύο functions.
function TForm1.PostSalDoc(series: integer; custCode, iteCode:string):integer;
var
workObj, SALDOC, MtrDoc, IteLines : variant;
LoginDate: TDateTime;
theID: integer;
begin
workObj := FSoftOne.CreateObj('SALDOC');
LoginDate := workObj.LOGINDATE;
SALDOC := workObj.FindTable('SALDOC');
MtrDoc := workObj.FindTable('MTRDOC');
IteLines := workObj.FindTable('ITELINES');
workObj.DBInsert;
SALDOC.SERIES := series;
SALDOC.TRNDATE := LoginDate;
SALDOC.TRDR := workObj.ID('CUSTOMER', custCode);
MtrDoc.WHOUSE := 1;
IteLines.Insert;
IteLines.MTRL := workObj.ID('ITEM', iteCode);
IteLines.QTY1 := 1;
IteLines.Post;
result := workObj.DBPost;
end;
function TForm1.PostSalDocWithColorSize(series: integer; custCode, iteCode:string):integer;
var
workObj, SALDOC, MtrDoc, IteLines, ColSize : variant;
LoginDate: TDateTime;
theID: integer;
begin
workObj := FSoftOne.CreateObj('SALDOC');
LoginDate := workObj.LOGINDATE;
SALDOC := workObj.FindTable('SALDOC');
MtrDoc := workObj.FindTable('MTRDOC');
IteLines := workObj.FindTable('ITELINES');
ColSize := workObj.FindTable('VQTYANAL');
workObj.DBInsert;
SALDOC.SERIES := series;
SALDOC.TRNDATE := LoginDate;
SALDOC.TRDR := workObj.ID('CUSTOMER', custCode);
MtrDoc.WHOUSE := 1;
IteLines.Insert;
IteLines.MTRL := workObj.ID('ITEM', iteCode);
//IteLines.QTY1 := 1
ColSize.APPEND;
ColSize.MTRLINES := ITELINES.MTRLINES;
ColSize.CDIMLINES1 := 1;
ColSize.CDIMLINES2 := 3;
ColSize.QTY := 1;
ColSize.QTY1 := 1;
ColSize.POST;
workObj.EVAL('IteLineAnal.SumQAnal('+IntToStr(IteLines.MTRLINES)+',"QTY1")');
IteLines.PRICE := 100;
IteLines.Post;
result := workObj.DBPost;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
PostSalDoc(7001, '000-002', '000-004');
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
PostSalDocWithColorSize(7001, '000-002', 'CL000000000001');
end;