FoxPro/Visual FoxPro - controlador fiscal hasar

   
Vista:

controlador fiscal hasar

Publicado por mario guillermo mge260462@yahoo.com.ar (27 intervenciones) el 16/12/2017 23:09:55
buenas tardes. Tengo una consulta. Un sistema desarrollado bajo DOS que factura con controladores fiscales hasar, epson,etc. ahora debo amoldarlo a las nuevas pc que son de palabra larga y no funcionan igual, es decir colocar LPTFIS, luego abrir el archivo a bajo nivel para enviar a imprimir no me lo hace al trabajo, es decir no sale el ticket, cosa que en pc mas viejas si lo hace. debo encaminarme a un DDL u otra cosaa. si no se entiende bien , puedo poner el encabezado del programa para que lo vena mejor.desde ya gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Abel

controlador fiscal hasar

Publicado por Abel (67 intervenciones) el 17/12/2017 22:27:35
No se decirte de la conexión de bajo nivel, pero has probado usar el OCX para hacer eso mismo?. Si te interesa verlo por ese lado te adjunto el OCX y un ejemplo de como usarlo; ya que lo haces bajo DOS no te costará nada interpertarlo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
cTcmpleyenda = 'NOTA_DE_CREDITO'
ErrorComenzar = .F.
ProcesandoCMD = .F.
 
** 	* ************************************************
** 	*
** 	* Si la pantalla está en detener en preimpresión,
** 	* continuar sin espera.
** 	*
** 	* ************************************************
 
#Define OCUPADO_CMD			"Un comando se etá ejecutando, aguarde por favor!!!"
#Define ESTACION_TICKET 	"T"
#Define ESTACION_SLIP		"S"
#Define TICKET				1
#Define TICKET_FACTURA		2
#Define TICKET_FACT715		9 													&& Equivale a TICKET_FACTURA_PLUS
#Define TICKET_FACTURAPLUS	3
#Define FACTURA				4
 
&&/ * ****************************************
&&/ *   Generar las variables necesarias.
&&/ * Abrir([ImpFiscal],2,,2,Fullpath([BasedAfip]))
&&/ * ****************************************
cNomClient = "NUTRICORSA"
cDomicilio = "parque industrial"
nTipoDocum = 67 && CUIT.
cNumDocumt = "30712599701"
nCategoria = 73
cTipsCateg = "I"
cTipsDocum = "C" && Tipo de Doc. CUIT.
nTipoDocFs = 52  && Nota de Credito.
lnAlicuota = 21
cFormaPago = "Cuenta Corrientes"
**nPagohecho = .txSupago.Value 												&& Importe Pagado.
**nSuCambio  = .txCambio.Value 												&& Saldo / Resto.
**nTotalFact = .txTotal.Value
cDocumref  = "0009-00010493"
FS = Chr(28)
 
oFiscal = Createobject("hasar.fiscal.1")
 
&&/ * ****************************************
&&/ *         Abrir Puerto y Comenzar.
&&/ * ****************************************
oFiscal.Puerto = 1
oFiscal.AutoDetectarModelo
oFiscal.Comenzar
oFiscal.TratarDeCancelarTodo 													&& Cancelar cualquier comprobante abierto.
 
For nX=1 To 21
	oFiscal.Encabezado(nX)=Chr(127)
Next
 
If ErrorComenzar = .T.
	lConnected = .F.
	Return
Else
	lConnected = .T.
Endif
 
&&/ * ****************************************
&&/ *      Limpiar datos de Encabezados.
&&/ * ****************************************
For nX=1 To 21
	oFiscal.Encabezado(nX)=Chr(127)
Next
 
&&/ * ****************************************
&&/ *   Obtener desde IFH en Punto de Venta.
&&/ * ****************************************
oFiscal.ObtenerDatosDeInicializacion
cPuntoVta = oFiscal.Respuesta(7)
If ErrorComenzar
	Return
Endif
 
If ProcesandoCMD
	Messagebox(OCUPADO_CMD,48,'Aviso')
	Return
