First upload

This commit is contained in:
Guillermo Marcel 2017-11-21 11:28:18 -03:00
commit 436264139a
81 changed files with 14980 additions and 0 deletions

22
PrototipoAfip.sln Normal file
View File

@ -0,0 +1,22 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26403.7
MinimumVisualStudioVersion = 10.0.40219.1
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "PrototipoAfip", "PrototipoAfip\PrototipoAfip.vbproj", "{52B31B3F-4154-48B0-BF2F-5820FFF2CDC3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{52B31B3F-4154-48B0-BF2F-5820FFF2CDC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{52B31B3F-4154-48B0-BF2F-5820FFF2CDC3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{52B31B3F-4154-48B0-BF2F-5820FFF2CDC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{52B31B3F-4154-48B0-BF2F-5820FFF2CDC3}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

50
PrototipoAfip/App.config Normal file
View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="PrototipoAfip.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="PrototipoAfip.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<userSettings>
<PrototipoAfip.My.MySettings>
<setting name="def_cert" serializeAs="String">
<value>c:\cert.pfx</value>
</setting>
<setting name="def_pass" serializeAs="String">
<value />
</setting>
<setting name="def_url" serializeAs="String">
<value>https://wsaahomo.afip.gov.ar/ws/services/LoginCms?WSDL</value>
</setting>
<setting name="def_serv" serializeAs="String">
<value>wsfe</value>
</setting>
<setting name="def_cuit" serializeAs="String">
<value>20095214526</value>
</setting>
</PrototipoAfip.My.MySettings>
</userSettings>
<system.serviceModel>
<bindings />
<client />
</system.serviceModel>
<applicationSettings>
<PrototipoAfip.My.MySettings>
<setting name="PrototipoAfip_WSAA_LoginCMSService" serializeAs="String">
<value>https://wsaa.afip.gov.ar/ws/services/LoginCms</value>
</setting>
<setting name="PrototipoAfip_WSFEHOMO_Service" serializeAs="String">
<value>https://wswhomo.afip.gov.ar/wsfev1/service.asmx</value>
</setting>
<setting name="PrototipoAfip_WSPSA4_PersonaServiceA4" serializeAs="String">
<value>http://aws.afip.gov.ar/sr-padron/webservices/personaServiceA4</value>
</setting>
</PrototipoAfip.My.MySettings>
</applicationSettings>
</configuration>

View File

@ -0,0 +1,44 @@

Public Class DetalleFactura
Property Codigo As Long?
Property Cantidad As Integer
Property PUnitario As Decimal
Property Descripcion As String
Property Alicuota As Decimal
''' <summary>
''' SubTotal de Precios sin IVA
''' </summary>
''' <returns></returns>
ReadOnly Property Subtotal As Decimal
Get
Return Cantidad * PUnitario
End Get
End Property
''' <summary>
''' SubTotal del IVA + Precio Total
''' </summary>
''' <returns></returns>
ReadOnly Property SubTotalConIva As Decimal
Get
Return getSubTotalIva() + Subtotal
End Get
End Property
''' <summary>
''' Valor de IVA por unidad
''' </summary>
''' <returns></returns>
Function getIvaUnitario() As Decimal
Return Alicuota * PUnitario / 100
End Function
''' <summary>
''' SubTotal del Iva Unicamente
''' </summary>
''' <returns></returns>
Function getSubTotalIva() As Decimal
Return getIvaUnitario() * Cantidad
End Function
End Class

113
PrototipoAfip/Factura.vb Normal file
View File

@ -0,0 +1,113 @@
Public Class Factura
Property Numero As Integer?
Property TipoFactura As String
Property TipoFacturaId As Integer?
Property PuntoVenta As Integer?
Property MonedaId As Integer?
Property DocTipo As Integer?
Property Documento As Long?
Property Concepto As Integer?
Property Fecha As Date
Property FechaVencimiento As Date
Property CAE As Long?
Property CAEVencimiento As Date
Property Cliente
Property Detalles As New List(Of DetalleFactura)
''' <summary>
''' Sumarizacion de los subtotales (cantidad + pUnitario) sin iva ni descuentos
''' </summary>
''' <returns></returns>
ReadOnly Property SubTotalPreDescuento As Decimal
Get
Dim r As Decimal = 0
For Each detalle In Detalles
r += detalle.Subtotal
Next
Return r
End Get
End Property
''' <summary>
''' Valor Positivo que se substrae del neto
''' </summary>
''' <returns></returns>
Property Descuento As Decimal
''' <summary>
''' SubTotalPreDescuento incluido el descuento
''' </summary>
''' <returns></returns>
ReadOnly Property SubTotalNeto As Decimal
Get
Return SubTotalPreDescuento - Descuento
End Get
End Property
ReadOnly Property SubTotalesIva As List(Of SubTotalIva)
Get
Dim lista As New List(Of SubTotalIva)
Dim s As SubTotalIva
For Each detalle In Detalles
s = lista.Where(Function(x) x.Alicuota = detalle.Alicuota).FirstOrDefault
If s Is Nothing Then
s = New SubTotalIva With {
.Valor = detalle.getSubTotalIva,
.Alicuota = detalle.Alicuota
}
lista.Add(s)
Else
s.Valor += detalle.getSubTotalIva
End If
Next
Return lista
End Get
End Property
Function getSubTotalIva(alicuota As Decimal) As Decimal
Dim s As SubTotalIva = SubTotalesIva.Where(Function(x) x.Alicuota = alicuota).FirstOrDefault
Return If(IsNothing(s), 0, s.Valor)
End Function
ReadOnly Property Total As Decimal
Get
Dim t As Decimal = SubTotalNeto
For Each iva As SubTotalIva In SubTotalesIva
t += iva.Valor
Next
Return t
End Get
End Property
Sub addDetalle(codigo As Long?,
cant As Integer,
precioNeto As Decimal,
descripcion As String,
alicuota As Decimal)
Dim detalle As New DetalleFactura With {
.Alicuota = alicuota,
.Cantidad = cant,
.Codigo = codigo,
.Descripcion = descripcion,
.PUnitario = precioNeto
}
Me.Detalles.Add(detalle)
End Sub
Sub addDetallePrecioFinal(codigo As Long?,
cant As Integer,
precioFinal As Decimal,
descripcion As String,
alicuota As Decimal)
Dim neto As Decimal = precioFinal / (1 + (alicuota / 100))
addDetalle(codigo, cant, neto, descripcion, alicuota)
End Sub
End Class
Public Class SubTotalIva
Property Alicuota As Decimal
Property Valor As Decimal
End Class

683
PrototipoAfip/FacturaForm.Designer.vb generated Normal file
View File

