viernes, 27 de abril de 2018

Sobrecarga

Public Function funcion(ByVal x As String, ByVal y As String) As String
        Return 0
    End Function

Public Function funcion(ByVal x As String) As String
        Return 0
    End Function

Check conexión internet

Public Function coneccionInternet() As Boolean
        Dim resp As Boolean = False
        Dim url As String = "http://clients3.google.com/generate_204"
        Try
            Using client = New WebClient() ' Imports system.net
                Using client.OpenRead(url)
                    'resp = True
                    Return True
                End Using
            End Using
        Catch ex As Exception
        End Try
        Return False
    End Function


fuente

Lista de elementos no repetidos

Dim p As New HashSet(Of Integer)
p.Add()

Declarar array en tiempo de ejecución

Dim array() As Integer = New Integer(9) {}

jueves, 26 de abril de 2018

miércoles, 25 de abril de 2018

Obtener el día anterior; fecha

Dim diaAnterior As DateTime = Now.ToString("dd-MM-yyyy")
        diaAnterior = diaAnterior.AddDays(-1)
        MessageBox.Show(diaAnterior.ToString("dd-MM-yyyy"))

Ejemplo 2
Dim diaAnterior As String = (Convert.ToDateTime(Now.ToString("dd-MM-yyyy")).AddDays(-1)).ToString("dd-MM-yyyy")

Ejemplo 3
Dim diaAnterior As String = Now.AddDays(-1).ToString("dd-MM-yyyy")

Ejemplo 4
Dim ayer As String = DateTime.Today.AddDays(-1).ToString("dd-MM-yyyy")

Buscar elemento dentro de un array

Public Function findStrDB(ByVal strConex() As String) As String
        Return Array.Find(strConex, Function(s) s.ToString.Contains("Initial") OrElse _
                                        s.ToString.Contains("Catalog") OrElse _
                                        s.ToString.Contains("initial") OrElse _
                                        s.ToString.Contains("catalog") OrElse _
                                        s.ToString.Contains("INITIAL") OrElse _
                                        s.ToString.Contains("CATALOG"))
    End Function

martes, 24 de abril de 2018

Obtener ruta de la aplicación y línea de comandos

My.Application.Info.DirectoryPath & "\" & "archivo.xml"
My.Application.CommandLineArgs(0)

Transformar archivo a base64

Dim bytefile As Byte() = Encoding.UTF8.GetBytes(File.ReadAllText(rutaDte))
fileupload = Convert.ToBase64String(bytefile)


fuente

jueves, 19 de abril de 2018

Obtener todos los archivos txt de las carpetas y subcarpetas

