Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
101 lines (83 sloc) 2.74 KB
// Ejemplo básico en PowerBuilder
// ver más en http://techno-kitten.com/Changes_to_PowerBuilder/New_In_PowerBuilder_5/Inbound_OLE_automation/inbound_ole_automation.htm
oleObject WSAA
oleObject WSFEv1
long status
string tra
string cms
string ta
string cae
boolean ok
// Crear objeto interface Web Service Autenticación y Autorización
WSAA = create oleObject
status = WSAA.ConnectToNewObject("WSAA")
// si status<0 hubo error
// Generar un Ticket de Requerimiento de Acceso (TRA)
tra = WSAA.CreateTRA()
// Generar el mensaje firmado (CMS)
cms =WSAA.SignTRA(tra, "ghf.crt", "ghf.key")
// Llamar al web service para autenticar
ta = WSAA.CallWSAA(cms, "https://wsaahomo.afip.gov.ar/ws/services/LoginCms")
// Crear objeto interface Web Service de Factura Electrónica de Mercado Interno
WSFEv1 = create oleObject
status = WSFEv1.ConnectToNewObject("WSFEv1")
// si status<0 hubo error
// Setear tocken y sing de autorización (pasos previos)
WSFEv1.Token = WSAA.Token
WSFEv1.Sign = WSAA.Sign
// CUIT del emisor (debe estar registrado en la AFIP)
WSFEv1.Cuit = "20267565393"
// Conectar al Servicio Web de Facturación
ok = WSFEv1.Conectar()
// Llamo a un servicio nulo, para obtener el estado del servidor (opcional)
ok = WSFEv1.Dummy()
MessageBox(WSFEv1.AppServerStatus)
MessageBox(WSFEv1.DbServerStatus)
MessageBox(WSFEv1.AuthServerStatus)
// Establezco los valores de la factura a autorizar:
tipo_cbte = 1
punto_vta = 1
cbte_nro = 0
fecha = "20101006"
concepto = 1
tipo_doc = 80
nro_doc = "23111111113"
cbt_desde = 1
cbt_hasta = 1
imp_total = "121.00"
imp_tot_conc = "0.00"
imp_neto = "100.00"
imp_iva = "21.00"
imp_trib = "0.00"
imp_op_ex = "0.00"
fecha_cbte = "20130423"
fecha_venc_pago = "20130430"
// Fechas del período del servicio facturado (solo si concepto = 1?)
fecha_serv_desde = "20130301"
fecha_serv_hasta = "20130331"
moneda_id = "PES"
moneda_ctz = "1"
ok = WSFEv1.CrearFactura(concepto, tipo_doc, nro_doc, tipo_cbte, punto_vta, cbt_desde, cbt_hasta, imp_total, imp_tot_conc, imp_neto, imp_iva, imp_trib, imp_op_ex, fecha_cbte, fecha_venc_pago, fecha_serv_desde, fecha_serv_hasta, moneda_id, moneda_ctz)
// Agrego los comprobantes asociados:
tipo = 19
pto_vta = 2
nro = 1234
ok = WSFEv1.AgregarCmpAsoc(tipo, pto_vta, nro)
// Agrego impuestos varios
id = 0
Desc = "Impuesto Municipal Matanza'"
base_imp = 150
alic = 5.2
importe = 5.8
ok = WSFEv1.AgregarTributo(id, Desc, base_imp, alic, importe)
// Agrego tasas de IVA
id = 5
base_im = 100
importe = 21
ok = WSFEv1.AgregarIva(id, base_imp, importe)
// Solicito CAE:
cae = WSFEv1.CAESolicitar()
MessageBox(WSFEv1.Resultado)
MessageBox(WSFEv1.CAE)
destroy WSAA
destroy WSFEv1