@ -0,0 +1,683 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class FacturaForm
Inherits System.Windows.Forms.Form
'Form reemplaza a Dispose para limpiar la lista de componentes.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Requerido por el Diseñador de Windows Forms
Private components As System.ComponentModel.IContainer
'NOTA: el Diseñador de Windows Forms necesita el siguiente procedimiento
'Se puede modificar usando el Diseñador de Windows Forms.
'No lo modifique con el editor de código.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.Button1 = New System.Windows.Forms.Button()
Me.Label1 = New System.Windows.Forms.Label()
Me.TiposComprobantesCMB = New System.Windows.Forms.ComboBox()
Me.Label2 = New System.Windows.Forms.Label()
Me.Label3 = New System.Windows.Forms.Label()
Me.TipoConcepto = New System.Windows.Forms.ComboBox()
Me.Label4 = New System.Windows.Forms.Label()
Me.MyCuitTX = New System.Windows.Forms.TextBox()
Me.ptos_venta_cm = New System.Windows.Forms.ComboBox()
Me.Label5 = New System.Windows.Forms.Label()
Me.TipoDocCMB = New System.Windows.Forms.ComboBox()
Me.Label6 = New System.Windows.Forms.Label()
Me.MonedaCMB = New System.Windows.Forms.ComboBox()
Me.Label7 = New System.Windows.Forms.Label()
Me.TipoIVACmb = New System.Windows.Forms.ComboBox()
Me.DocTX = New System.Windows.Forms.TextBox()
Me.Label8 = New System.Windows.Forms.Label()
Me.Label9 = New System.Windows.Forms.Label()
Me.NroCbteTX = New System.Windows.Forms.TextBox()
Me.FechaDTP = New System.Windows.Forms.DateTimePicker()
Me.Label10 = New System.Windows.Forms.Label()
Me.Label11 = New System.Windows.Forms.Label()
Me.NetoTX = New System.Windows.Forms.TextBox()
Me.Label12 = New System.Windows.Forms.Label()
Me.ImpIvaTx = New System.Windows.Forms.TextBox()
Me.Label13 = New System.Windows.Forms.Label()
Me.TotalTx = New System.Windows.Forms.TextBox()
Me.Label14 = New System.Windows.Forms.Label()
Me.VtoDTP = New System.Windows.Forms.DateTimePicker()
Me.VtoCB = New System.Windows.Forms.CheckBox()
Me.CalcBtn = New System.Windows.Forms.Button()
Me.NetoRB = New System.Windows.Forms.RadioButton()
Me.TotalRB = New System.Windows.Forms.RadioButton()
Me.Button2 = New System.Windows.Forms.Button()
Me.Button3 = New System.Windows.Forms.Button()
Me.Resultado = New System.Windows.Forms.TextBox()
Me.Label15 = New System.Windows.Forms.Label()
Me.Label16 = New System.Windows.Forms.Label()
Me.Label18 = New System.Windows.Forms.Label()
Me.Label19 = New System.Windows.Forms.Label()
Me.Label20 = New System.Windows.Forms.Label()
Me.Label21 = New System.Windows.Forms.Label()
Me.Label22 = New System.Windows.Forms.Label()
Me.Label23 = New System.Windows.Forms.Label()
Me.CheckBox1 = New System.Windows.Forms.CheckBox()
Me.testing_rb = New System.Windows.Forms.RadioButton()
Me.produccion_rb = New System.Windows.Forms.RadioButton()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.Button4 = New System.Windows.Forms.Button()
Me.LinearWinForm2 = New BarcodeLib.Barcode.WinForms.LinearWinForm()
Me.Button5 = New System.Windows.Forms.Button()
Me.GroupBox1.SuspendLayout()
Me.SuspendLayout()
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(230, 34)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(75, 44)
Me.Button1.TabIndex = 0
Me.Button1.Text = "Cargar"
Me.Button1.UseVisualStyleBackColor = True
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(68, 170)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(54, 13)
Me.Label1.TabIndex = 1
Me.Label1.Text = "Pto Venta"
'
'TiposComprobantesCMB
'
Me.TiposComprobantesCMB.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.TiposComprobantesCMB.FormattingEnabled = True
Me.TiposComprobantesCMB.Location = New System.Drawing.Point(128, 193)
Me.TiposComprobantesCMB.Name = "TiposComprobantesCMB"
Me.TiposComprobantesCMB.Size = New System.Drawing.Size(224, 21)
Me.TiposComprobantesCMB.TabIndex = 3
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(68, 196)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(28, 13)
Me.Label2.TabIndex = 1
Me.Label2.Text = "Tipo"
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Location = New System.Drawing.Point(68, 235)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(53, 13)
Me.Label3.TabIndex = 1
Me.Label3.Text = "Concepto"
'
'TipoConcepto
'
Me.TipoConcepto.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.TipoConcepto.FormattingEnabled = True
Me.TipoConcepto.Location = New System.Drawing.Point(128, 232)
Me.TipoConcepto.Name = "TipoConcepto"
Me.TipoConcepto.Size = New System.Drawing.Size(224, 21)
Me.TipoConcepto.TabIndex = 3
'
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.Location = New System.Drawing.Point(22, 87)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(46, 13)
Me.Label4.TabIndex = 1
Me.Label4.Text = "Mi CUIT"
'
'MyCuitTX
'
Me.MyCuitTX.Location = New System.Drawing.Point(82, 84)
Me.MyCuitTX.Name = "MyCuitTX"
Me.MyCuitTX.Size = New System.Drawing.Size(121, 20)
Me.MyCuitTX.TabIndex = 2
'
'ptos_venta_cm
'
Me.ptos_venta_cm.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.ptos_venta_cm.FormattingEnabled = True
Me.ptos_venta_cm.Location = New System.Drawing.Point(128, 167)
Me.ptos_venta_cm.Name = "ptos_venta_cm"
Me.ptos_venta_cm.Size = New System.Drawing.Size(224, 21)
Me.ptos_venta_cm.TabIndex = 3
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Location = New System.Drawing.Point(68, 262)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(51, 13)
Me.Label5.TabIndex = 1
Me.Label5.Text = "Tipo Doc"
'
'TipoDocCMB
'
Me.TipoDocCMB.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.TipoDocCMB.FormattingEnabled = True
Me.TipoDocCMB.Location = New System.Drawing.Point(128, 259)
Me.TipoDocCMB.Name = "TipoDocCMB"
Me.TipoDocCMB.Size = New System.Drawing.Size(224, 21)
Me.TipoDocCMB.TabIndex = 3
'
'Label6
'
Me.Label6.AutoSize = True
Me.Label6.Location = New System.Drawing.Point(392, 87)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(46, 13)
Me.Label6.TabIndex = 1
Me.Label6.Text = "Moneda"
'
'MonedaCMB
'
Me.MonedaCMB.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.MonedaCMB.FormattingEnabled = True
Me.MonedaCMB.Location = New System.Drawing.Point(452, 84)
Me.MonedaCMB.Name = "MonedaCMB"
Me.MonedaCMB.Size = New System.Drawing.Size(224, 21)
Me.MonedaCMB.TabIndex = 3
'
'Label7
'
Me.Label7.AutoSize = True
Me.Label7.Location = New System.Drawing.Point(422, 143)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(24, 13)
Me.Label7.TabIndex = 1
Me.Label7.Text = "IVA"
'
'TipoIVACmb
'
Me.TipoIVACmb.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.TipoIVACmb.FormattingEnabled = True
Me.TipoIVACmb.Location = New System.Drawing.Point(452, 140)
Me.TipoIVACmb.Name = "TipoIVACmb"
Me.TipoIVACmb.Size = New System.Drawing.Size(224, 21)
Me.TipoIVACmb.TabIndex = 3
'
'DocTX
'
Me.DocTX.Location = New System.Drawing.Point(128, 286)
Me.DocTX.Name = "DocTX"
Me.DocTX.Size = New System.Drawing.Size(224, 20)
Me.DocTX.TabIndex = 4
'
'Label8
'
Me.Label8.AutoSize = True
Me.Label8.Location = New System.Drawing.Point(68, 289)
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(27, 13)
Me.Label8.TabIndex = 1
Me.Label8.Text = "Doc"
'
'Label9
'
Me.Label9.AutoSize = True
Me.Label9.Location = New System.Drawing.Point(68, 315)
Me.Label9.Name = "Label9"
Me.Label9.Size = New System.Drawing.Size(49, 13)
Me.Label9.TabIndex = 1
Me.Label9.Text = "Nro Cbte"
'
'NroCbteTX
'
Me.NroCbteTX.Location = New System.Drawing.Point(128, 312)
Me.NroCbteTX.Name = "NroCbteTX"
Me.NroCbteTX.ReadOnly = True
Me.NroCbteTX.Size = New System.Drawing.Size(224, 20)
Me.NroCbteTX.TabIndex = 4
'
'FechaDTP
'
Me.FechaDTP.Location = New System.Drawing.Point(128, 338)
Me.FechaDTP.Name = "FechaDTP"
Me.FechaDTP.Size = New System.Drawing.Size(200, 20)
Me.FechaDTP.TabIndex = 5
'
'Label10
'
Me.Label10.AutoSize = True
Me.Label10.Location = New System.Drawing.Point(68, 344)
Me.Label10.Name = "Label10"
Me.Label10.Size = New System.Drawing.Size(37, 13)
Me.Label10.TabIndex = 1
Me.Label10.Text = "Fecha"
'
'Label11
'
Me.Label11.AutoSize = True
Me.Label11.Location = New System.Drawing.Point(378, 114)
Me.Label11.Name = "Label11"
Me.Label11.Size = New System.Drawing.Size(68, 13)
Me.Label11.TabIndex = 1
Me.Label11.Text = "Importe Neto"
'
'NetoTX
'
Me.NetoTX.Location = New System.Drawing.Point(452, 111)
Me.NetoTX.Name = "NetoTX"
Me.NetoTX.Size = New System.Drawing.Size(224, 20)
Me.NetoTX.TabIndex = 4
'
'Label12
'
Me.Label12.AutoSize = True
Me.Label12.Location = New System.Drawing.Point(384, 170)
Me.Label12.Name = "Label12"
Me.Label12.Size = New System.Drawing.Size(62, 13)
Me.Label12.TabIndex = 1
Me.Label12.Text = "Importe IVA"
'
'ImpIvaTx
'
Me.ImpIvaTx.Location = New System.Drawing.Point(452, 167)
Me.ImpIvaTx.Name = "ImpIvaTx"
Me.ImpIvaTx.ReadOnly = True
Me.ImpIvaTx.Size = New System.Drawing.Size(224, 20)
Me.ImpIvaTx.TabIndex = 4
'
'Label13
'
Me.Label13.AutoSize = True
Me.Label13.Location = New System.Drawing.Point(377, 196)
Me.Label13.Name = "Label13"
Me.Label13.Size = New System.Drawing.Size(69, 13)
Me.Label13.TabIndex = 1
Me.Label13.Text = "Importe Total"
'
'TotalTx
'
Me.TotalTx.Location = New System.Drawing.Point(452, 193)
Me.TotalTx.Name = "TotalTx"
Me.TotalTx.ReadOnly = True
Me.TotalTx.Size = New System.Drawing.Size(224, 20)
Me.TotalTx.TabIndex = 4
'
'Label14
'
Me.Label14.AutoSize = True
Me.Label14.Location = New System.Drawing.Point(68, 370)
Me.Label14.Name = "Label14"
Me.Label14.Size = New System.Drawing.Size(23, 13)
Me.Label14.TabIndex = 1
Me.Label14.Text = "Vto"
'
'VtoDTP
'
Me.VtoDTP.Enabled = False
Me.VtoDTP.Location = New System.Drawing.Point(152, 364)
Me.VtoDTP.Name = "VtoDTP"
Me.VtoDTP.Size = New System.Drawing.Size(200, 20)
Me.VtoDTP.TabIndex = 5
'
'VtoCB
'
Me.VtoCB.AutoSize = True
Me.VtoCB.Location = New System.Drawing.Point(128, 369)
Me.VtoCB.Name = "VtoCB"
Me.VtoCB.Size = New System.Drawing.Size(15, 14)
Me.VtoCB.TabIndex = 6
Me.VtoCB.UseVisualStyleBackColor = True
'
'CalcBtn
'
Me.CalcBtn.Location = New System.Drawing.Point(452, 219)
Me.CalcBtn.Name = "CalcBtn"
Me.CalcBtn.Size = New System.Drawing.Size(75, 23)
Me.CalcBtn.TabIndex = 7
Me.CalcBtn.Text = "Calcular"
Me.CalcBtn.UseVisualStyleBackColor = True
'
'NetoRB
'
Me.NetoRB.AutoSize = True
Me.NetoRB.Checked = True
Me.NetoRB.Location = New System.Drawing.Point(452, 61)
Me.NetoRB.Name = "NetoRB"
Me.NetoRB.Size = New System.Drawing.Size(48, 17)
Me.NetoRB.TabIndex = 8
Me.NetoRB.TabStop = True
Me.NetoRB.Text = "Neto"
Me.NetoRB.UseVisualStyleBackColor = True
'
'TotalRB
'
Me.TotalRB.AutoSize = True
Me.TotalRB.Location = New System.Drawing.Point(506, 61)
Me.TotalRB.Name = "TotalRB"
Me.TotalRB.Size = New System.Drawing.Size(49, 17)
Me.TotalRB.TabIndex = 8
Me.TotalRB.Text = "Total"
Me.TotalRB.UseVisualStyleBackColor = True
'
'Button2
'
Me.Button2.Location = New System.Drawing.Point(506, 272)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(75, 23)
Me.Button2.TabIndex = 9
Me.Button2.Text = "Registrar"
Me.Button2.UseVisualStyleBackColor = True
'
'Button3
'
Me.Button3.Location = New System.Drawing.Point(596, 272)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(80, 29)
Me.Button3.TabIndex = 10
Me.Button3.Text = "Ultimo"
Me.Button3.UseVisualStyleBackColor = True
'
'Resultado
'
Me.Resultado.Location = New System.Drawing.Point(412, 315)
Me.Resultado.Multiline = True
Me.Resultado.Name = "Resultado"
Me.Resultado.ReadOnly = True
Me.Resultado.Size = New System.Drawing.Size(305, 182)
Me.Resultado.TabIndex = 13
'
'Label15
'
Me.Label15.AutoSize = True
Me.Label15.Location = New System.Drawing.Point(68, 170)
Me.Label15.Name = "Label15"
Me.Label15.Size = New System.Drawing.Size(54, 13)
Me.Label15.TabIndex = 1
Me.Label15.Text = "Pto Venta"
'
'Label16
'
Me.Label16.AutoSize = True
Me.Label16.Location = New System.Drawing.Point(68, 196)
Me.Label16.Name = "Label16"
Me.Label16.Size = New System.Drawing.Size(28, 13)
Me.Label16.TabIndex = 1
Me.Label16.Text = "Tipo"
'
'Label18
'
Me.Label18.AutoSize = True
Me.Label18.Location = New System.Drawing.Point(68, 235)
Me.Label18.Name = "Label18"
Me.Label18.Size = New System.Drawing.Size(53, 13)
Me.Label18.TabIndex = 1
Me.Label18.Text = "Concepto"
'
'Label19
'
Me.Label19.AutoSize = True
Me.Label19.Location = New System.Drawing.Point(68, 262)
Me.Label19.Name = "Label19"
Me.Label19.Size = New System.Drawing.Size(51, 13)
Me.Label19.TabIndex = 1
Me.Label19.Text = "Tipo Doc"
'
'Label20
'
Me.Label20.AutoSize = True
Me.Label20.Location = New System.Drawing.Point(68, 289)
Me.Label20.Name = "Label20"
Me.Label20.Size = New System.Drawing.Size(27, 13)
Me.Label20.TabIndex = 1
Me.Label20.Text = "Doc"
'
'Label21
'
Me.Label21.AutoSize = True
Me.Label21.Location = New System.Drawing.Point(68, 315)
Me.Label21.Name = "Label21"
Me.Label21.Size = New System.Drawing.Size(49, 13)
Me.Label21.TabIndex = 1
Me.Label21.Text = "Nro Cbte"
'
'Label22
'
Me.Label22.AutoSize = True
Me.Label22.Location = New System.Drawing.Point(68, 344)
Me.Label22.Name = "Label22"
Me.Label22.Size = New System.Drawing.Size(37, 13)
Me.Label22.TabIndex = 1
Me.Label22.Text = "Fecha"
'
'Label23
'
Me.Label23.AutoSize = True
Me.Label23.Location = New System.Drawing.Point(68, 370)
Me.Label23.Name = "Label23"
Me.Label23.Size = New System.Drawing.Size(23, 13)
Me.Label23.TabIndex = 1
Me.Label23.Text = "Vto"
'
'CheckBox1
'
Me.CheckBox1.AutoSize = True
Me.CheckBox1.Location = New System.Drawing.Point(128, 369)
Me.CheckBox1.Name = "CheckBox1"
Me.CheckBox1.Size = New System.Drawing.Size(15, 14)
Me.CheckBox1.TabIndex = 6
Me.CheckBox1.UseVisualStyleBackColor = True
'
'testing_rb
'
Me.testing_rb.AutoSize = True
Me.testing_rb.Checked = True
Me.testing_rb.Location = New System.Drawing.Point(12, 21)
Me.testing_rb.Name = "testing_rb"
Me.testing_rb.Size = New System.Drawing.Size(60, 17)
Me.testing_rb.TabIndex = 12
Me.testing_rb.TabStop = True
Me.testing_rb.Text = "Testing"
Me.testing_rb.UseVisualStyleBackColor = True
'
'produccion_rb
'
Me.produccion_rb.AutoSize = True
Me.produccion_rb.Location = New System.Drawing.Point(78, 21)
Me.produccion_rb.Name = "produccion_rb"
Me.produccion_rb.Size = New System.Drawing.Size(79, 17)
Me.produccion_rb.TabIndex = 11
Me.produccion_rb.TabStop = True
Me.produccion_rb.Text = "Produccion"
Me.produccion_rb.UseVisualStyleBackColor = True
'
'GroupBox1
'
Me.GroupBox1.Controls.Add(Me.produccion_rb)
Me.GroupBox1.Controls.Add(Me.testing_rb)
Me.GroupBox1.Location = New System.Drawing.Point(34, 19)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Size = New System.Drawing.Size(169, 59)
Me.GroupBox1.TabIndex = 14
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Entorno"
'
'Button4
'
Me.Button4.Location = New System.Drawing.Point(358, 272)
Me.Button4.Name = "Button4"
Me.Button4.Size = New System.Drawing.Size(40, 34)
Me.Button4.TabIndex = 15
Me.Button4.Text = "CUIT"
Me.Button4.UseVisualStyleBackColor = True
'
'LinearWinForm2
'
Me.LinearWinForm2.AddCheckSum = False
Me.LinearWinForm2.AutoSize = True
Me.LinearWinForm2.BackgroundColor = System.Drawing.Color.White
Me.LinearWinForm2.BarColor = System.Drawing.Color.Black
Me.LinearWinForm2.BarHeight = 80.0!
Me.LinearWinForm2.BarHeightRatio = 0.4!
Me.LinearWinForm2.BarWidth = 1.0!
Me.LinearWinForm2.BearerBars = BarcodeLib.Barcode.BearerBar.None
Me.LinearWinForm2.BearerBarWidth = 1.0!
Me.LinearWinForm2.BottomMargin = 0!
Me.LinearWinForm2.CodabarStartChar = BarcodeLib.Barcode.CodabarStartStopChar.A
Me.LinearWinForm2.CodabarStopChar = BarcodeLib.Barcode.CodabarStartStopChar.A
Me.LinearWinForm2.Data = "BLSample"
Me.LinearWinForm2.ImageFormat = System.Drawing.Imaging.ImageFormat.Png
Me.LinearWinForm2.ImageHeight = 0!
Me.LinearWinForm2.ImageWidth = 0!
Me.LinearWinForm2.InterGap = 1.0!
Me.LinearWinForm2.LeftMargin = 0!
Me.LinearWinForm2.Location = New System.Drawing.Point(98, 527)
Me.LinearWinForm2.N = 2.0!
Me.LinearWinForm2.Name = "LinearWinForm2"
Me.LinearWinForm2.ProcessTilde = False
Me.LinearWinForm2.ResizeImage = False
Me.LinearWinForm2.Resolution = 96
Me.LinearWinForm2.RightMargin = 0!
Me.LinearWinForm2.Rotate = BarcodeLib.Barcode.RotateOrientation.BottomFacingDown
Me.LinearWinForm2.SData = ""
Me.LinearWinForm2.ShowStartStopChar = True
Me.LinearWinForm2.ShowText = True
Me.LinearWinForm2.Size = New System.Drawing.Size(143, 98)
Me.LinearWinForm2.SSeparation = 12.0!
Me.LinearWinForm2.TabIndex = 17
Me.LinearWinForm2.TextFont = New System.Drawing.Font("Arial", 9.0!)
Me.LinearWinForm2.TextFontColor = System.Drawing.Color.Black
Me.LinearWinForm2.TopMargin = 0!
Me.LinearWinForm2.Type = BarcodeLib.Barcode.BarcodeType.CODE128
Me.LinearWinForm2.UOM = BarcodeLib.Barcode.UnitOfMeasure.PIXEL
Me.LinearWinForm2.UPCENumber = 0
'
'Button5
'
Me.Button5.Location = New System.Drawing.Point(12, 495)
Me.Button5.Name = "Button5"
Me.Button5.Size = New System.Drawing.Size(75, 23)
Me.Button5.TabIndex = 18
Me.Button5.Text = "Guardar"
Me.Button5.UseVisualStyleBackColor = True
'
'FacturaForm
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(729, 637)
Me.Controls.Add(Me.Button5)
Me.Controls.Add(Me.LinearWinForm2)
Me.Controls.Add(Me.Button4)
Me.Controls.Add(Me.GroupBox1)
Me.Controls.Add(Me.Resultado)
Me.Controls.Add(Me.Button3)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.TotalRB)
Me.Controls.Add(Me.NetoRB)
Me.Controls.Add(Me.CheckBox1)
Me.Controls.Add(Me.CalcBtn)
Me.Controls.Add(Me.VtoCB)
Me.Controls.Add(Me.VtoDTP)
Me.Controls.Add(Me.FechaDTP)
Me.Controls.Add(Me.NroCbteTX)
Me.Controls.Add(Me.TotalTx)
Me.Controls.Add(Me.ImpIvaTx)
Me.Controls.Add(Me.NetoTX)
Me.Controls.Add(Me.DocTX)
Me.Controls.Add(Me.TipoIVACmb)
Me.Controls.Add(Me.MonedaCMB)
Me.Controls.Add(Me.TipoDocCMB)
Me.Controls.Add(Me.Label7)
Me.Controls.Add(Me.Label23)
Me.Controls.Add(Me.TipoConcepto)
Me.Controls.Add(Me.Label14)
Me.Controls.Add(Me.Label22)
Me.Controls.Add(Me.Label6)
Me.Controls.Add(Me.Label10)
Me.Controls.Add(Me.Label21)
Me.Controls.Add(Me.Label13)
Me.Controls.Add(Me.Label9)
Me.Controls.Add(Me.Label12)
Me.Controls.Add(Me.ptos_venta_cm)
Me.Controls.Add(Me.Label20)
Me.Controls.Add(Me.Label11)
Me.Controls.Add(Me.Label19)
Me.Controls.Add(Me.Label8)
Me.Controls.Add(Me.Label5)
Me.Controls.Add(Me.Label18)
Me.Controls.Add(Me.TiposComprobantesCMB)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.MyCuitTX)
Me.Controls.Add(Me.Label16)
Me.Controls.Add(Me.Label4)
Me.Controls.Add(Me.Label15)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.Button1)
Me.Name = "FacturaForm"
Me.Text = "FacturaForm"
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox1.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents Button1 As Button
Friend WithEvents Label1 As Label
Friend WithEvents TiposComprobantesCMB As ComboBox
Friend WithEvents Label2 As Label
Friend WithEvents Label3 As Label
Friend WithEvents TipoConcepto As ComboBox
Friend WithEvents Label4 As Label
Friend WithEvents MyCuitTX As TextBox
Friend WithEvents ptos_venta_cm As ComboBox
Friend WithEvents Label5 As Label
Friend WithEvents TipoDocCMB As ComboBox
Friend WithEvents Label6 As Label
Friend WithEvents MonedaCMB As ComboBox
Friend WithEvents Label7 As Label
Friend WithEvents TipoIVACmb As ComboBox
Friend WithEvents DocTX As TextBox
Friend WithEvents Label8 As Label
Friend WithEvents Label9 As Label
Friend WithEvents NroCbteTX As TextBox
Friend WithEvents FechaDTP As DateTimePicker
Friend WithEvents Label10 As Label
Friend WithEvents Label11 As Label
Friend WithEvents NetoTX As TextBox
Friend WithEvents Label12 As Label
Friend WithEvents ImpIvaTx As TextBox
Friend WithEvents Label13 As Label
Friend WithEvents TotalTx As TextBox
Friend WithEvents Label14 As Label
Friend WithEvents VtoDTP As DateTimePicker
Friend WithEvents VtoCB As CheckBox
Friend WithEvents CalcBtn As Button
Friend WithEvents NetoRB As RadioButton
Friend WithEvents TotalRB As RadioButton
Friend WithEvents Button2 As Button
Friend WithEvents Button3 As Button
Friend WithEvents Resultado As TextBox
Friend WithEvents Label15 As Label
Friend WithEvents Label16 As Label
Friend WithEvents Label18 As Label
Friend WithEvents Label19 As Label
Friend WithEvents Label20 As Label
Friend WithEvents Label21 As Label
Friend WithEvents Label22 As Label
Friend WithEvents Label23 As Label
Friend WithEvents CheckBox1 As CheckBox
Friend WithEvents testing_rb As RadioButton
Friend WithEvents produccion_rb As RadioButton
Friend WithEvents GroupBox1 As GroupBox
Friend WithEvents Button4 As Button
Friend WithEvents LinearWinForm2 As BarcodeLib.Barcode.WinForms.LinearWinForm
Friend WithEvents Button5 As Button
End Class

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,274 @@
Imports PrototipoAfip.WSFEHOMO
Public Class FacturaForm
Property Login As LoginClass
Property TiposComprobantes As CbteTipoResponse
Property TipoConceptos As ConceptoTipoResponse
Property TipoDoc As DocTipoResponse
Property Monedas As MonedaResponse
Property puntosventa As FEPtoVentaResponse
Property TiposIVA As IvaTipoResponse
Property opcionales As OpcionalTipoResponse
Property authRequest As FEAuthRequest
Private url As String
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
authRequest = New FEAuthRequest()
authRequest.Cuit = MyCuitTX.Text
authRequest.Sign = Login.Sign
authRequest.Token = Login.Token
Dim service As Service = getServicio()
service.ClientCertificates.Add(Login.certificado)
puntosventa = service.FEParamGetPtosVenta(authRequest)
ptos_venta_cm.DataSource = puntosventa.ResultGet
TiposComprobantes = service.FEParamGetTiposCbte(authRequest)
TiposComprobantesCMB.DataSource = TiposComprobantes.ResultGet
TipoConceptos = service.FEParamGetTiposConcepto(authRequest)
TipoConcepto.DataSource = TipoConceptos.ResultGet
TipoDoc = service.FEParamGetTiposDoc(authRequest)
TipoDocCMB.DataSource = TipoDoc.ResultGet
Monedas = service.FEParamGetTiposMonedas(authRequest)
MonedaCMB.DataSource = Monedas.ResultGet
TiposIVA = service.FEParamGetTiposIva(authRequest)
TipoIVACmb.DataSource = TiposIVA.ResultGet
NroCbteTX.Text = service.FECompUltimoAutorizado(authRequest, 4, TiposComprobantes.ResultGet(0).Id).CbteNro + 1
opcionales = service.FEParamGetTiposOpcional(authRequest)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub FacturaForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
MyCuitTX.Text = My.Settings.def_cuit
ptos_venta_cm.DisplayMember = "Nro"
TiposComprobantesCMB.DisplayMember = "Desc"
TipoConcepto.DisplayMember = "Desc"
TipoDocCMB.DisplayMember = "Desc"
MonedaCMB.DisplayMember = "Desc"
TipoIVACmb.DisplayMember = "Desc"
End Sub
Private Sub VtoCB_CheckedChanged(sender As Object, e As EventArgs) Handles VtoCB.CheckedChanged, CheckBox1.CheckedChanged
VtoDTP.Enabled = VtoCB.Checked
End Sub
Private Sub CalcBtn_Click(sender As Object, e As EventArgs) Handles CalcBtn.Click
Try
Dim iva As IvaTipo = TipoIVACmb.SelectedItem
Dim desc As String = iva.Desc
Dim sep = Globalization.CultureInfo.CurrentUICulture.NumberFormat.NumberDecimalSeparator
desc = desc.Replace(".", Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator)
desc = desc.Substring(0, desc.Count - 1)
Dim ivaval As Decimal = Decimal.Parse(desc)
If NetoRB.Checked Then
Dim neto As Decimal = Decimal.Parse(NetoTX.Text)
Dim imp_iva As Decimal = neto * ivaval / 100
Dim total As Decimal = neto + imp_iva
ImpIvaTx.Text = imp_iva
TotalTx.Text = total
Else
Dim total As Decimal = Decimal.Parse(TotalTx.Text)
Dim mul As Decimal = 1 + (ivaval / 100)
Dim neto As Decimal = total / mul
Dim imp_iva = total - neto
ImpIvaTx.Text = imp_iva
NetoTX.Text = neto
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub RadioButton2_CheckedChanged(sender As Object, e As EventArgs) Handles TotalRB.CheckedChanged
NetoTX.ReadOnly = TotalRB.Checked
NetoTX.Text = ""
TotalTx.Text = ""
ImpIvaTx.Text = ""
TotalTx.ReadOnly = NetoRB.Checked
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Try
Dim service As WSFEHOMO.Service = getServicio()
service.ClientCertificates.Add(Login.certificado)
Dim pv As Integer = Integer.Parse(InputBox("Pto Venta"))
Dim cm As CbteTipo = TiposComprobantesCMB.SelectedItem
Dim req As New FECAERequest
Dim cab As New FECAECabRequest
Dim det As New FECAEDetRequest
cab.CantReg = 1
cab.PtoVta = pv
cab.CbteTipo = cm.Id
req.FeCabReq = cab
With det
Dim concepto As ConceptoTipo = TipoConcepto.SelectedItem
.Concepto = concepto.Id
Dim doctipo As DocTipo = TipoDocCMB.SelectedItem
.DocTipo = doctipo.Id
.DocNro = Long.Parse(DocTX.Text)
Dim lastRes As FERecuperaLastCbteResponse = service.FECompUltimoAutorizado(authRequest, pv, cm.Id)
Dim last As Integer = lastRes.CbteNro
.CbteDesde = last + 1
.CbteHasta = last + 1
.CbteFch = FechaDTP.Value.ToString("yyyyMMdd")
.ImpNeto = NetoTX.Text
.ImpIVA = ImpIvaTx.Text
.ImpTotal = TotalTx.Text
.ImpTotConc = 0
.ImpOpEx = 0
.ImpTrib = 0
Dim mon As Moneda = MonedaCMB.SelectedItem
.MonId = mon.Id
.MonCotiz = 1
Dim alicuota As New AlicIva
Dim ivat As IvaTipo = TipoIVACmb.SelectedItem
alicuota.Id = ivat.Id
alicuota.BaseImp = NetoTX.Text
alicuota.Importe = ImpIvaTx.Text
.Iva = {alicuota}
End With
req.FeDetReq = {det}
Dim r = service.FECAESolicitar(authRequest, req)
Dim m As String = "Estado: " & r.FeCabResp.Resultado & vbCrLf
m &= "Estado Esp: " & r.FeDetResp(0).Resultado
m &= vbCrLf
m &= "CAE: " & r.FeDetResp(0).CAE
m &= vbCrLf
m &= "Vto: " & r.FeDetResp(0).CAEFchVto
m &= vbCrLf
m &= "Desde-Hasta: " & r.FeDetResp(0).CbteDesde & "-" & r.FeDetResp(0).CbteHasta
m &= vbCrLf
For Each o In r.FeDetResp(0).Observaciones
m &= String.Format("Obs: {0} ({1})", o.Msg, o.Code) & vbCrLf
Next
Resultado.Text = m
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Try
Dim service As WSFEHOMO.Service = getServicio()
service.ClientCertificates.Add(Login.certificado)
Dim pv As Integer = Integer.Parse(InputBox("Pto Venta"))
Dim cm As CbteTipo = TiposComprobantesCMB.SelectedItem
Dim last As FERecuperaLastCbteResponse = service.FECompUltimoAutorizado(authRequest, pv, cm.Id)
Dim consulta As New FECompConsultaReq
consulta.CbteNro = last.CbteNro
consulta.CbteTipo = last.CbteTipo
consulta.PtoVta = last.PtoVta
Dim asdf As FECompConsultaResponse = service.FECompConsultar(authRequest, consulta)
Dim r = asdf.ResultGet
Dim m As String = "Estado: " & r.Resultado & vbCrLf
m &= "CAE: " & r.CodAutorizacion
m &= vbCrLf
m &= "Vto: " & r.FchVto
m &= vbCrLf
m &= "Desde-Hasta: " & r.CbteDesde & "-" & r.CbteHasta
m &= vbCrLf
m &= "Para: " & r.DocNro
m &= vbCrLf
m &= "Tipo Emision: " & r.EmisionTipo
m &= vbCrLf
m &= "Total: " & r.ImpTotal
m &= vbCrLf
For Each o In r.Observaciones
m &= String.Format("Obs: {0} ({1})", o.Msg, o.Code) & vbCrLf
Next
Resultado.Text = m
With LinearWinForm2
.Type = BarcodeLib.Barcode.BarcodeType.INTERLEAVED25
.Data = String.Concat(authRequest.Cuit,
r.CbteTipo.ToString("00"),
r.PtoVta.ToString("0000"),
r.CodAutorizacion,
r.FchVto)
.AddCheckSum = True
.UOM = BarcodeLib.Barcode.UnitOfMeasure.PIXEL
.BarWidth = 2
.BarHeight = 80
.LeftMargin = 5
.RightMargin = 5
.TopMargin = 5
.BottomMargin = 5
.ImageFormat = Imaging.ImageFormat.Bmp
.drawBarcode(LinearWinForm2.CreateGraphics)
End With
MsgBox("El Ultimo fue: " & last.CbteNro.ToString)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub testing_rb_CheckedChanged(sender As Object, e As EventArgs) Handles testing_rb.CheckedChanged
url = "https://wswhomo.afip.gov.ar/wsfev1/service.asmx?WSDL"
End Sub
Private Sub produccion_rb_CheckedChanged(sender As Object, e As EventArgs) Handles produccion_rb.CheckedChanged
url = "https://servicios1.afip.gov.ar/wsfev1/service.asmx?WSDL"
End Sub
Private Function getServicio() As Service
Dim s As New Service
s.Url = url
Return s
End Function
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Process.Start(String.Format("https://www.cuitonline.com/detalle/{0}/", DocTX.Text))
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Dim p = String.Format("{0}\codigo.bmp", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments))
LinearWinForm2.SaveAsImage(p)
End Sub
End Class

209
PrototipoAfip/FacturaPrueba.Designer.vb generated Normal file
View File

@ -0,0 +1,209 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class FacturaPrueba
Inherits System.Windows.Forms.Form
'Form reemplaza a Dispose para limpiar la lista de componentes.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Requerido por el Diseñador de Windows Forms
Private components As System.ComponentModel.IContainer
'NOTA: el Diseñador de Windows Forms necesita el siguiente procedimiento
'Se puede modificar usando el Diseñador de Windows Forms.
'No lo modifique con el editor de código.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.DataGridView1 = New System.Windows.Forms.DataGridView()
Me.Addbtn = New System.Windows.Forms.Button()
Me.DataGridView2 = New System.Windows.Forms.DataGridView()
Me.Label1 = New System.Windows.Forms.Label()
Me.totalneto = New System.Windows.Forms.Label()
Me.Label3 = New System.Windows.Forms.Label()
Me.descuento = New System.Windows.Forms.Label()
Me.Label5 = New System.Windows.Forms.Label()
Me.subtotal = New System.Windows.Forms.Label()
Me.Label7 = New System.Windows.Forms.Label()
Me.iva21 = New System.Windows.Forms.Label()
Me.Label9 = New System.Windows.Forms.Label()
Me.tootal = New System.Windows.Forms.Label()
Me.Button1 = New System.Windows.Forms.Button()
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DataGridView2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'DataGridView1
'
Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.DataGridView1.Location = New System.Drawing.Point(12, 101)
Me.DataGridView1.Name = "DataGridView1"
Me.DataGridView1.Size = New System.Drawing.Size(785, 179)
Me.DataGridView1.TabIndex = 0
'
'Addbtn
'
Me.Addbtn.Location = New System.Drawing.Point(564, 70)
Me.Addbtn.Name = "Addbtn"
Me.Addbtn.Size = New System.Drawing.Size(151, 25)
Me.Addbtn.TabIndex = 1
Me.Addbtn.Text = "Agregar"
Me.Addbtn.UseVisualStyleBackColor = True
'
'DataGridView2
'
Me.DataGridView2.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.DataGridView2.Location = New System.Drawing.Point(557, 286)
Me.DataGridView2.Name = "DataGridView2"
Me.DataGridView2.Size = New System.Drawing.Size(240, 97)
Me.DataGridView2.TabIndex = 0
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(278, 321)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(73, 13)
Me.Label1.TabIndex = 2
Me.Label1.Text = "SubTotalNeto"
'
'totalneto
'
Me.totalneto.AutoSize = True
Me.totalneto.Location = New System.Drawing.Point(370, 321)
Me.totalneto.Name = "totalneto"
Me.totalneto.Size = New System.Drawing.Size(39, 13)
Me.totalneto.TabIndex = 2
Me.totalneto.Text = "Label1"
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Location = New System.Drawing.Point(278, 334)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(59, 13)
Me.Label3.TabIndex = 2
Me.Label3.Text = "Descuento"
'
'descuento
'
Me.descuento.AutoSize = True
Me.descuento.Location = New System.Drawing.Point(370, 334)
Me.descuento.Name = "descuento"
Me.descuento.Size = New System.Drawing.Size(39, 13)
Me.descuento.TabIndex = 2
Me.descuento.Text = "Label1"
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Location = New System.Drawing.Point(278, 347)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(50, 13)
Me.Label5.TabIndex = 2
Me.Label5.Text = "SubTotal"
'
'subtotal
'
Me.subtotal.AutoSize = True
Me.subtotal.Location = New System.Drawing.Point(370, 347)
Me.subtotal.Name = "subtotal"
Me.subtotal.Size = New System.Drawing.Size(39, 13)
Me.subtotal.TabIndex = 2
Me.subtotal.Text = "Label1"
'
'Label7
'
Me.Label7.AutoSize = True
Me.Label7.Location = New System.Drawing.Point(278, 360)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(39, 13)
Me.Label7.TabIndex = 2
Me.Label7.Text = "IVA 21"
'
'iva21
'
Me.iva21.AutoSize = True
Me.iva21.Location = New System.Drawing.Point(370, 360)
Me.iva21.Name = "iva21"
Me.iva21.Size = New System.Drawing.Size(39, 13)
Me.iva21.TabIndex = 2
Me.iva21.Text = "Label1"
'
'Label9
'
Me.Label9.AutoSize = True
Me.Label9.Location = New System.Drawing.Point(278, 373)
Me.Label9.Name = "Label9"
Me.Label9.Size = New System.Drawing.Size(31, 13)
Me.Label9.TabIndex = 2
Me.Label9.Text = "Total"
'
'tootal
'
Me.tootal.AutoSize = True
Me.tootal.Location = New System.Drawing.Point(370, 373)
Me.tootal.Name = "tootal"
Me.tootal.Size = New System.Drawing.Size(39, 13)
Me.tootal.TabIndex = 2
Me.tootal.Text = "Label1"
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(441, 70)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(75, 23)
Me.Button1.TabIndex = 3
Me.Button1.Text = "Random"
Me.Button1.UseVisualStyleBackColor = True
'
'FacturaPrueba
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(809, 479)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.tootal)
Me.Controls.Add(Me.iva21)
Me.Controls.Add(Me.subtotal)
Me.Controls.Add(Me.descuento)
Me.Controls.Add(Me.Label9)
Me.Controls.Add(Me.Label7)
Me.Controls.Add(Me.Label5)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.totalneto)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.Addbtn)
Me.Controls.Add(Me.DataGridView2)
Me.Controls.Add(Me.DataGridView1)
Me.Name = "FacturaPrueba"
Me.Text = "FacturaPrueba"
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.DataGridView2, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents DataGridView1 As DataGridView
Friend WithEvents Addbtn As Button
Friend WithEvents DataGridView2 As DataGridView
Friend WithEvents Label1 As Label
Friend WithEvents totalneto As Label
Friend WithEvents Label3 As Label
Friend WithEvents descuento As Label
Friend WithEvents Label5 As Label
Friend WithEvents subtotal As Label
Friend WithEvents Label7 As Label
Friend WithEvents iva21 As Label
Friend WithEvents Label9 As Label
Friend WithEvents tootal As Label
Friend WithEvents Button1 As Button
End Class

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,64 @@
Public Class FacturaPrueba
Public Sub New()
InitializeComponent()
f = New Factura
actualizar()
End Sub
Sub actualizar()
DataGridView1.DataSource = Nothing
DataGridView2.DataSource = Nothing
DataGridView1.DataSource = f.Detalles
DataGridView2.DataSource = f.SubTotalesIva
totalneto.Text = f.SubTotalPreDescuento.ToString("C")
descuento.Text = f.Descuento.ToString("C")
subtotal.Text = f.SubTotalNeto.ToString("C")
iva21.Text = f.getSubTotalIva(21).ToString("C")
tootal.Text = f.Total.ToString("C")
End Sub
Private f As Factura
Private Sub Addbtn_Click(sender As Object, e As EventArgs) Handles Addbtn.Click
Dim cod As Long? = Long.Parse(InputBox("Codigo"))
Dim cant As Integer = Integer.Parse(InputBox("Cantidad"))
Dim desc As String = InputBox("Desc")
Dim precio As Decimal = Decimal.Parse(InputBox("Precio"))
Dim alicuota As Decimal = Decimal.Parse(InputBox("Alicuota"))
Dim neto As Boolean = InputBox("Es Neto? s/n").Equals("s")
If neto Then
f.addDetalle(cod, cant, precio, desc, alicuota)
Else
f.addDetallePrecioFinal(cod, cant, precio, desc, alicuota)
End If
actualizar()
End Sub
Private Sub FacturaPrueba_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private r As Random
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
r = New Random
For i = 0 To 10
Dim cod = r.Next(1, 222)
Dim cant = r.Next(1, 10)
Dim prec = randDec(15, 200)
Dim ali = 21
Dim desc = Guid.NewGuid().ToString().Substring(0, 8)
f.addDetalle(cod, cant, prec, desc, ali)
Next
actualizar()
End Sub
Private Function randDec(min As Decimal, max As Decimal) As Decimal
min *= 100
max *= 100
Return r.Next(min, max) / 100
End Function
End Class

251
PrototipoAfip/Form1.Designer.vb generated Normal file
View File

@ -0,0 +1,251 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Form1
Inherits System.Windows.Forms.Form
'Form reemplaza a Dispose para limpiar la lista de componentes.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Requerido por el Diseñador de Windows Forms
Private components As System.ComponentModel.IContainer
'NOTA: el Diseñador de Windows Forms necesita el siguiente procedimiento
'Se puede modificar usando el Diseñador de Windows Forms.
'No lo modifique con el editor de código.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.Buscar_btn = New System.Windows.Forms.Button()
Me.Label1 = New System.Windows.Forms.Label()
Me.CertificadoTX = New System.Windows.Forms.TextBox()
Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog()
Me.Label2 = New System.Windows.Forms.Label()
Me.ClaveTX = New System.Windows.Forms.TextBox()
Me.Label3 = New System.Windows.Forms.Label()
Me.LoginBtn = New System.Windows.Forms.Button()
Me.VerTokenBtn = New System.Windows.Forms.Button()
Me.VerSignBtn = New System.Windows.Forms.Button()
Me.VerFullRequestBtn = New System.Windows.Forms.Button()
Me.VerFullResponseBtn = New System.Windows.Forms.Button()
Me.WSFE_BTN = New System.Windows.Forms.Button()
Me.testing_rb = New System.Windows.Forms.RadioButton()
Me.produccion_rb = New System.Windows.Forms.RadioButton()
Me.TestServerBTN = New System.Windows.Forms.Button()
Me.FactObjTest = New System.Windows.Forms.Button()
Me.ServicioTX = New System.Windows.Forms.ComboBox()
Me.SuspendLayout()
'
'Buscar_btn
'
Me.Buscar_btn.Location = New System.Drawing.Point(464, 59)
Me.Buscar_btn.Name = "Buscar_btn"
Me.Buscar_btn.Size = New System.Drawing.Size(75, 23)
Me.Buscar_btn.TabIndex = 0
Me.Buscar_btn.Text = "Buscar"
Me.Buscar_btn.UseVisualStyleBackColor = True
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(25, 64)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(57, 13)
Me.Label1.TabIndex = 1
Me.Label1.Text = "Certificado"
'
'CertificadoTX
'
Me.CertificadoTX.Location = New System.Drawing.Point(88, 61)
Me.CertificadoTX.Name = "CertificadoTX"
Me.CertificadoTX.Size = New System.Drawing.Size(370, 20)
Me.CertificadoTX.TabIndex = 2
'
'OpenFileDialog1
'
Me.OpenFileDialog1.FileName = "OpenFileDialog1"
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(25, 90)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(34, 13)
Me.Label2.TabIndex = 1
Me.Label2.Text = "Clave"
'
'ClaveTX
'
Me.ClaveTX.Location = New System.Drawing.Point(88, 87)
Me.ClaveTX.Name = "ClaveTX"
Me.ClaveTX.Size = New System.Drawing.Size(370, 20)
Me.ClaveTX.TabIndex = 2
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Location = New System.Drawing.Point(25, 116)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(45, 13)
Me.Label3.TabIndex = 1
Me.Label3.Text = "Servicio"
'
'LoginBtn
'
Me.LoginBtn.Location = New System.Drawing.Point(89, 202)
Me.LoginBtn.Name = "LoginBtn"
Me.LoginBtn.Size = New System.Drawing.Size(83, 41)
Me.LoginBtn.TabIndex = 3
Me.LoginBtn.Text = "Login"
Me.LoginBtn.UseVisualStyleBackColor = True
'
'VerTokenBtn
'
Me.VerTokenBtn.Location = New System.Drawing.Point(207, 202)
Me.VerTokenBtn.Name = "VerTokenBtn"
Me.VerTokenBtn.Size = New System.Drawing.Size(83, 41)
Me.VerTokenBtn.TabIndex = 3
Me.VerTokenBtn.Text = "Ver Token"
Me.VerTokenBtn.UseVisualStyleBackColor = True
'
'VerSignBtn
'
Me.VerSignBtn.Location = New System.Drawing.Point(296, 202)
Me.VerSignBtn.Name = "VerSignBtn"
Me.VerSignBtn.Size = New System.Drawing.Size(83, 41)
Me.VerSignBtn.TabIndex = 3
Me.VerSignBtn.Text = "Ver Sign"
Me.VerSignBtn.UseVisualStyleBackColor = True
'
'VerFullRequestBtn
'
Me.VerFullRequestBtn.Location = New System.Drawing.Point(412, 202)
Me.VerFullRequestBtn.Name = "VerFullRequestBtn"
Me.VerFullRequestBtn.Size = New System.Drawing.Size(83, 41)
Me.VerFullRequestBtn.TabIndex = 3
Me.VerFullRequestBtn.Text = "Ver Login Request"
Me.VerFullRequestBtn.UseVisualStyleBackColor = True
'
'VerFullResponseBtn
'
Me.VerFullResponseBtn.Location = New System.Drawing.Point(515, 202)
Me.VerFullResponseBtn.Name = "VerFullResponseBtn"
Me.VerFullResponseBtn.Size = New System.Drawing.Size(83, 41)
Me.VerFullResponseBtn.TabIndex = 3
Me.VerFullResponseBtn.Text = "Ver Login Response"
Me.VerFullResponseBtn.UseVisualStyleBackColor = True
'
'WSFE_BTN
'
Me.WSFE_BTN.Location = New System.Drawing.Point(89, 270)
Me.WSFE_BTN.Name = "WSFE_BTN"
Me.WSFE_BTN.Size = New System.Drawing.Size(294, 58)
Me.WSFE_BTN.TabIndex = 3
Me.WSFE_BTN.Text = "Facturacion Electronica WSFE"
Me.WSFE_BTN.UseVisualStyleBackColor = True
'
'testing_rb
'
Me.testing_rb.AutoSize = True
Me.testing_rb.Checked = True
Me.testing_rb.Location = New System.Drawing.Point(89, 139)
Me.testing_rb.Name = "testing_rb"
Me.testing_rb.Size = New System.Drawing.Size(60, 17)
Me.testing_rb.TabIndex = 4
Me.testing_rb.TabStop = True
Me.testing_rb.Text = "Testing"
Me.testing_rb.UseVisualStyleBackColor = True
'
'produccion_rb
'
Me.produccion_rb.AutoSize = True
Me.produccion_rb.Location = New System.Drawing.Point(88, 162)
Me.produccion_rb.Name = "produccion_rb"
Me.produccion_rb.Size = New System.Drawing.Size(79, 17)
Me.produccion_rb.TabIndex = 4
Me.produccion_rb.TabStop = True
Me.produccion_rb.Text = "Produccion"
Me.produccion_rb.UseVisualStyleBackColor = True
'
'TestServerBTN
'
Me.TestServerBTN.Location = New System.Drawing.Point(523, 173)
Me.TestServerBTN.Name = "TestServerBTN"
Me.TestServerBTN.Size = New System.Drawing.Size(75, 23)
Me.TestServerBTN.TabIndex = 5
Me.TestServerBTN.Text = "Probar Servidor"
Me.TestServerBTN.UseVisualStyleBackColor = True
'
'FactObjTest
'
Me.FactObjTest.Location = New System.Drawing.Point(523, 270)
Me.FactObjTest.Name = "FactObjTest"
Me.FactObjTest.Size = New System.Drawing.Size(75, 58)
Me.FactObjTest.TabIndex = 6
Me.FactObjTest.Text = "Factura Obj Prueba"
Me.FactObjTest.UseVisualStyleBackColor = True
'
'ServicioTX
'
Me.ServicioTX.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.ServicioTX.FormattingEnabled = True
Me.ServicioTX.Items.AddRange(New Object() {"wsfe"})
Me.ServicioTX.Location = New System.Drawing.Point(88, 112)
Me.ServicioTX.Name = "ServicioTX"
Me.ServicioTX.Size = New System.Drawing.Size(291, 21)
Me.ServicioTX.TabIndex = 8
'
'Form1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(622, 340)
Me.Controls.Add(Me.ServicioTX)
Me.Controls.Add(Me.FactObjTest)
Me.Controls.Add(Me.TestServerBTN)
Me.Controls.Add(Me.produccion_rb)
Me.Controls.Add(Me.testing_rb)
Me.Controls.Add(Me.VerFullResponseBtn)
Me.Controls.Add(Me.VerFullRequestBtn)
Me.Controls.Add(Me.VerSignBtn)
Me.Controls.Add(Me.VerTokenBtn)
Me.Controls.Add(Me.WSFE_BTN)
Me.Controls.Add(Me.LoginBtn)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.ClaveTX)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.CertificadoTX)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.Buscar_btn)
Me.Name = "Form1"
Me.Text = "Login WSAA"
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents Buscar_btn As Button
Friend WithEvents Label1 As Label
Friend WithEvents CertificadoTX As TextBox
Friend WithEvents OpenFileDialog1 As OpenFileDialog
Friend WithEvents Label2 As Label
Friend WithEvents ClaveTX As TextBox
Friend WithEvents Label3 As Label
Friend WithEvents LoginBtn As Button
Friend WithEvents VerTokenBtn As Button
Friend WithEvents VerSignBtn As Button
Friend WithEvents VerFullRequestBtn As Button
Friend WithEvents VerFullResponseBtn As Button
Friend WithEvents WSFE_BTN As Button
Friend WithEvents testing_rb As RadioButton
Friend WithEvents produccion_rb As RadioButton
Friend WithEvents TestServerBTN As Button
Friend WithEvents FactObjTest As Button
Friend WithEvents ServicioTX As ComboBox
End Class

