Skip to content

Commit

Permalink
WSCDC: subo ejemplo en VB para constacion de comprobantes
Browse files Browse the repository at this point in the history
--HG--
rename : ejemplos/wsfev1/wsfev1.bas => ejemplos/wscdc/wscdc.bas
rename : ejemplos/wsfev1/wsfev1.vbp => ejemplos/wscdc/wscdc.vbp
  • Loading branch information
reingart committed Dec 28, 2013
1 parent e8027e3 commit c512ee6
Show file tree
Hide file tree
Showing 2 changed files with 144 additions and 0 deletions.
105 changes: 105 additions & 0 deletions ejemplos/wscdc/wscdc.bas
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
Attribute VB_Name = "Modulo1"
' Ejemplo de Uso de Interface COM con Web Service Constatación de Comprobantes AFIP
' para Visual Basic 5.0 o superior (VB5 o VB6)
' Documentación: http://www.sistemasagiles.com.ar/trac/wiki/ConstatacionComprobantes
' 2013 (C) Mariano Reingart <reingart@gmail.com>
' Licencia: GPLv3

Sub Main()
Dim WSAA As Object, WSCDC As Object

' Crear objeto interface Web Service Autenticación y Autorización
Set WSAA = CreateObject("WSAA")
Debug.Print WSAA.Version
If WSAA.Version < "2.07" Then
MsgBox "Debe instalar una versión más actualizada de PyAfipWs WSAA!"
End
End If

' Especificar la ubicacion de los archivos certificado y clave privada
Path = CurDir() + "\"
' Certificado: certificado es el firmado por la AFIP
' ClavePrivada: la clave privada usada para crear el certificado
CRT = Path + "..\..\reingart.crt" ' certificado de prueba
Key = Path + "..\..\reingart.key" ' clave privada de prueba
URL_WSAA = "" ' cambiar en producción

ta = WSAA.Autenticar("wscdc", CRT, Key, URL_WSAA)
If ta = "" Then
MsgBox WSAA.Excepcion, vbCritical, "No se puede gestionar el Ticket de Acceso"
End
End If

' Crear objeto interface Web Service de Constatación de Comprobantes emitidos
Set WSCDC = CreateObject("WSCDC")
Debug.Print WSCDC.Version
If WSAA.Version < "1.12" Then
MsgBox "Debe instalar una versión mas actualizada de PyAfipWs WSCDC!"
End
End If
'Debug.Print WSCDC.InstallDir

' Setear tocken y sing de autorización (pasos previos)
WSCDC.Token = WSAA.Token
WSCDC.Sign = WSAA.Sign

' CUIT del emisor (debe estar registrado en la AFIP)
WSCDC.Cuit = "20267565393"

' deshabilito errores no manejados
WSCDC.LanzarExcepciones = False

' Conectar al Servicio Web
proxy = "" ' "usuario:clave@localhost:8000"
wsdl = "https://wswhomo.afip.gov.ar/WSCDC/service.asmx?WSDL"
cache = "" 'Path
wrapper = "" ' libreria http (httplib2, urllib2, pycurl)
cacert = WSAA.InstallDir & "\geotrust.crt" ' certificado de la autoridad de certificante (solo pycurl)

ok = WSCDC.Conectar(cache, wsdl, proxy, wrapper, cacert) ' homologación
If Not ok Then
MsgBox WSCDC.Traceback, vbCritical, WSCDC.Excepcion
End
End If

' Llamo a un servicio nulo, para obtener el estado del servidor (opcional)
ok = WSCDC.Dummy()
Debug.Print "appserver status", WSCDC.AppServerStatus
Debug.Print "dbserver status", WSCDC.DbServerStatus
Debug.Print "authserver status", WSCDC.AuthServerStatus

' Establezco los valores de la factura a constatar:
cbte_modo = "CAE"
cuit_emisor = "20267565393"
pto_vta = 4002
cbte_tipo = 1
cbte_nro = 109
cbte_fch = "20131227"
imp_total = "121.0"
cod_autorizacion = "63523178385550"
doc_tipo_receptor = 80
doc_nro_receptor = "30628789661"

' llamar al webservice para verificar la factura:
ok = WSCDC.ConstatarComprobante(cbte_modo, cuit_emisor, pto_vta, cbte_tipo, _
cbte_nro, cbte_fch, imp_total, cod_autorizacion, _
doc_tipo_receptor, doc_nro_receptor)
If Not ok Then
MsgBox WSCDC.Traceback, vbCritical, WSCDC.Excepcion
End
Else
MsgBox WSCDC.Obs + WSCDC.ErrMsg, vbInformation, "Resultado: " & WSCDC.Resultado
' controlar los datos devueltos del webservice
Debug.Print "Resultado:", WSCDC.Resultado
Debug.Print "Fecha Comprobante:", WSCDC.FechaCbte
Debug.Print "Nro Comprobante:", WSCDC.CbteNro
Debug.Print "Punto Venta:", WSCDC.PuntoVenta
Debug.Print "Importe Total:", WSCDC.ImpTotal
Debug.Print "Tipo Doc Receptor:", WSCDC.DocTipo
Debug.Print "Nro Doc Receptor:", WSCDC.DocNro
Debug.Print "Modalidad Emision Comprobante:", WSCDC.EmisionTipo
Debug.Print "CAI:", WSCDC.CAI
Debug.Print "CAE:", WSCDC.CAE
Debug.Print "CAEA:", WSCDC.CAEA
End If
End Sub
39 changes: 39 additions & 0 deletions ejemplos/wscdc/wscdc.vbp
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
Type=Exe
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\WINDOWS\system32\stdole2.tlb#OLE Automation
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX
Module=Modulo1; wscdc.bas
Startup="Sub Main"
HelpFile=""
Title="wsfev1"
Command32=""
Name="WSCDC"
HelpContextID="0"
Description="Ejemplo Web Service Constataci�n de Comprobantes emitidos AFIP (Visual Basic)"
CompatibleMode="0"
MajorVer=1
MinorVer=0
RevisionVer=0
AutoIncrementVer=0
ServerSupportFiles=0
VersionComments="Requiere interfaz PyAfipWs"
VersionCompanyName="http://www.sistemasagiles.com.ar/"
VersionFileDescription="Ejemplo Web Service Constataci�n de Comprobantes"
VersionLegalCopyright="2013 (C) Mariano Reingart reingart@gmail.com"
VersionProductName="PyAfipWs"
CompilationType=0
OptimizationType=0
FavorPentiumPro(tm)=0
CodeViewDebugInfo=0
NoAliasing=0
BoundsCheck=0
OverflowCheck=0
FlPointCheck=0
FDIVCheck=0
UnroundedFP=0
StartMode=0
Unattended=0
ThreadPerObject=0
MaxNumberOfThreads=1

[MS Transaction Server]
AutoRefresh=1

0 comments on commit c512ee6

Please sign in to comment.