Ver Mensaje Individual
  #5  
Antiguo 22-01-2019
nicodel nicodel is offline
Registrado
 
Registrado: nov 2012
Posts: 6
Reputación: 0
nicodel Va por buen camino
Gracias por responder. Este seria el codigo completo

Código Delphi [-]
if Edit11.Text = 'A' then   //****** si es factura A
                            begin
                                //tipo_doc2:= 'T';

                              if RzRadioButton3.Checked = true then
                               tipo_doc2:= 'T'
                              else
                                 if RzRadioButton4.Checked = true then
                                  tipo_doc2:= 'M'
                                 else
                                    if RzRadioButton5.Checked = true then
                                     tipo_doc2:= 'D';

                                salida:= 'C';
                                letra:= 'A'; //deacuerdo a la condicion de iva del cliente
                                cant_copias:= '1';
                                tipo_form:= 'P';
                                tipo_letra:= '12';
                                resp_iva_em:= 'I';
                                resp_iva_com:= 'I'; //deacuerdo a la condicion de iva del cliente
                                nom_comp:= RzDBLabel1.Caption;
                                nom_comp2:= '';
                                tipo_doc_comp:= 'CUIT'; //deacuerdo a la condicion de iva del cliente
                                num_doc:= RzButtonEdit1.Text;
                                bien_de_uso:= 'N';
                                domicilio1:= RzDBLabel2.Caption;
                                domicilio2:= '';
                                domicilio3:= '';
                                num_remito1:= 'R1';
                                num_remito2:= 'R2';
                                tipo_item:= 'G';


                                //datos del documento
                                PrinterFiscal1.PortNumber:= Form1.puerto_fiscal;
                                PrinterFiscal1.BaudRate:= '9600';

                                PrinterFiscal1.OpenInvoice(tipo_doc2, salida, letra , cant_copias, tipo_form, tipo_letra, 
 resp_iva_em, resp_iva_com, nom_comp, nom_comp2, tipo_doc_comp,
                                                            num_doc, bien_de_uso,domicilio1, domicilio2, domicilio3, num_remito1, num_remito2, tipo_item);

                                //------------------------------------------------------------------------------------------

                                calificador:= 'M';
                                cant_bultos:= '0';
                                imp_int_por:= '0';
                                descripcion2:= '';
                                descripcion3:= '';
                                descripcion4:= '';
                                tasa_acrecentamiento:= '0';



                                ClientDataSet1.DisableControls;
                                ClientDataSet1.First;
                                while ClientDataSet1.Eof = false do
                                 begin
                                    cant:= RoundTo(ClientDataSet1.FieldByName('cantidad').AsFloat, -2);
                                    descripcion:= Copy(ClientDataSet1.FieldByName('descripcion').AsString, 1, 20);
                                    cantidad:= FloatToStr(cant * 100);
                                    iva:= FloatToStr(ClientDataSet1.FieldByName('iva').AsFloat * 100);

                                    precio_si:= ClientDataSet1.FieldByName('precio').AsFloat -     ClientDataSet1.FieldByName('val_imp_interno').AsFloat;


                                    if ClientDataSet1.FieldByName('iva').AsFloat = 21.00 then
                                     precio_si:= precio_si / 1.21
                                    else
                                       precio_si:= precio_si / 1.105;


                                    precio:= FloatToStr(RoundTo(precio_si * 1000 , 0));

                                    if ClientDataSet1.FieldByName('val_imp_interno').AsFloat <> 0.00 then
                                     begin
                                       imp_int:= ClientDataSet1.FieldByName('val_imp_interno').AsFloat;
                                       imp_int_fijos:= FloatToStr(RoundTo(imp_int * cant, 2) * 100);
                                     end
                                    else
                                       imp_int_fijos:= '0';

                                    //envia un item (aclaracion: paso primero precio y despues cantidad por una cuestion de redondeo, da un poco mas exacto)
                                    PrinterFiscal1.SendInvoiceItem(descripcion, precio, cantidad, iva, calificador, cant_bultos, 
 imp_int_por, descripcion2, descripcion3, descripcion4, tasa_acrecentamiento, imp_int_fijos);

                                    ClientDataSet1.Next;
                                 end;
                                 ClientDataSet1.EnableControls;


                                if RzRadioButton1.Checked = true then
                                 texto_pago:= 'Contado'
                                else
                                   if RzRadioButton2.Checked = true then
                                    texto_pago:= 'Cuenta Corriente';


                                subtotal1:= 'P';
                                subtotal2:= '';
                                PrinterFiscal1.GetInvoiceSubtotal(subtotal1, subtotal2);

                                descripcion_pago:= 'T';
                                importe_pago:= FloatToStr(StrToFloat(RzLabel12.Caption) * 100);

                                //envia un pago
                                PrinterFiscal1.SendInvoicePayment(texto_pago, importe_pago, descripcion_pago);

                                //----------------------------------------------------------------------------------------------

                                texto:= '';
                                //cierra el documento
                                PrinterFiscal1.CloseInvoice(tipo_doc2, letra, texto);
                            end;

Última edición por dec fecha: 23-01-2019 a las 08:35:51. Razón: Poner etiquetas DELPHI
Responder Con Cita