Imports System.IO Imports System.Text Imports System.Xml Imports System.Xml.Serialization Imports System.Collections.Generic Public Class frmChequeCaja Dim notAuditoria As ClassMyUtils Dim dsGral As DataSet Private Sub frmTInternacional_Load(sender As Object, e As System.EventArgs) Handles Me.Load notAuditoria = New ClassMyUtils notAuditoria.RT_Auditoria(clsVaribles.varUsuario, 125, 28, "Ingreso Reporte Cheques de Caja") notAuditoria = Nothing '---------------------- Dim dictionary As New Dictionary(Of String, Integer) dictionary.Add("Enero - Marzo", 1) dictionary.Add("Abril - Junio", 2) dictionary.Add("Julio - Septiembre", 3) dictionary.Add("Octubre - Diciembre", 4) cboMes.DisplayMember = "Key" cboMes.ValueMember = "Value" cboMes.DataSource = New BindingSource(dictionary, Nothing) cboMes.SelectedIndex = -1 Dim aYear As Integer = Year(Now) For i As Integer = 0 To 6 cboYear.Items.Add(aYear + 3 - i) Next cboMes.SelectedIndex = 0 cboYear.SelectedIndex = 0 End Sub Private Sub btnGenerarReporte_Click(sender As Object, e As EventArgs) Handles btnGenerarReporte.Click 'If dsGral Is Nothing Then ' MsgBox("No hay registros para generar el reporte.", MsgBoxStyle.Information, "Minds") ' Exit Sub 'Else ' If dsGral.Tables("Table") Is Nothing Then ' MsgBox("No hay registros para generar el reporte.", MsgBoxStyle.Information, "Minds") ' Exit Sub ' Else ' If dsGral.Tables("Table").Rows.Count = 0 Then ' MsgBox("No hay registros para generar el reporte.", MsgBoxStyle.Information, "Minds") ' Exit Sub ' End If ' End If 'End If Dim SINREGISTROS As Boolean = False If dsGral Is Nothing Then SINREGISTROS = True Else If dsGral.Tables(0).Rows.Count = 0 Then SINREGISTROS = True End If End If If SINREGISTROS = False Then Dim fileSave As New SaveFileDialog Dim File As String = Nothing Dim Dia As String Dim Anio As String '"\FTI_" & cboYear.Text & "_" & cboMes.Text & ".xml" fileSave.Filter = "Archivos XML | *.XML" fileSave.FileName = "FCC_" & cboYear.Text & "_" & cboMes.Text & ".xml" fileSave.Title = "Guardar Archivo" File = fileSave.ShowDialog() If File = 1 Then AddData(fileSave.FileName) MsgBox("El archivo cheques de caja se ha generado correctamente", MsgBoxStyle.OkOnly, "Mensaje") End If Else If MsgBox("No existen registros, ¿Está seguro de generar un reporte en ceros?", MsgBoxStyle.OkCancel, "Mensaje") = MsgBoxResult.Ok Then Dim fileSave As New SaveFileDialog Dim File As String = Nothing Dim Dia As String Dim Anio As String '"\FTI_" & cboYear.Text & "_" & cboMes.Text & ".xml" fileSave.Filter = "Archivos XML | *.XML" fileSave.FileName = "FCC_" & cboYear.Text & "_" & cboMes.Text & ".xml" fileSave.Title = "Guardar Archivo" File = fileSave.ShowDialog() If File = 1 Then Dim StrMFile As System.IO.FileStream Dim StrMRead As System.IO.StreamWriter StrMFile = New System.IO.FileStream(fileSave.FileName, IO.FileMode.OpenOrCreate, IO.FileAccess.Write) StrMRead = New System.IO.StreamWriter(StrMFile) Dim strCadenaIN As String = "" & vbCrLf & "" & vbCrLf & _ "" & cboYear.Text & "-" & (cboMes.SelectedIndex + 1).ToString() & "" & vbCrLf & _ "" & vbCrLf & _ "01-002" & vbCrLf & _ "40-060" & vbCrLf & _ "" & vbCrLf & _ "" & vbCrLf & _ "" StrMRead.WriteLine(strCadenaIN) StrMRead.Close() MsgBox("El archivo cheques de caja se ha generado correctamente", MsgBoxStyle.OkOnly, "Mensaje") End If End If End If End Sub Private Sub btnSalir_Click(sender As System.Object, e As System.EventArgs) Handles btnSalir.Click Close() End Sub Private Sub btnConsultar_Click_1(sender As System.Object, e As System.EventArgs) Handles btnConsultar.Click FillGrid() End Sub Public Function estaAbieta(ByVal Forma As String) As Boolean Dim abierta As Boolean = False For cont As Integer = 0 To Application.OpenForms.Count - 1 If Forma.Equals(Application.OpenForms.Item(cont).Name) Then abierta = True End If Next estaAbieta = abierta End Function Protected Sub FillGrid() Dim Classcom As New clsComplejo Dim ClassCatalogos As New ClassCatalogos Dim SQL As String = String.Empty SQL = "sp_ConsultaFCC '" & cboYear.Text & "-" & cboMes.SelectedValue & "'" 'SQL = "sp_ConsultaFDE '" & cboYear.Text & "-" & cboMes.SelectedValue & "', " & 'IIf(cboTipoOperacion.SelectedIndex = 0, "NULL", cboTipoOperacion.SelectedValue) dsGral = Classcom.fdtDataSet(SQL) gridFCC.SetDataBinding(dsGral, "Table") Me.gridFCC.Splits(0).DisplayColumns("IdFCC").Visible = False 'ClassCatalogos.LlenaGrid(SQL, Me.GridMaster) lblRegistros.Text = "Total de Registros " & gridFCC.RowCount End Sub Private Function GetPath(ByVal FileName As String) As String Dim cls1 As New clsComplejo Dim path As String Dim ds2 As New DataSet ds2 = cls1.fdtDataSet("select top 1 rutarelevantes from paramrep") path = ds2.Tables(0).Rows(0).Item(0).ToString() & FileName ds2.Clear() ds2.Dispose() Return path End Function Private Sub AddData(NombreArchivo As String) Dim dsData As New DataSet Dim dsPersonas As New DataSet Dim dsPersonasE As New DataSet Dim NomArchivoXml As String Dim claveSujeto As String Dim apoderado As String Dim tipoPersona As String Dim consecutivo As String Dim anio As String Dim mes As String Dim trimestreReportado As String '------------------------------------------------ Dim nombreComisionista As String Dim nombreusuario As String Dim domicilioNacionalUnificadoU As String Dim domicilioNacionalSeparadoU As String Dim pais_extranjero As String Dim domicilioExtranjeroUnificadoU As String Dim domicilioExtranjeroSeparadoU As String Dim clientePfNombre As String Dim DomicilioClientePfUnificado As String Dim DomicilioClientePfSeparado As String Dim paisExtranjeroCliente As String Dim direccionClienteExtranjeroUnificado As String Dim direccionClienteExtranjeroSeparado As String Dim ClienteRazonPm As String Dim DomicilioClienteNaUnificadoPm As String Dim DomicilioClienteNaSeparadoPm As String Dim paisClienteExtranjeropm As String Dim DomicilioClienteExtranjeroPmUnificado As String Dim DomicilioClienteExtranjeroPmSeparado As String Dim clavesucursal As String Dim extension As String Dim FolioPrevio As String '------------------------------------------------ NomArchivoXml = NombreArchivo Dim myXmlTextWriter As New XmlTextWriter(NomArchivoXml, System.Text.Encoding.UTF8) myXmlTextWriter.Formatting = System.Xml.Formatting.Indented myXmlTextWriter.WriteStartDocument() myXmlTextWriter.WriteStartElement("reporte") 'reporte abre myXmlTextWriter.WriteAttributeString("xmlns", "xsi", Nothing, "http://www.w3.org/2001/XMLSchema-instance") myXmlTextWriter.WriteAttributeString("xmlns", "xsd", Nothing, "http://www.w3.org/2001/XMLSchema") myXmlTextWriter.WriteAttributeString("xmlns", "http://www.uif.shcp.gob.mx/recepcion/fcc") 'dsData = GetData() dsData = dsGral trimestreReportado = dsData.Tables(0).Rows(0).Item("trimestre_reportado") myXmlTextWriter.WriteElementString("trimestre_reportado", trimestreReportado) 'If FolioPrevio.Trim <> "" Then ' FolioPrevio = dsData.Tables(0).Rows(0).Item("folio_previo") 'End If myXmlTextWriter.WriteStartElement("entidad") 'abre entidad myXmlTextWriter.WriteElementString("clave_organo_regulador", dsData.Tables(0).Rows(0).Item("clave_organo_regulador")) myXmlTextWriter.WriteElementString("clave_entidad", dsData.Tables(0).Rows(0).Item("clave_entidad")) myXmlTextWriter.WriteEndElement() 'CIERRA entidad myXmlTextWriter.WriteStartElement("operaciones") 'abre operaciones For Each row As DataRow In dsData.Tables(0).Rows '------COMIENZA RECORRIDO consecutivo = row("folio_consecutivo") FolioPrevio = row("folio_previo") myXmlTextWriter.WriteStartElement("operacion") 'abre operacion 'nombreComisionista = row("nombre_comisionista") 'nombreusuario = row("nombre_usuario") 'domicilioNacionalUnificadoU = row("domicilio_usuario_nacional_unificado") ''domicilioNacionalSeparadoU = row("entidad_federativa_usuario_nacional_separado") 'pais_extranjero = row("pais_usuario_extranjero") 'domicilioExtranjeroUnificadoU = row("domicilio_usuario_extranjero_unificado") ''domicilioExtranjeroSeparadoU = row("estado_provincia_usuario_extranjero_separado") 'clientePfNombre = row("nombre_pf_cliente") 'DomicilioClientePfUnificado = row("domicilio_nacional_unificado_pf_cliente") ''DomicilioClientePfSeparado = row("entidad_federativa_nacional_separado_pf_cliente") 'paisExtranjeroCliente = row("pais_extranjero_pf_cliente") 'direccionClienteExtranjeroUnificado = row("domicilio_extranjero_unificado_pf_cliente") ''direccionClienteExtranjeroSeparado = row("estado_provincia_extranjero_separado_pf_cliente") 'ClienteRazonPm = row("denominacion_razon_pm_cliente") 'DomicilioClienteNaUnificadoPm = row("domicilio_nacional_unificado_pm_cliente") ''DomicilioClienteNaSeparadoPm = row("entidad_federativa_nacional_separado_pm_cliente") 'paisClienteExtranjeropm = row("pais_extranjero_pm_cliente") 'DomicilioClienteExtranjeroPmUnificado = row("domicilio_extranjero_unificado_pm_cliente") ''DomicilioClienteExtranjeroPmSeparado = row("estado_provincia_extranjero_separado_pm_cliente") 'clavesucursal = row("clave_sucursal") myXmlTextWriter.WriteElementString("folio_consecutivo", consecutivo) If FolioPrevio <> "" Then myXmlTextWriter.WriteStartElement("modificatorio") 'abre modificatorio myXmlTextWriter.WriteElementString("folio_previo", FolioPrevio) myXmlTextWriter.WriteEndElement() 'cierra modificatorio End If myXmlTextWriter.WriteElementString("fecha", row("fecha")) myXmlTextWriter.WriteElementString("clave_sucursal", row("clave_sucursal")) myXmlTextWriter.WriteStartElement("datos_cheque") 'abre datos_cheque myXmlTextWriter.WriteElementString("numero_cheque", row("numero_cheque")) myXmlTextWriter.WriteElementString("moneda_cheque", row("moneda_cheque")) myXmlTextWriter.WriteElementString("monto_cheque", row("monto_cheque")) myXmlTextWriter.WriteEndElement() 'cierra datos_cheque myXmlTextWriter.WriteStartElement("tipo_operacion") 'abre tipo_operacion If row("nombre_beneficiario") <> "" Then myXmlTextWriter.WriteStartElement("datos_beneficiario") 'abre datos_beneficiario myXmlTextWriter.WriteElementString("nombre", row("nombre_beneficiario")) myXmlTextWriter.WriteEndElement() 'cierra datos_beneficiario myXmlTextWriter.WriteStartElement("liquidacion_expedicion") 'abre liquidacion_expedicion myXmlTextWriter.WriteStartElement("liquidacion") 'abre liquidacion myXmlTextWriter.WriteElementString("medio_liquidacion", row("medio_liquidacion_expedicion")) myXmlTextWriter.WriteElementString("numero_cuenta_cargo", row("numero_cuenta_cargo_expedicion")) myXmlTextWriter.WriteElementString("moneda_liquidacion", row("moneda_liquidacion_expedicion")) myXmlTextWriter.WriteElementString("monto_liquidacion", row("monto_liquidacion_expedicion")) myXmlTextWriter.WriteEndElement() 'cierra liquidacion myXmlTextWriter.WriteEndElement() 'cierra liquidacion_expedicion Else 'liquidacion myXmlTextWriter.WriteElementString("institucion_emisora", row("institucion_emisora")) myXmlTextWriter.WriteStartElement("liquidacion_cobro") 'abre liquidacion_cobro myXmlTextWriter.WriteStartElement("liquidacion") 'abre liquidacion myXmlTextWriter.WriteElementString("medio_liquidacion", row("medio_liquidacion_cobro")) myXmlTextWriter.WriteElementString("numero_cuenta_abono", row("numero_cuenta_abono_cobro")) myXmlTextWriter.WriteElementString("moneda_liquidacion", row("moneda_liquidacion_cobro")) myXmlTextWriter.WriteElementString("monto_liquidacion", row("monto_liquidacion_cobro")) myXmlTextWriter.WriteEndElement() 'cierra liquidacion myXmlTextWriter.WriteEndElement() 'cierra liquidacion_cobro End If myXmlTextWriter.WriteEndElement() 'cierra tipo_operacion myXmlTextWriter.WriteStartElement("datos_persona_reportar") 'abre datos_persona_reportar myXmlTextWriter.WriteStartElement("tipo_persona") 'abre tipo_persona If row("nombre_usuario_pf") <> "" Then myXmlTextWriter.WriteStartElement("usuario") 'abre usuario myXmlTextWriter.WriteStartElement("persona_fisica") 'abre usuario myXmlTextWriter.WriteElementString("nombre", row("nombre_usuario_pf")) myXmlTextWriter.WriteElementString("apellido_paterno", row("apellido_paterno_usuario_pf")) myXmlTextWriter.WriteElementString("apellido_materno", row("apellido_materno_usuario_pf")) If row("fecha_nacimiento_usuario_pf") <> "" Then myXmlTextWriter.WriteElementString("fecha_nacimiento", row("fecha_nacimiento_usuario_pf")) End If If row("curp_usuario_pf") <> "" Then myXmlTextWriter.WriteElementString("curp", row("curp_usuario_pf")) End If If row("rfc_usuario_pf") <> "" Then myXmlTextWriter.WriteElementString("rfc", row("rfc_usuario_pf")) End If If row("pais_nacionalidad_usuario_pf") <> "" Then myXmlTextWriter.WriteElementString("pais_nacionalidad", row("pais_nacionalidad_usuario_pf")) End If If row("correo_electronico_usuario_pf") <> "" Then myXmlTextWriter.WriteElementString("correo_electronico", row("correo_electronico_usuario_pf")) End If myXmlTextWriter.WriteEndElement() 'cierra persona_fisica myXmlTextWriter.WriteEndElement() 'cierra usuario End If If row("denominacion_razon_usuario_pm") <> "" Then myXmlTextWriter.WriteStartElement("usuario") 'abre usuario myXmlTextWriter.WriteStartElement("persona_moral") 'abre usuario myXmlTextWriter.WriteElementString("denominacion_razon", row("denominacion_razon_usuario_pm")) If row("fecha_constitucion_usuario_pm") <> "" Then myXmlTextWriter.WriteElementString("fecha_constitucion", row("fecha_constitucion_usuario_pm")) End If If row("rfc_usuario_pm") <> "" Then myXmlTextWriter.WriteElementString("rfc", row("rfc_usuario_pm")) End If If row("pais_nacionalidad_usuario_pm") <> "" Then myXmlTextWriter.WriteElementString("pais_nacionalidad", row("pais_nacionalidad_usuario_pm")) End If If row("correo_electronico_usuario_pm") <> "" Then myXmlTextWriter.WriteElementString("correo_electronico", row("correo_electronico_usuario_pm")) End If myXmlTextWriter.WriteEndElement() 'cierra persona_moral myXmlTextWriter.WriteEndElement() 'cierra usuario End If If row("nombre_cliente_pf") <> "" Then myXmlTextWriter.WriteStartElement("cliente") 'abre cliente myXmlTextWriter.WriteStartElement("persona_fisica") 'abre usuario myXmlTextWriter.WriteElementString("nombre", row("nombre_cliente_pf")) myXmlTextWriter.WriteElementString("apellido_paterno", row("apellido_paterno_cliente_pf")) myXmlTextWriter.WriteElementString("apellido_materno", row("apellido_materno_cliente_pf")) If row("fecha_nacimiento_cliente_pf") <> "" Then myXmlTextWriter.WriteElementString("fecha_nacimiento", row("fecha_nacimiento_cliente_pf")) End If If row("curp_cliente_pf") <> "" Then myXmlTextWriter.WriteElementString("curp", row("curp_cliente_pf")) End If If row("rfc_cliente_pf") <> "" Then myXmlTextWriter.WriteElementString("rfc", row("rfc_cliente_pf")) End If If row("pais_nacimiento_cliente_pf") <> "" Then myXmlTextWriter.WriteElementString("pais_nacimiento", row("pais_nacimiento_cliente_pf")) End If If row("pais_nacionalidad_cliente_pf") <> "" Then myXmlTextWriter.WriteElementString("pais_nacionalidad", row("pais_nacionalidad_cliente_pf")) End If myXmlTextWriter.WriteElementString("actividad_economica", row("actividad_economica_cliente_pf")) If row("correo_electronico_cliente_pf") <> "" Then myXmlTextWriter.WriteElementString("correo_electronico", row("correo_electronico_cliente_pf")) End If myXmlTextWriter.WriteEndElement() 'cierra persona_fisica myXmlTextWriter.WriteEndElement() 'cierra cliente End If If row("denominacion_razon_cliente_pm") <> "" Then myXmlTextWriter.WriteStartElement("cliente") 'abre cliente myXmlTextWriter.WriteStartElement("persona_moral") 'abre persona moral myXmlTextWriter.WriteElementString("denominacion_razon", row("denominacion_razon_cliente_pm")) If row("fecha_constitucion_cliente_pm") <> "" Then myXmlTextWriter.WriteElementString("fecha_constitucion", row("fecha_constitucion_cliente_pm")) End If If row("rfc_cliente_pm") <> "" Then myXmlTextWriter.WriteElementString("rfc", row("rfc_cliente_pm")) End If If row("pais_nacionalidad_cliente_pm") <> "" Then myXmlTextWriter.WriteElementString("pais_nacionalidad", row("pais_nacionalidad_cliente_pm")) End If myXmlTextWriter.WriteElementString("giro_mercantil", row("giro_mercantil_cliente_pm")) If row("correo_electronico_cliente_pm") <> "" Then myXmlTextWriter.WriteElementString("correo_electronico", row("correo_electronico_cliente_pm")) End If myXmlTextWriter.WriteElementString("apoderado_legal", row("apoderado_legal_cliente_pm")) myXmlTextWriter.WriteEndElement() 'cierra persona_moral myXmlTextWriter.WriteEndElement() 'cierra cliente End If myXmlTextWriter.WriteEndElement() 'cierra tipo_persona '------- myXmlTextWriter.WriteStartElement("domicilio") 'abre domicilio If row("domicilio_nacional_unificado") <> "" Then myXmlTextWriter.WriteStartElement("nacional") 'abre nacional------------- myXmlTextWriter.WriteStartElement("tipo_domicilio") 'abre tipo_domicilio myXmlTextWriter.WriteStartElement("unificado") 'abre unificado---------------------- myXmlTextWriter.WriteElementString("domicilio_unificado", row("domicilio_nacional_unificado")) myXmlTextWriter.WriteElementString("ciudad_poblacion", row("ciudad_poblacion_nacional_unificado")) myXmlTextWriter.WriteElementString("colonia", row("colonia_nacional_unificado")) myXmlTextWriter.WriteElementString("codigo_postal", row("codigo_postal_nacional_unificado")) myXmlTextWriter.WriteEndElement() 'cierra unificado---------------------- myXmlTextWriter.WriteEndElement() 'cierra tipo de domicilio myXmlTextWriter.WriteEndElement() 'cierra nacional End If If row("domicilio_extranjero_unificado") <> "" Then myXmlTextWriter.WriteStartElement("extranjero") 'abre nacional------------- myXmlTextWriter.WriteElementString("pais", row("pais_extranjero")) myXmlTextWriter.WriteStartElement("tipo_domicilio") 'abre tipo_domicilio myXmlTextWriter.WriteStartElement("unificado") 'abre unificado---------------------- myXmlTextWriter.WriteElementString("domicilio_unificado", row("domicilio_extranjero_unificado")) myXmlTextWriter.WriteElementString("ciudad_poblacion", row("ciudad_poblacion_extranjero_unificado")) myXmlTextWriter.WriteElementString("colonia", row("colonia_extranjero_unificado")) myXmlTextWriter.WriteElementString("codigo_postal", row("codigo_postal_extranjero_unificado")) myXmlTextWriter.WriteEndElement() 'cierra unificado---------------------- myXmlTextWriter.WriteEndElement() 'cierra tipo de domicilio myXmlTextWriter.WriteEndElement() 'cierra nacional End If myXmlTextWriter.WriteEndElement() 'cierra domicilio '-------- If row("numero_telefono") <> "" Then myXmlTextWriter.WriteStartElement("telefono") 'abre telefono If row("clave_pais_telefono") <> "" Then myXmlTextWriter.WriteElementString("clave_pais", row("clave_pais_telefono")) End If myXmlTextWriter.WriteElementString("numero_telefono", row("numero_telefono")) If row("extension_telefono") <> "" Then myXmlTextWriter.WriteElementString("extension", row("extension_telefono")) End If myXmlTextWriter.WriteEndElement() 'cierra telefono End If myXmlTextWriter.WriteEndElement() 'cierra datos_persona_reportar '============================ myXmlTextWriter.WriteEndElement() 'cierra operacion Next myXmlTextWriter.WriteEndElement() 'cierra operaciones myXmlTextWriter.WriteEndElement() 'cierra reporte myXmlTextWriter.Flush() myXmlTextWriter.Close() End Sub Private Sub btnModificatorio_Click(sender As System.Object, e As System.EventArgs) Handles btnModificatorio.Click If gridFCC.SelectedRows.Count > 0 Then Dim detalle As New frmChequeCaja_Detalle 'Valida Trimestre 'Dim Trimestre As Boolean = False 'Trimestre = ValidaTrimestre(GridMaster.Row()) 'detalle.ValPeriodo = Trimestre 'Get Trimestre 'detalle.Trimestre = GridMaster.Columns(1).CellValue(GridMaster.Row) detalle.valIndex = Me.gridFCC.Columns("IdFCC").Value detalle.ShowDialog() 'Actualiza Grid FillGrid() Else MessageBox.Show("Debe seleccionar un elemento de la lista.", "Minds", MessageBoxButtons.OK, MessageBoxIcon.Information) End If End Sub End Class