Te comento que logre cargar los ficheros xml en el dataset, pero en el xml el metodo savetofile no guarda los internalCalc y los Aggregates, por lo que el dataset ticketspendientes por ej debe contener los mismos campos que el de ticket que se usa a diario.
con la diferencia de que el subtotal de cada registro de compra: precio * cantidad debe ser recalculado, luego mi total si es aggregate.:
Código Delphi
[-]FindFiles(pathDeBusqueda, '*.xml', False, TS);
Etick.Text:=IntToStr(TS.Count);
for i := 0 to (TS.Count - 1) do begin
fName := pathDeBusqueda + ExtractFileName(TS[i]);
if (ClientModule1.SQLConnection1.Connected) then
begin
with ClientModule1.cdsticketpendiente do
begin
LoadFromFile(fname);
Open;
First;
while not Eof do
begin
Edit;
FieldByName('subtotal').AsFloat:=FieldByName('precio').AsFloat * FieldByName('cantidad').AsFloat;
Post;
Next;
end;
end;
importe:=ClientModule1.cdsticketpendientetotal.Value;
fechae:=ClientModule1.cdsticketpendientefechae.AsString;
horae:=ClientModule1.cdsticketpendientehorae.AsString;
efectivo:=ClientModule1.cdsticketpendienteefectivo.AsFloat;
vuelto:=efectivo - importe;
a:=TServerMethods1Client.Create(ClientModule1.SQLConnection1.DBXConnection);
a.nuevoticket(numero,ids,idc,importe,efectivo,vuelto,fechae,horae);
ClientModule1.cdsticketpendiente.EmptyDataSet;
ClientModule1.cdsticketpendiente.Close;
TS.Free;
end
Me dice :
list index of bounds(1)
Debo cargar los otros campos?