123
PrototipoAfip/Form1.resx Normal file
View File

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="OpenFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

81
PrototipoAfip/Form1.vb Normal file
View File

@ -0,0 +1,81 @@
Public Class Form1
Private Sub Buscar_btn_Click(sender As Object, e As EventArgs) Handles Buscar_btn.Click
If OpenFileDialog1.ShowDialog = DialogResult.OK Then
CertificadoTX.Text = OpenFileDialog1.FileName
End If
End Sub
Private Sub guardar_params()
My.Settings.def_cert = CertificadoTX.Text
My.Settings.def_pass = ClaveTX.Text
My.Settings.def_serv = ServicioTX.Text
My.Settings.def_url = url
My.Settings.Save()
End Sub
Private Sub cargar_params()
My.Settings.Reload()
CertificadoTX.Text = My.Settings.def_cert
ClaveTX.Text = My.Settings.def_pass
ServicioTX.Text = My.Settings.def_serv
url = My.Settings.def_url
End Sub
Private l As LoginClass
Private Sub LoginBtn_Click(sender As Object, e As EventArgs) Handles LoginBtn.Click
l = New LoginClass(ServicioTX.Text, url, CertificadoTX.Text, ClaveTX.Text)
l.hacerLogin()
guardar_params()
End Sub
Private Sub VerTokenBtn_Click(sender As Object, e As EventArgs) Handles VerTokenBtn.Click
LargeText.mostrarMensaje(l.Token)
End Sub
Private Sub VerSignBtn_Click(sender As Object, e As EventArgs) Handles VerSignBtn.Click
LargeText.mostrarMensaje(l.Sign)
End Sub
Private Sub VerFullRequestBtn_Click(sender As Object, e As EventArgs) Handles VerFullRequestBtn.Click
If l.XDocRequest Is Nothing Then Return
LargeText.mostrarMensaje(l.XDocRequest.ToString)
End Sub
Private Sub VerFullResponseBtn_Click(sender As Object, e As EventArgs) Handles VerFullResponseBtn.Click
If l.XDocResponse Is Nothing Then Return
LargeText.mostrarMensaje(l.XDocResponse.ToString)
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
cargar_params()
End Sub
Private Sub WSFE_BTN_Click(sender As Object, e As EventArgs) Handles WSFE_BTN.Click
FacturaForm.Login = l
FacturaForm.Show()
End Sub
Private url As String
Private Sub testing_rb_CheckedChanged(sender As Object, e As EventArgs) Handles testing_rb.CheckedChanged
url = "https://wsaahomo.afip.gov.ar/ws/services/LoginCms"
End Sub
Private Sub produccion_rb_CheckedChanged(sender As Object, e As EventArgs) Handles produccion_rb.CheckedChanged
url = "https://wsaa.afip.gov.ar/ws/services/LoginCms?wsdl"
End Sub
Private Sub TestServerBTN_Click(sender As Object, e As EventArgs) Handles TestServerBTN.Click
Dim s As New WSFEHOMO.Service
Dim f As WSFEHOMO.DummyResponse = s.FEDummy
MsgBox(String.Format("{0} - {1} - {2}", f.AppServer, f.AuthServer, f.DbServer))
End Sub
Private Sub FactObjTest_Click(sender As Object, e As EventArgs) Handles FactObjTest.Click
Dim f As New FacturaPrueba
f.Show()
End Sub
End Class

51
PrototipoAfip/LargeText.Designer.vb generated Normal file
View File

@ -0,0 +1,51 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class LargeText
Inherits System.Windows.Forms.Form
'Form reemplaza a Dispose para limpiar la lista de componentes.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Requerido por el Diseñador de Windows Forms
Private components As System.ComponentModel.IContainer
'NOTA: el Diseñador de Windows Forms necesita el siguiente procedimiento
'Se puede modificar usando el Diseñador de Windows Forms.
'No lo modifique con el editor de código.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.RichTextBox1 = New System.Windows.Forms.RichTextBox()
Me.SuspendLayout()
'
'RichTextBox1
'
Me.RichTextBox1.Dock = System.Windows.Forms.DockStyle.Fill
Me.RichTextBox1.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.RichTextBox1.Location = New System.Drawing.Point(0, 0)
Me.RichTextBox1.Name = "RichTextBox1"
Me.RichTextBox1.Size = New System.Drawing.Size(800, 481)
Me.RichTextBox1.TabIndex = 0
Me.RichTextBox1.Text = ""
'
'LargeText
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(800, 481)
Me.Controls.Add(Me.RichTextBox1)
Me.Name = "LargeText"
Me.Text = "LargeText"
Me.ResumeLayout(False)
End Sub
Friend WithEvents RichTextBox1 As RichTextBox
End Class

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,7 @@
Public Class LargeText
Public Shared Sub mostrarMensaje(s As String)
Dim f As New LargeText
f.RichTextBox1.Text = s
f.ShowDialog()
End Sub
End Class

136
PrototipoAfip/LoginClass.vb Normal file
View File