Endif
ProcesandoCMD = .T.
 
&&/ * ****************************************
&&/ * Cargar datos del cliente. !TICKET_C(84).
&&/ *
&&/ * TICKET_FACTURA:
&&/ * DatosCliente(RSocial (C), NroDoc (C), TipoDoc (N), Categ (N))
&&/ * DatosCliente('Cliente', '20101101', 50, 67)
&&/ *
&&/ * TICKET_FACTURAPLUS:
&&/ * cmd = "b" + FS + "Nombre" + FS + "20101101" + FS + "C" + FS + "2" + FS + "Domicilio"
&&/ *
&&/ * FACTURA:
&&/ * DatosCliente(RSocial (C), NroDoc (C), TipoDoc (N), Categ (N), Domic (V))
&&/ * DatosCliente('Cliente', '20101101', 50, 67, 'Domicilio')
&&/ * ****************************************
cmd = "b" + FS + cNomClient + FS + cNumDocumt + FS + cTipsCateg + FS + cTipsDocum + FS + cDomicilio
oFiscal.Enviar(cmd)
If ErrorComenzar
	Return
Endif
 
&&/ * ****************************************
&&/ * FACTURA_A(48)/B(49), TICKET_FACTURA_A(65)/B(66) o TICKET_C(84)
&&/ * NOTA_CREDITO_A(82)/B(83), TICKET_NOTA_CREDITO_A(52)B(53)
&&/ * ****************************************
Do Case
	Case cTcmpleyenda = 'FACTURA'
		oFiscal.AbrirComprobanteFiscal(nTipoDocFs) 									&& Abrir el comprobante Fiscal.
	Case cTcmpleyenda = 'NOTA_DE_CREDITO'
		oFiscal.DocumentoDeReferencia(1) = cDocumref
		oFiscal.AbrirDNFH(nTipoDocFs) 												&& Abrir DNFH.
Endcase
oFiscal.PrecioBase = .F.
 
&&/ * ****************************************
&&/ * ImprimirItem(Descripción(C), Cantidad(N), Precio(N), Alicuota(N), ImpInternos(N))
&&/ * ****************************************
oFiscal.ImprimirItem("ANGULO 6.35X50.8(1/4-2.0) *5030*", 3, 587.99, 21, 0)
 
Do Case
	Case cTcmpleyenda = 'FACTURA'
		oFiscal.Subtotal(.T.)
		oFiscal.ImprimirPago(cFormaPago,nPagohecho)
		oFiscal.CerrarComprobanteFiscal 											&& Cerrar y terminar impresos.
	Case cTcmpleyenda = 'NOTA_DE_CREDITO'
		oFiscal.CerrarDNFH()
Endcase
 
&&/ * ****************************************
&&/ *           Cerrar/Terminar.
&&/ * ****************************************
**Messagebox(oFiscal.Respuesta(1)/(8))
Do Case
	Case oFiscal.HuboErrorFiscal Or oFiscal.HuboErrorMecanico
		m.cMensajeError = Iif(oFiscal.HuboErrorFiscal,'¡Error Fiscal!', ;
			IIF(oFiscal.HuboErrorMecanico,'¡Error Mecánico!', ;
			IIF(oFiscal.HuboFaltaPapel,'¡Error Falta de Papel!','')))
		Messagebox(cMensajeError,16,'Error')
		Return
	Case oFiscal.HuboFaltaPapel
		*If Messagebox([¡Error Falta de Papel!]+;
		*		Chr(13)+Chr(13)+;
		*		[¿Continúa?],4+32+256,[Error])=7
		*	Return
		*Endif
Endcase
ProcesandoCMD = .F.
lConnected    = .F.
dFecfiscal    = Ctod(Left(Ttoc(oFiscal.FechaHoraFiscal),10))
oFiscal.Finalizar()
 
Return
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

controlador fiscal hasar

Publicado por mario guillermo (27 intervenciones) el 18/12/2017 14:04:13
DESDE YA GRACIAS.LO VOY A PROBAR Y TE AVISO CUALQUIER COSA.GRACIAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar