Hola amigos! abro un nuevo hilo porque hice una pregunta en otro creo fuera de lugar:
Cuando no hay conexion guardo los tickets de mi terminal de puesto de venta en un fichero xml.
Y tengo un form donde de haber conexion voy recorriendo el directiorio de los tickets y quiero cargarlos en la base de datos.
Primero que los campos que no son Data no se guardan en xml, por lo tanto hay que recalcularlos.
Y luego que no veo los cambios en la base de datos.
Ademas, no me convendria tener otro tclientdataset distinto para poder hacer tickets mientras vienen clientes en vez de usar el mismo?
Código Delphi
[-]procedure TForm8.FormShow(Sender: TObject);
var
TS:TStringList;
pathDeBusqueda,fname:string;
i:integer;
a:TServerMethods1Client;
x:integer;
fechae,horae:string;
cantidad,importe,preciou,efectivo,vueltoouble;
idc,ids,idprodu,numero:Integer;
nuevoticket:string;
totouble;
begin
TS := TStringList.Create();
pathDeBusqueda:=ExtractFilePath(Application.ExeName) + 'tickets\';
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
a:=TServerMethods1Client.Create(ClientModule1.SQLConnection1.DBXConnection);
with ClientModule1.cdsticket do
begin
LoadFromFile(fname);
Open;
for x := 0 to ClientModule1.cdsticket.RecordCount do
begin
Edit;
FieldByName('subtotal').AsFloat:=FieldByName('precio').AsFloat * FieldByName('cantidad').AsFloat;
Post;
end;
end;
importe:=ClientModule1.cdsticket.FieldByName('total').Value;
fechae:=ClientModule1.cdsticketfechae.AsString;
horae:=ClientModule1.cdstickethorae.AsString;
efectivo:=ClientModule1.cdsticketefectivo.AsFloat;
vuelto:=efectivo - importe;
idc:=1;
ids:=1;
numero:=1;
a.nuevoticket(numero,ids,idc,importe,efectivo,vuelto,fechae,horae);
a.Free;
ClientModule1.cdsticket.EmptyDataSet;
end;
end;
end;
lo primero que hago es buscar los ficheros, luego compruebo si hay conexion, si hay para cada archivo hago subtotal y total, y llamo al servidor datasnap. vacio el dataset.
Alguien me puede ayudar