@ -0,0 +1,136 @@
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports System.Xml
Imports System.Net
Imports System.Security
Imports System.Security.Cryptography
Imports System.Security.Cryptography.Pkcs
Imports System.Security.Cryptography.X509Certificates
Imports System.IO
Imports System.Runtime.InteropServices
Public Class LoginClass
Private Shared _globalId As UInt32 = 0
Property serv As String
Property url As String
Private cert_path As String
Private clave As SecureString
Private XmlLoginTicketRequest As XmlDocument
Private XmlLoginTicketResponse As XmlDocument
Private uniqueId As UInt32
Property GenerationTime As DateTime
Property ExpirationTime As DateTime
ReadOnly Property Logeado As Boolean
Get
Return Not Token = ""
End Get
End Property
Public Property certificado As X509Certificate2
Property XDocRequest As XDocument
Property XDocResponse As XDocument
Public ReadOnly Property Token As String
Public ReadOnly Property Sign As String
Public Sub New(serv As String, url As String, cert_path As String, clave As String)
Me.serv = serv
Me.url = url
Me.cert_path = cert_path
Me.clave = New SecureString
For Each character As Char In clave
Me.clave.AppendChar(character)
Next
Me.clave.MakeReadOnly()
End Sub
Public Sub hacerLogin()
Dim cmsFirmadoBase64 As String
Dim loginTicketResponse As String
Dim uniqueIdNode As XmlNode
Dim generationTimeNode As XmlNode
Dim ExpirationTimeNode As XmlNode
Dim ServiceNode As XmlNode
Try
Me._globalId += 1
'Preparo el XML Request
XmlLoginTicketRequest = New XmlDocument
XMLLoader.loadTemplate(XmlLoginTicketRequest, "LoginTemplate")
uniqueIdNode = XmlLoginTicketRequest.SelectSingleNode("//uniqueId")
generationTimeNode = XmlLoginTicketRequest.SelectSingleNode("//generationTime")
ExpirationTimeNode = XmlLoginTicketRequest.SelectSingleNode("//expirationTime")
ServiceNode = XmlLoginTicketRequest.SelectSingleNode("//service")
generationTimeNode.InnerText = DateTime.Now.AddMinutes(-10).ToString("s")
ExpirationTimeNode.InnerText = DateTime.Now.AddMinutes(+10).ToString("s")
uniqueIdNode.InnerText = CStr(_globalId)
ServiceNode.InnerText = serv
'Obtenemos el Cert
certificado = New X509Certificate2
If clave.IsReadOnly Then
certificado.Import(File.ReadAllBytes(cert_path), clave, X509KeyStorageFlags.PersistKeySet)
Else
certificado.Import(File.ReadAllBytes(cert_path))
End If
Dim msgBytes As Byte() = Encoding.UTF8.GetBytes(XmlLoginTicketRequest.OuterXml)
'Firmamos
Dim infoContenido As New ContentInfo(msgBytes)
Dim cmsFirmado As New SignedCms(infoContenido)
Dim cmsFirmante As New CmsSigner(certificado)
cmsFirmante.IncludeOption = X509IncludeOption.EndCertOnly
cmsFirmado.ComputeSignature(cmsFirmante)
cmsFirmadoBase64 = Convert.ToBase64String(cmsFirmado.Encode())
'Hago el login
Dim servicio As New WSAA.LoginCMSService
servicio.Url = url
loginTicketResponse = servicio.loginCms(cmsFirmadoBase64)
'Analizamos la respuesta
XmlLoginTicketResponse = New XmlDocument
XmlLoginTicketResponse.LoadXml(loginTicketResponse)
_Token = XmlLoginTicketResponse.SelectSingleNode("//token").InnerText
_Sign = XmlLoginTicketResponse.SelectSingleNode("//sign").InnerText
Dim exStr = XmlLoginTicketResponse.SelectSingleNode("//expirationTime").InnerText
Dim genStr = XmlLoginTicketResponse.SelectSingleNode("//generationTime").InnerText
ExpirationTime = DateTime.Parse(exStr)
GenerationTime = DateTime.Parse(genStr)
XDocRequest = XDocument.Parse(XmlLoginTicketRequest.OuterXml)
XDocResponse = XDocument.Parse(XmlLoginTicketResponse.OuterXml)
MsgBox("Exito")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
End Class
Public Class XMLLoader
Public Shared Sub load(doc As XmlDocument, file As String)
doc.Load(Path.GetFullPath(Application.StartupPath & "\" & file & ".xml"))
End Sub
Public Shared Sub loadTemplate(doc As XmlDocument, file As String)
load(doc, "Templates\" & file)
End Sub
End Class

View File

@ -0,0 +1,38 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
'NOTE: This file is auto-generated; do not modify it directly. To make changes,
' or if you encounter build errors in this file, go to the Project Designer
' (go to Project Properties or double-click the My Project node in
' Solution Explorer), and make changes on the Application tab.
'
Partial Friend Class MyApplication
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Sub New()
MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
Me.IsSingleInstance = false
Me.EnableVisualStyles = true
Me.SaveMySettingsOnExit = true
Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
End Sub
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.PrototipoAfip.Form1
End Sub
End Class
End Namespace

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>true</MySubMain>
<MainForm>Form1</MainForm>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<ApplicationType>0</ApplicationType>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
</MyApplicationData>

View File

@ -0,0 +1,35 @@
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
' La información general de un ensamblado se controla mediante el siguiente
' conjunto de atributos. Cambie estos valores de atributo para modificar la información
' asociada con un ensamblado.
' Revisar los valores de los atributos del ensamblado
<Assembly: AssemblyTitle("PrototipoAfip")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("PrototipoAfip")>
<Assembly: AssemblyCopyright("Copyright © 2017")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
'El siguiente GUID sirve como id. de typelib si este proyecto se expone a COM.
<Assembly: Guid("14187a3d-9926-469f-9136-14ea185691ba")>
' La información de versión de un ensamblado consta de los cuatro valores siguientes:
'
' Versión principal
' Versión secundaria
' Número de compilación
' Revisión
'
' Puede especificar todos los valores o utilizar los números de compilación y de revisión predeterminados
' mediante el carácter '*', como se muestra a continuación:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.0.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>

View File

@ -0,0 +1,62 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My.Resources
'This class was auto-generated by the StronglyTypedResourceBuilder
'class via a tool like ResGen or Visual Studio.
'To add or remove a member, edit your .ResX file then rerun ResGen
'with the /str option, or rebuild your VS project.
'''<summary>
''' A strongly-typed resource class, for looking up localized strings, etc.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' Returns the cached ResourceManager instance used by this class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("PrototipoAfip.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Overrides the current thread's CurrentUICulture property for all
''' resource lookups using this strongly typed resource class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set(ByVal value As Global.System.Globalization.CultureInfo)
resourceCulture = value
End Set
End Property
End Module
End Namespace

View File

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,163 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Este código fue generado por una herramienta.
' Versión de runtime:4.0.30319.42000
'
' Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si
' se vuelve a generar el código.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.1.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
#Region "Funcionalidad para autoguardar My.Settings"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
Private Shared addedHandlerLockObject As New Object
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs)
If My.Application.SaveMySettingsOnExit Then
My.Settings.Save()
End If
End Sub
#End If
#End Region
Public Shared ReadOnly Property [Default]() As MySettings
Get
#If _MyType = "WindowsForms" Then
If Not addedHandler Then
SyncLock addedHandlerLockObject
If Not addedHandler Then
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
addedHandler = True
End If
End SyncLock
End If
#End If
Return defaultInstance
End Get
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("c:\cert.pfx")> _
Public Property def_cert() As String
Get
Return CType(Me("def_cert"),String)
End Get
Set
Me("def_cert") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("")> _
Public Property def_pass() As String
Get
Return CType(Me("def_pass"),String)
End Get
Set
Me("def_pass") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("https://wsaahomo.afip.gov.ar/ws/services/LoginCms?WSDL")> _
Public Property def_url() As String
Get
Return CType(Me("def_url"),String)
End Get
Set
Me("def_url") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("wsfe")> _
Public Property def_serv() As String
Get
Return CType(Me("def_serv"),String)
End Get
Set
Me("def_serv") = value
End Set
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.SpecialSettingAttribute(Global.System.Configuration.SpecialSetting.WebServiceUrl), _
Global.System.Configuration.DefaultSettingValueAttribute("https://wsaa.afip.gov.ar/ws/services/LoginCms")> _
Public ReadOnly Property PrototipoAfip_WSAA_LoginCMSService() As String
Get
Return CType(Me("PrototipoAfip_WSAA_LoginCMSService"),String)
End Get
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.SpecialSettingAttribute(Global.System.Configuration.SpecialSetting.WebServiceUrl), _
Global.System.Configuration.DefaultSettingValueAttribute("https://wswhomo.afip.gov.ar/wsfev1/service.asmx")> _
Public ReadOnly Property PrototipoAfip_WSFEHOMO_Service() As String
Get
Return CType(Me("PrototipoAfip_WSFEHOMO_Service"),String)
End Get
End Property
<Global.System.Configuration.UserScopedSettingAttribute(),
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(),
Global.System.Configuration.DefaultSettingValueAttribute("20075416526")>
Public Property def_cuit() As String
Get
Return CType(Me("def_cuit"), String)
End Get
Set
Me("def_cuit") = Value
End Set
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.SpecialSettingAttribute(Global.System.Configuration.SpecialSetting.WebServiceUrl), _
Global.System.Configuration.DefaultSettingValueAttribute("http://aws.afip.gov.ar/sr-padron/webservices/personaServiceA4")> _
Public ReadOnly Property PrototipoAfip_WSPSA4_PersonaServiceA4() As String
Get
Return CType(Me("PrototipoAfip_WSPSA4_PersonaServiceA4"),String)
End Get
End Property
End Class
End Namespace
Namespace My
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.PrototipoAfip.My.MySettings
Get
Return Global.PrototipoAfip.My.MySettings.Default
End Get
End Property
End Module
End Namespace

View File

@ -0,0 +1,30 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="My" GeneratedClassName="MySettings" UseMySettingsClassName="true">
<Profiles />
<Settings>
<Setting Name="def_cert" Type="System.String" Scope="User">
<Value Profile="(Default)">c:\cert.pfx</Value>
</Setting>
<Setting Name="def_pass" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="def_url" Type="System.String" Scope="User">
<Value Profile="(Default)">https://wsaahomo.afip.gov.ar/ws/services/LoginCms?WSDL</Value>
</Setting>
<Setting Name="def_serv" Type="System.String" Scope="User">
<Value Profile="(Default)">wsfe</Value>
</Setting>
<Setting Name="PrototipoAfip_WSAA_LoginCMSService" Type="(Web Service URL)" Scope="Application">
<Value Profile="(Default)">https://wsaa.afip.gov.ar/ws/services/LoginCms</Value>
</Setting>
<Setting Name="PrototipoAfip_WSFEHOMO_Service" Type="(Web Service URL)" Scope="Application">
<Value Profile="(Default)">https://wswhomo.afip.gov.ar/wsfev1/service.asmx</Value>
</Setting>
<Setting Name="def_cuit" Type="System.String" Scope="User">
<Value Profile="(Default)">20075416526</Value>
</Setting>
<Setting Name="PrototipoAfip_WSPSA4_PersonaServiceA4" Type="(Web Service URL)" Scope="Application">
<Value Profile="(Default)">http://aws.afip.gov.ar/sr-padron/webservices/personaServiceA4</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@ -0,0 +1,299 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{52B31B3F-4154-48B0-BF2F-5820FFF2CDC3}</ProjectGuid>
<OutputType>WinExe</OutputType>
<StartupObject>PrototipoAfip.My.MyApplication</StartupObject>
<RootNamespace>PrototipoAfip</RootNamespace>
<AssemblyName>PrototipoAfip</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>WindowsForms</MyType>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>PrototipoAfip.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>PrototipoAfip.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<ItemGroup>
<Reference Include="BarcodeLib.Barcode.WinForms">
<HintPath>E:\Proyectos\BarcodeLib_NETBarcode_Trial\BarcodeLib.Barcode.WinForms.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.EnterpriseServices" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.Web.Services" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Net.Http" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Drawing" />
<Import Include="System.Diagnostics" />
<Import Include="System.Windows.Forms" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
<Import Include="System.Threading.Tasks" />
</ItemGroup>
<ItemGroup>
<Compile Include="DetalleFactura.vb" />
<Compile Include="Factura.vb" />
<Compile Include="FacturaForm.Designer.vb">
<DependentUpon>FacturaForm.vb</DependentUpon>
</Compile>
<Compile Include="FacturaForm.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="FacturaPrueba.Designer.vb">
<DependentUpon>FacturaPrueba.vb</DependentUpon>
</Compile>
<Compile Include="FacturaPrueba.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.vb">
<DependentUpon>Form1.vb</DependentUpon>
<SubType>Form</SubType>
</Compile>
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
</Compile>
<Compile Include="LargeText.Designer.vb">
<DependentUpon>LargeText.vb</DependentUpon>
</Compile>
<Compile Include="LargeText.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="LoginClass.vb" />
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<Compile Include="Web References\WSAA\Reference.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Reference.map</DependentUpon>
</Compile>
<Compile Include="Web References\WSFEHOMO\Reference.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Reference.map</DependentUpon>
</Compile>
<Compile Include="Web References\WSPSA4\Reference.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Reference.map</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="FacturaForm.resx">
<DependentUpon>FacturaForm.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FacturaPrueba.resx">
<DependentUpon>FacturaPrueba.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="LargeText.resx">
<DependentUpon>LargeText.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
<None Include="App.config" />
<None Include="Web References\WSAA\LoginCms.wsdl" />
<None Include="Web References\WSAA\Reference.map">
<Generator>MSDiscoCodeGenerator</Generator>
<LastGenOutput>Reference.vb</LastGenOutput>
</None>
<None Include="Web References\WSFEHOMO\CbteTipoResponse.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSFEHOMO\ConceptoTipoResponse.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSFEHOMO\DocTipoResponse.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSFEHOMO\DummyResponse.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSFEHOMO\FECAEAGetResponse.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSFEHOMO\FECAEAResponse.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSFEHOMO\FECAEASinMovConsResponse.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSFEHOMO\FECAEASinMovResponse.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSFEHOMO\FECAEResponse.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSFEHOMO\FECompConsultaResponse.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSFEHOMO\FECotizacionResponse.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSFEHOMO\FEPaisResponse.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSFEHOMO\FEPtoVentaResponse.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSFEHOMO\FERecuperaLastCbteResponse.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSFEHOMO\FERegXReqResponse.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSFEHOMO\FETributoResponse.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSFEHOMO\IvaTipoResponse.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSFEHOMO\MonedaResponse.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSFEHOMO\OpcionalTipoResponse.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSFEHOMO\Reference.map">
<Generator>MSDiscoCodeGenerator</Generator>
<LastGenOutput>Reference.vb</LastGenOutput>
</None>
<None Include="Web References\WSFEHOMO\service.wsdl" />
<None Include="Web References\WSPSA4\dummyReturn.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSPSA4\personaReturn.datasource">
<DependentUpon>Reference.map</DependentUpon>
</None>
<None Include="Web References\WSPSA4\PersonaServiceA4.wsdl" />
<None Include="Web References\WSPSA4\Reference.map">
<Generator>MSDiscoCodeGenerator</Generator>
<LastGenOutput>Reference.vb</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="Templates\LoginTemplate.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<WebReferences Include="Web References\" />
</ItemGroup>
<ItemGroup>
<WebReferenceUrl Include="https://aws.afip.gov.ar/sr-padron/webservices/personaServiceA4%3fWSDL">
<UrlBehavior>Dynamic</UrlBehavior>
<RelPath>Web References\WSPSA4\</RelPath>
<UpdateFromURL>https://aws.afip.gov.ar/sr-padron/webservices/personaServiceA4%3fWSDL</UpdateFromURL>
<ServiceLocationURL>
</ServiceLocationURL>
<CachedDynamicPropName>
</CachedDynamicPropName>
<CachedAppSettingsObjectName>MySettings</CachedAppSettingsObjectName>
<CachedSettingsPropName>PrototipoAfip_WSPSA4_PersonaServiceA4</CachedSettingsPropName>
</WebReferenceUrl>
<WebReferenceUrl Include="https://wsaa.afip.gov.ar/ws/services/LoginCms%3fwsdl">
<UrlBehavior>Dynamic</UrlBehavior>
<RelPath>Web References\WSAA\</RelPath>
<UpdateFromURL>https://wsaa.afip.gov.ar/ws/services/LoginCms%3fwsdl</UpdateFromURL>
<ServiceLocationURL>
</ServiceLocationURL>
<CachedDynamicPropName>
</CachedDynamicPropName>
<CachedAppSettingsObjectName>MySettings</CachedAppSettingsObjectName>
<CachedSettingsPropName>PrototipoAfip_WSAA_LoginCMSService</CachedSettingsPropName>
</WebReferenceUrl>
<WebReferenceUrl Include="https://wswhomo.afip.gov.ar/wsfev1/service.asmx%3fWSDL">
<UrlBehavior>Dynamic</UrlBehavior>
<RelPath>Web References\WSFEHOMO\</RelPath>
<UpdateFromURL>https://wswhomo.afip.gov.ar/wsfev1/service.asmx%3fWSDL</UpdateFromURL>
<ServiceLocationURL>
</ServiceLocationURL>
<CachedDynamicPropName>
</CachedDynamicPropName>
<CachedAppSettingsObjectName>MySettings</CachedAppSettingsObjectName>
<CachedSettingsPropName>PrototipoAfip_WSFEHOMO_Service</CachedSettingsPropName>
</WebReferenceUrl>
</ItemGroup>
<ItemGroup>
<WCFMetadata Include="Connected Services\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8" ?>
<loginTicketRequest>
<header>
<uniqueId></uniqueId>
<generationTime></generationTime>
<expirationTime></expirationTime>
</header>
<service></service>
</loginTicketRequest>

View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:intf="https://wsaa.afip.gov.ar/ws/services/LoginCms" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns1="http://wsaa.view.sua.dvadac.desein.afip.gov" xmlns:impl="https://wsaa.afip.gov.ar/ws/services/LoginCms" targetNamespace="https://wsaa.afip.gov.ar/ws/services/LoginCms" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://wsaa.view.sua.dvadac.desein.afip.gov">
<xsd:import namespace="https://wsaa.afip.gov.ar/ws/services/LoginCms" />
<xsd:element name="loginCms">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="in0" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="loginCmsResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="loginCmsReturn" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="https://wsaa.afip.gov.ar/ws/services/LoginCms">
<xsd:complexType name="LoginFault">
<xsd:sequence />
</xsd:complexType>
<xsd:element name="fault" type="impl:LoginFault" />
</xsd:schema>
</wsdl:types>
<wsdl:message name="LoginFault">
<wsdl:part name="fault" element="impl:fault" />
</wsdl:message>
<wsdl:message name="loginCmsResponse">
<wsdl:part name="parameters" element="tns1:loginCmsResponse" />
</wsdl:message>
<wsdl:message name="loginCmsRequest">
<wsdl:part name="parameters" element="tns1:loginCms" />
</wsdl:message>
<wsdl:portType name="LoginCMS">
<wsdl:operation name="loginCms">
<wsdl:input name="loginCmsRequest" message="impl:loginCmsRequest" />
<wsdl:output name="loginCmsResponse" message="impl:loginCmsResponse" />
<wsdl:fault name="LoginFault" message="impl:LoginFault" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="LoginCmsSoapBinding" type="impl:LoginCMS">
<wsdlsoap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="loginCms">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="loginCmsRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="loginCmsResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
<wsdl:fault name="LoginFault">
<wsdlsoap:fault use="literal" name="LoginFault" namespace="" />
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="LoginCMSService">
<wsdl:port name="LoginCms" binding="impl:LoginCmsSoapBinding">
<wsdlsoap:address location="https://wsaa.afip.gov.ar/ws/services/LoginCms" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Results>
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="https://wsaa.afip.gov.ar/ws/services/LoginCms?wsdl" filename="LoginCms.wsdl" />
</Results>
</DiscoveryClientResultsFile>

View File

@ -0,0 +1,149 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Este código fue generado por una herramienta.
' Versión de runtime:4.0.30319.42000
'
' Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si
' se vuelve a generar el código.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict Off
Option Explicit On
Imports System
Imports System.ComponentModel
Imports System.Diagnostics
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Xml.Serialization
'
'Microsoft.VSDesigner generó automáticamente este código fuente, versión=4.0.30319.42000.
'
Namespace WSAA
'''<remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0"), _
System.Diagnostics.DebuggerStepThroughAttribute(), _
System.ComponentModel.DesignerCategoryAttribute("code"), _
System.Web.Services.WebServiceBindingAttribute(Name:="LoginCmsSoapBinding", [Namespace]:="https://wsaa.afip.gov.ar/ws/services/LoginCms")> _
Partial Public Class LoginCMSService
Inherits System.Web.Services.Protocols.SoapHttpClientProtocol
Private loginCmsOperationCompleted As System.Threading.SendOrPostCallback
Private useDefaultCredentialsSetExplicitly As Boolean
'''<remarks/>
Public Sub New()
MyBase.New
Me.Url = Global.PrototipoAfip.My.MySettings.Default.PrototipoAfip_WSAA_LoginCMSService
If (Me.IsLocalFileSystemWebService(Me.Url) = true) Then
Me.UseDefaultCredentials = true
Me.useDefaultCredentialsSetExplicitly = false
Else
Me.useDefaultCredentialsSetExplicitly = true
End If
End Sub
Public Shadows Property Url() As String
Get
Return MyBase.Url
End Get
Set
If (((Me.IsLocalFileSystemWebService(MyBase.Url) = true) _
AndAlso (Me.useDefaultCredentialsSetExplicitly = false)) _
AndAlso (Me.IsLocalFileSystemWebService(value) = false)) Then
MyBase.UseDefaultCredentials = false
End If
MyBase.Url = value
End Set
End Property
Public Shadows Property UseDefaultCredentials() As Boolean
Get
Return MyBase.UseDefaultCredentials
End Get
Set
MyBase.UseDefaultCredentials = value
Me.useDefaultCredentialsSetExplicitly = true
End Set
End Property
'''<remarks/>
Public Event loginCmsCompleted As loginCmsCompletedEventHandler
'''<remarks/>
<System.Web.Services.Protocols.SoapDocumentMethodAttribute("", RequestNamespace:="http://wsaa.view.sua.dvadac.desein.afip.gov", ResponseNamespace:="http://wsaa.view.sua.dvadac.desein.afip.gov", Use:=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle:=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)> _
Public Function loginCms(ByVal in0 As String) As <System.Xml.Serialization.XmlElementAttribute("loginCmsReturn")> String
Dim results() As Object = Me.Invoke("loginCms", New Object() {in0})
Return CType(results(0),String)
End Function
'''<remarks/>
Public Overloads Sub loginCmsAsync(ByVal in0 As String)
Me.loginCmsAsync(in0, Nothing)
End Sub
'''<remarks/>
Public Overloads Sub loginCmsAsync(ByVal in0 As String, ByVal userState As Object)
If (Me.loginCmsOperationCompleted Is Nothing) Then
Me.loginCmsOperationCompleted = AddressOf Me.OnloginCmsOperationCompleted
End If
Me.InvokeAsync("loginCms", New Object() {in0}, Me.loginCmsOperationCompleted, userState)
End Sub
Private Sub OnloginCmsOperationCompleted(ByVal arg As Object)
If (Not (Me.loginCmsCompletedEvent) Is Nothing) Then
Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs)
RaiseEvent loginCmsCompleted(Me, New loginCmsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState))
End If
End Sub
'''<remarks/>
Public Shadows Sub CancelAsync(ByVal userState As Object)
MyBase.CancelAsync(userState)
End Sub
Private Function IsLocalFileSystemWebService(ByVal url As String) As Boolean
If ((url Is Nothing) _
OrElse (url Is String.Empty)) Then
Return false
End If
Dim wsUri As System.Uri = New System.Uri(url)
If ((wsUri.Port >= 1024) _
AndAlso (String.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) = 0)) Then
Return true
End If
Return false
End Function
End Class
'''<remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")> _
Public Delegate Sub loginCmsCompletedEventHandler(ByVal sender As Object, ByVal e As loginCmsCompletedEventArgs)
'''<remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0"), _
System.Diagnostics.DebuggerStepThroughAttribute(), _
System.ComponentModel.DesignerCategoryAttribute("code")> _
Partial Public Class loginCmsCompletedEventArgs
Inherits System.ComponentModel.AsyncCompletedEventArgs
Private results() As Object
Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object)
MyBase.New(exception, cancelled, userState)
Me.results = results
End Sub
'''<remarks/>
Public ReadOnly Property Result() As String
Get
Me.RaiseExceptionIfNecessary
Return CType(Me.results(0),String)
End Get
End Property
End Class
End Namespace

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="CbteTipoResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSFEHOMO.CbteTipoResponse</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="ConceptoTipoResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSFEHOMO.ConceptoTipoResponse</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="DocTipoResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSFEHOMO.DocTipoResponse</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="DummyResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSFEHOMO.DummyResponse</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="FECAEAGetResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSFEHOMO.FECAEAGetResponse</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="FECAEAResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSFEHOMO.FECAEAResponse</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="FECAEASinMovConsResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSFEHOMO.FECAEASinMovConsResponse</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="FECAEASinMovResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSFEHOMO.FECAEASinMovResponse</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="FECAEResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSFEHOMO.FECAEResponse</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="FECompConsultaResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSFEHOMO.FECompConsultaResponse</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="FECotizacionResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSFEHOMO.FECotizacionResponse</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="FEPaisResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSFEHOMO.FEPaisResponse</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="FEPtoVentaResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSFEHOMO.FEPtoVentaResponse</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="FERecuperaLastCbteResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSFEHOMO.FERecuperaLastCbteResponse</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="FERegXReqResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSFEHOMO.FERegXReqResponse</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="FETributoResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSFEHOMO.FETributoResponse</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="IvaTipoResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSFEHOMO.IvaTipoResponse</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="MonedaResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSFEHOMO.MonedaResponse</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="OpcionalTipoResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSFEHOMO.OpcionalTipoResponse</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Results>
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="https://wswhomo.afip.gov.ar/wsfev1/service.asmx?WSDL" filename="service.wsdl" />
</Results>
</DiscoveryClientResultsFile>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,222 @@
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://a4.soap.ws.server.puc.sr/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" name="PersonaServiceA4" targetNamespace="http://a4.soap.ws.server.puc.sr/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<xs:schema elementFormDefault="unqualified" targetNamespace="http://a4.soap.ws.server.puc.sr/" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="dummy" type="tns:dummy" />
<xs:element name="dummyResponse" type="tns:dummyResponse" />
<xs:element name="getPersona" type="tns:getPersona" />
<xs:element name="getPersonaResponse" type="tns:getPersonaResponse" />
<xs:complexType name="dummy">
<xs:sequence />
</xs:complexType>
<xs:complexType name="dummyResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:dummyReturn" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="dummyReturn">
<xs:sequence>
<xs:element minOccurs="0" name="appserver" type="xs:string" />
<xs:element minOccurs="0" name="authserver" type="xs:string" />
<xs:element minOccurs="0" name="dbserver" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="getPersona">
<xs:sequence>
<xs:element name="token" type="xs:string" />
<xs:element name="sign" type="xs:string" />
<xs:element name="cuitRepresentada" type="xs:long" />
<xs:element name="idPersona" type="xs:long" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="getPersonaResponse">
<xs:sequence>
<xs:element minOccurs="0" name="personaReturn" type="tns:personaReturn" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="personaReturn">
<xs:sequence>
<xs:element minOccurs="0" name="metadata" type="tns:metadata" />
<xs:element minOccurs="0" name="persona" type="tns:persona" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="metadata">
<xs:sequence>
<xs:element minOccurs="0" name="fechaHora" type="xs:dateTime" />
<xs:element minOccurs="0" name="servidor" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="persona">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="actividad" nillable="true" type="tns:actividad" />
<xs:element minOccurs="0" name="apellido" type="xs:string" />
<xs:element minOccurs="0" name="cantidadSociosEmpresaMono" type="xs:int" />
<xs:element minOccurs="0" maxOccurs="unbounded" name="categoria" nillable="true" type="tns:categoria" />
<xs:element minOccurs="0" maxOccurs="unbounded" name="claveInactivaAsociada" nillable="true" type="xs:long" />
<xs:element minOccurs="0" name="dependencia" type="tns:dependencia" />
<xs:element minOccurs="0" maxOccurs="unbounded" name="domicilio" nillable="true" type="tns:domicilio" />
<xs:element minOccurs="0" maxOccurs="unbounded" name="email" nillable="true" type="tns:email" />
<xs:element minOccurs="0" name="estadoClave" type="xs:string" />
<xs:element minOccurs="0" name="fechaContratoSocial" type="xs:dateTime" />
<xs:element minOccurs="0" name="fechaFallecimiento" type="xs:dateTime" />
<xs:element minOccurs="0" name="fechaInscripcion" type="xs:dateTime" />
<xs:element minOccurs="0" name="fechaJubilado" type="xs:dateTime" />
<xs:element minOccurs="0" name="fechaNacimiento" type="xs:dateTime" />
<xs:element minOccurs="0" name="fechaVencimientoMigracion" type="xs:dateTime" />
<xs:element minOccurs="0" name="formaJuridica" type="xs:string" />
<xs:element minOccurs="0" name="idPersona" type="xs:long" />
<xs:element minOccurs="0" maxOccurs="unbounded" name="impuesto" nillable="true" type="tns:impuesto" />
<xs:element minOccurs="0" name="leyJubilacion" type="xs:int" />
<xs:element minOccurs="0" name="localidadInscripcion" type="xs:string" />
<xs:element minOccurs="0" name="mesCierre" type="xs:int" />
<xs:element minOccurs="0" name="nombre" type="xs:string" />
<xs:element minOccurs="0" name="numeroDocumento" type="xs:string" />
<xs:element minOccurs="0" name="numeroInscripcion" type="xs:long" />
<xs:element minOccurs="0" name="organismoInscripcion" type="xs:string" />
<xs:element minOccurs="0" name="organismoOriginante" type="xs:string" />
<xs:element minOccurs="0" name="porcentajeCapitalNacional" type="xs:double" />
<xs:element minOccurs="0" name="provinciaInscripcion" type="xs:string" />
<xs:element minOccurs="0" name="razonSocial" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="unbounded" name="regimen" nillable="true" type="tns:regimen" />
<xs:element minOccurs="0" maxOccurs="unbounded" name="relacion" nillable="true" type="tns:relacion" />
<xs:element minOccurs="0" name="sexo" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="unbounded" name="telefono" nillable="true" type="tns:telefono" />
<xs:element minOccurs="0" name="tipoClave" type="xs:string" />
<xs:element minOccurs="0" name="tipoDocumento" type="xs:string" />
<xs:element minOccurs="0" name="tipoOrganismoOriginante" type="xs:string" />
<xs:element minOccurs="0" name="tipoPersona" type="xs:string" />
<xs:element minOccurs="0" name="tipoResidencia" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="actividad">
<xs:sequence>
<xs:element minOccurs="0" name="descripcionActividad" type="xs:string" />
<xs:element minOccurs="0" name="idActividad" type="xs:long" />
<xs:element minOccurs="0" name="nomenclador" type="xs:int" />
<xs:element minOccurs="0" name="orden" type="xs:int" />
<xs:element minOccurs="0" name="periodo" type="xs:int" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="categoria">
<xs:sequence>
<xs:element minOccurs="0" name="descripcionCategoria" type="xs:string" />
<xs:element minOccurs="0" name="estado" type="xs:string" />
<xs:element minOccurs="0" name="idCategoria" type="xs:int" />
<xs:element minOccurs="0" name="idImpuesto" type="xs:int" />
<xs:element minOccurs="0" name="periodo" type="xs:int" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="dependencia">
<xs:sequence>
<xs:element minOccurs="0" name="descripcionDependencia" type="xs:string" />
<xs:element minOccurs="0" name="idDependencia" type="xs:int" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="domicilio">
<xs:sequence>
<xs:element minOccurs="0" name="codPostal" type="xs:string" />
<xs:element minOccurs="0" name="datoAdicional" type="xs:string" />
<xs:element minOccurs="0" name="descripcionProvincia" type="xs:string" />
<xs:element minOccurs="0" name="direccion" type="xs:string" />
<xs:element minOccurs="0" name="idProvincia" type="xs:int" />
<xs:element minOccurs="0" name="localidad" type="xs:string" />
<xs:element minOccurs="0" name="tipoDatoAdicional" type="xs:string" />
<xs:element minOccurs="0" name="tipoDomicilio" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="email">
<xs:sequence>
<xs:element minOccurs="0" name="direccion" type="xs:string" />
<xs:element minOccurs="0" name="estado" type="xs:string" />
<xs:element minOccurs="0" name="tipoEmail" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="impuesto">
<xs:sequence>
<xs:element minOccurs="0" name="descripcionImpuesto" type="xs:string" />
<xs:element minOccurs="0" name="diaPeriodo" type="xs:int" />
<xs:element minOccurs="0" name="estado" type="xs:string" />
<xs:element minOccurs="0" name="ffInscripcion" type="xs:dateTime" />
<xs:element minOccurs="0" name="idImpuesto" type="xs:int" />
<xs:element minOccurs="0" name="periodo" type="xs:int" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="regimen">
<xs:sequence>
<xs:element minOccurs="0" name="descripcionRegimen" type="xs:string" />
<xs:element minOccurs="0" name="diaPeriodo" type="xs:int" />
<xs:element minOccurs="0" name="estado" type="xs:string" />
<xs:element minOccurs="0" name="idImpuesto" type="xs:int" />
<xs:element minOccurs="0" name="idRegimen" type="xs:int" />
<xs:element minOccurs="0" name="periodo" type="xs:int" />
<xs:element minOccurs="0" name="tipoRegimen" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="relacion">
<xs:sequence>
<xs:element minOccurs="0" name="ffRelacion" type="xs:dateTime" />
<xs:element minOccurs="0" name="ffVencimiento" type="xs:dateTime" />
<xs:element minOccurs="0" name="idPersona" type="xs:long" />
<xs:element minOccurs="0" name="idPersonaAsociada" type="xs:long" />
<xs:element minOccurs="0" name="subtipoRelacion" type="xs:string" />
<xs:element minOccurs="0" name="tipoRelacion" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="telefono">
<xs:sequence>
<xs:element minOccurs="0" name="numero" type="xs:long" />
<xs:element minOccurs="0" name="tipoLinea" type="xs:string" />
<xs:element minOccurs="0" name="tipoTelefono" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="getPersonaResponse">
<wsdl:part name="parameters" element="tns:getPersonaResponse" />
</wsdl:message>
<wsdl:message name="getPersona">
<wsdl:part name="parameters" element="tns:getPersona" />
</wsdl:message>
<wsdl:message name="dummyResponse">
<wsdl:part name="parameters" element="tns:dummyResponse" />
</wsdl:message>
<wsdl:message name="dummy">
<wsdl:part name="parameters" element="tns:dummy" />
</wsdl:message>
<wsdl:portType name="PersonaServiceA4">
<wsdl:operation name="dummy">
<wsdl:input name="dummy" message="tns:dummy" />
<wsdl:output name="dummyResponse" message="tns:dummyResponse" />
</wsdl:operation>
<wsdl:operation name="getPersona">
<wsdl:input name="getPersona" message="tns:getPersona" />
<wsdl:output name="getPersonaResponse" message="tns:getPersonaResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="PersonaServiceA4SoapBinding" type="tns:PersonaServiceA4">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="dummy">
<soap:operation soapAction="" style="document" />
<wsdl:input name="dummy">
<soap:body use="literal" />
</wsdl:input>
<wsdl:output name="dummyResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getPersona">
<soap:operation soapAction="" style="document" />
<wsdl:input name="getPersona">
<soap:body use="literal" />
</wsdl:input>
<wsdl:output name="getPersonaResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="PersonaServiceA4">
<wsdl:port name="PersonaServiceA4Port" binding="tns:PersonaServiceA4SoapBinding">
<soap:address location="http://aws.afip.gov.ar/sr-padron/webservices/personaServiceA4" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Results>
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="https://aws.afip.gov.ar/sr-padron/webservices/personaServiceA4?WSDL" filename="PersonaServiceA4.wsdl" />
</Results>
</DiscoveryClientResultsFile>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="dummyReturn" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSPSA4.dummyReturn, Web References.WSPSA4.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="personaReturn" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>PrototipoAfip.WSPSA4.personaReturn, Web References.WSPSA4.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

Binary file not shown.

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="PrototipoAfip.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="PrototipoAfip.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<userSettings>
<PrototipoAfip.My.MySettings>
<setting name="def_cert" serializeAs="String">
<value>c:\cert.pfx</value>
</setting>
<setting name="def_pass" serializeAs="String">
<value />
</setting>
<setting name="def_url" serializeAs="String">
<value>https://wsaahomo.afip.gov.ar/ws/services/LoginCms?WSDL</value>
</setting>
<setting name="def_serv" serializeAs="String">
<value>wsfe</value>
</setting>
<setting name="def_cuit" serializeAs="String">
<value>20079870626</value>
</setting>
</PrototipoAfip.My.MySettings>
</userSettings>
<system.serviceModel>
<bindings />
<client />
</system.serviceModel>
<applicationSettings>
<PrototipoAfip.My.MySettings>
<setting name="PrototipoAfip_WSAA_LoginCMSService" serializeAs="String">
<value>https://wsaa.afip.gov.ar/ws/services/LoginCms</value>
</setting>
<setting name="PrototipoAfip_WSFEHOMO_Service" serializeAs="String">
<value>https://wswhomo.afip.gov.ar/wsfev1/service.asmx</value>
</setting>
<setting name="PrototipoAfip_WSPSA4_PersonaServiceA4" serializeAs="String">
<value>http://aws.afip.gov.ar/sr-padron/webservices/personaServiceA4</value>
</setting>
</PrototipoAfip.My.MySettings>
</applicationSettings>
</configuration>

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8" ?>
<loginTicketRequest>
<header>
<uniqueId></uniqueId>
<generationTime></generationTime>
<expirationTime></expirationTime>
</header>
<service></service>
</loginTicketRequest>

View File

@ -0,0 +1 @@
364b612a606f164405cf4a62c9a211b2d2799e37

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,16 @@
C:\Users\Guille\documents\visual studio 2017\Projects\PrototipoAfip\PrototipoAfip\obj\Debug\PrototipoAfip.FacturaForm.resources
C:\Users\Guille\documents\visual studio 2017\Projects\PrototipoAfip\PrototipoAfip\obj\Debug\PrototipoAfip.Form1.resources
C:\Users\Guille\documents\visual studio 2017\Projects\PrototipoAfip\PrototipoAfip\obj\Debug\PrototipoAfip.LargeText.resources
C:\Users\Guille\documents\visual studio 2017\Projects\PrototipoAfip\PrototipoAfip\obj\Debug\PrototipoAfip.Resources.resources
C:\Users\Guille\documents\visual studio 2017\Projects\PrototipoAfip\PrototipoAfip\obj\Debug\PrototipoAfip.vbproj.GenerateResource.Cache
C:\Users\Guille\documents\visual studio 2017\Projects\PrototipoAfip\PrototipoAfip\bin\Debug\Templates\LoginTemplate.xml
C:\Users\Guille\documents\visual studio 2017\Projects\PrototipoAfip\PrototipoAfip\bin\Debug\PrototipoAfip.exe.config
C:\Users\Guille\documents\visual studio 2017\Projects\PrototipoAfip\PrototipoAfip\bin\Debug\PrototipoAfip.exe
C:\Users\Guille\documents\visual studio 2017\Projects\PrototipoAfip\PrototipoAfip\bin\Debug\PrototipoAfip.pdb
C:\Users\Guille\documents\visual studio 2017\Projects\PrototipoAfip\PrototipoAfip\bin\Debug\PrototipoAfip.xml
C:\Users\Guille\documents\visual studio 2017\Projects\PrototipoAfip\PrototipoAfip\obj\Debug\PrototipoAfip.exe
C:\Users\Guille\documents\visual studio 2017\Projects\PrototipoAfip\PrototipoAfip\obj\Debug\PrototipoAfip.xml
C:\Users\Guille\documents\visual studio 2017\Projects\PrototipoAfip\PrototipoAfip\obj\Debug\PrototipoAfip.pdb
C:\Users\Guille\Documents\Visual Studio 2017\Projects\PrototipoAfip\PrototipoAfip\obj\Debug\PrototipoAfip.vbprojResolveAssemblyReference.cache
C:\Users\Guille\Documents\Visual Studio 2017\Projects\PrototipoAfip\PrototipoAfip\bin\Debug\BarcodeLib.Barcode.WinForms.dll
C:\Users\Guille\Documents\Visual Studio 2017\Projects\PrototipoAfip\PrototipoAfip\obj\Debug\PrototipoAfip.FacturaPrueba.resources

File diff suppressed because it is too large Load Diff