Dim logtxt() As String = Directory.GetFiles(rutaempresa & "\" & "compra", "*.txt", SearchOption.AllDirectories)

miércoles, 18 de abril de 2018

Inicializar combobox con mes y año actual

Dim mes As Integer = Now.ToString("MM").Substring(1, 1) - 1
cbMes.SelectedIndex = mes

 Dim anio As Integer = Now.ToString("yyyy")
 For i As Integer = 2017 To anio
            cbAnio.Items.Add(i)
 Next
 cbAnio.SelectedItem = anio



lunes, 16 de abril de 2018

Formato Documentos Tributarios Electrónicos

formato_dte.pdf 2006-07-20 v1.0
formato_dte.pdf 2010-04-08 v1.0
formato_dte.pdf 2012-07-27 v1.0
formato_dte.pdf 2014-09-30 v1.0
formato_dte.pdf 2017-09-20 v2.0
formato_dte.pdf 2018-01-18 v2.1

Descargar

Función Math

Ejemplo, calcular el IVA

Dim neto As Long = 100
Dim iva As Long = Math.Round(neto * 0.19, 0, MidpointRounding.AwayFromZero)

viernes, 13 de abril de 2018

jueves, 12 de abril de 2018

Consulta Avanzada Estado DTE

Documentación: http://www.sii.cl/factura_electronica/OIFE2006_QueryEstDteAv_MDE.pdf

urlws certificación: https://maullin.sii.cl/DTEWS/services/QueryEstDteAv?wsdl
urlws producción: https://palena.sii.cl/DTEWS/services/QueryEstDteAv?wsdl

Ejemplo xml entrada:

<SOAP-ENV:Envelope
xmlns:SOAP-ENV ="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<m:getEstDteAv xmlns:m="http://DefaultNamespace" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<RutEmpresa xsi:type="xsd:string">String</RutEmpresa>
<DvEmpresa xsi:type="xsd:string">String</DvEmpresa>
<RutReceptor xsi:type="xsd:string">String</RutReceptor>
<DvReceptor xsi:type="xsd:string">String</DvReceptor>
<TipoDte xsi:type="xsd:string">String</TipoDte>
<FolioDte xsi:type="xsd:string">String</FolioDte>
<FechaEmisionDte xsi:type="xsd:string">String</FechaEmisionDte>
<MontoDte xsi:type="xsd:string">String</MontoDte>
<FirmaDte xsi:type="xsd:string">String</FirmaDte>
<Token xsi:type="xsd:string">String</Token>
</m:getEstDteAv>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

xml de entrada validado en:
https://www.xmlvalidation.com/
https://www.freeformatter.com/xml-validator-xsd.html

Respuesta ws:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:getEstDteAvResponse
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://DefaultNamespace">
<ns1:getEstDteAvReturn xsi:type="xsd:string">
<?xml version="1.0" encoding="UTF-8"?>
<SII:RESPUESTA xmlns:SII="http://www.sii.cl/XMLSchema">
<SII:RESP_HDR>
<SII:ESTADO>0</SII:ESTADO>
</SII:RESP_HDR>
<SII:RESP_BODY>
<RECIBIDO>SI</RECIBIDO>
<ESTADO>DOK</ESTADO>
<GLOSA>Documento Recibido por el SII. Datos Coinciden con los Registrados</GLOSA>
<TRACKID>1234567890</TRACKID>
<NUMATENCION>999991 [09/04/2013 13:10:44]</NUMATENCION>
</SII:RESP_BODY>
</SII:RESPUESTA>
</ns1:getEstDteAvReturn>
</ns1:getEstDteAvResponse>
</soapenv:Body>
</soapenv:Envelope>


Referencias:
http://www.sii.cl/factura_electronica/doc_emp_aut.htm
http://www.sii.cl/factura_electronica/factura_mercado/instructivo.htm

martes, 10 de abril de 2018

Extraer dato de nodo xml

Dim respuesta As String = "<TRACKID>1234568</TRACKID>"

Dim nodo As String = "<TRACKID>"
Dim nodoCount As String = nodo.Lenght


Dim i As Integer = respuesta.IndexOf("<TRACKID>") + 9
Dim j As Integer = respuesta.IndexOf("</TRACKID>")

Dim dato As String = respuesta.Substring(i , j - i)

martes, 3 de abril de 2018

Día de la semana en palabras

MessageBox.Show(Now.ToString("dddd"))

Remover nodo xml

Dim id As Integer = 3
        Dim doc As New XmlDocument()
        doc.Load("usuarios.xml")

        Dim str As String = "/Usuarios/Usuario[id=" & id & "]"
        Dim del As XmlElement = doc.SelectSingleNode("/Usuarios/Usuario[id=" & id & "]")

        If Not del Is Nothing Then
            del.ParentNode.RemoveChild(del)
        End If

        Dim settings As New XmlWriterSettings()
        settings.Indent = True
        Dim wout As XmlWriter = XmlWriter.Create("usuarios.xml", settings)
        doc.Save(wout)
        wout.Close()

Recorrer nodo xml y capturar su valor

Dim doc As New XmlDocument()
doc.Load("usuarios.xml")

For Each node As XmlNode In doc.GetElementsByTagName("id")
        MessageBox.Show(node.InnerText)
Next


opción 2

Dim xdoc As XDocument = XDocument.Load("usuarios.xml")
        For Each element As XElement In xdoc.Descendants()

            If element.Name.ToString.Contains("id") Then
                MessageBox.Show(element.Value)
            End If
        Next