diff --git a/Contabilidad/ContabilidadElectronica.aspx b/Contabilidad/ContabilidadElectronica.aspx
index 54a63e6da..bae52ac34 100644
--- a/Contabilidad/ContabilidadElectronica.aspx
+++ b/Contabilidad/ContabilidadElectronica.aspx
@@ -39,8 +39,8 @@
| Tipo Reporte: |
-
-
+ |
+
@@ -54,21 +54,30 @@
| Periodo: |
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
|
|
+
+ | Tipo Envío: |
+
+
+
+
+
+ |
+
diff --git a/Contabilidad/ContabilidadElectronica.aspx.vb b/Contabilidad/ContabilidadElectronica.aspx.vb
index 126988874..e3e1494bf 100644
--- a/Contabilidad/ContabilidadElectronica.aspx.vb
+++ b/Contabilidad/ContabilidadElectronica.aspx.vb
@@ -102,7 +102,7 @@ Partial Class Contabilidad_ContabilidadElectronica
If UsuarioActual.Empresa.TipoContabilidad = 1 Then
Dim objconta As New ClsContabilidad
If objconta.GetCuentas(-1, "-1", -1, UsuarioActual.CveEmpresa) Then
- DtCuentas = objconta.DtResultados
+ DtCuentas = objconta.DtResultados.FiltraParametros("CodigoSAT <> ''")
End If
objconta.Dispose()
Else
@@ -119,11 +119,11 @@ Partial Class Contabilidad_ContabilidadElectronica
'CABECERA
Str.Append("")
- Str.Append("")
+ Str.Append("xmlns:catalogocuentas=""http://www.sat.gob.mx/esquemas/ContabilidadE/1_3/CatalogoCuentas"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">")
'DETALLES
For Each Dr As DataRow In DtCuentas.Rows
@@ -134,7 +134,7 @@ Partial Class Contabilidad_ContabilidadElectronica
Str.AppendFormat("Desc=""{0}"" ", HttpUtility.HtmlEncode(Dr("Nombre").ToString))
Str.AppendFormat("SubCtaDe=""{0}"" ", Dr("CodigoPadre").ToString)
Str.AppendFormat("Nivel=""{0}"" ", Dr("Nivel").ToString)
- Str.AppendFormat("Natur=""{0}"" ", Dr("Tipo").ToString)
+ Str.AppendFormat("Natur=""{0}"" ", If(Dr("Tipo").ToString.Contiene("A", "C", "D", "G", "H"), "D", "A")) 'Atributo requerido para expresar la naturaleza de la cuenta o subcuenta. (D - Deudora, A - Acreedora). ( Activo = D ) ( Pasivo = A ) ( Capital = A ) ( Ingreso = A ) ( Costo = D ) ( Gasto = D ) ( Resultado Integral de Financiamiento = D y/o A ) ( Cuentas de orden = D y/o A ). Existen cuentas de Activo, Pasivo y Capital que por su naturaleza pueden presentarse de manera Deudora o Acreedora.
Else
Str.AppendFormat("CodAgrup=""{0}"" ", Dr("CodAgrup").ToString)
Str.AppendFormat("NumCta=""{0}"" ", Dr("NumCta").ToString)
@@ -156,20 +156,30 @@ Partial Class Contabilidad_ContabilidadElectronica
'SOBREESCRIBE
If System.IO.File.Exists(ArchivoCuentas) Then System.IO.File.Delete(ArchivoCuentas)
-
+ Dim fs As FileStream = File.Create(ArchivoCuentas)
+ Dim info As Byte() = New UTF8Encoding(True).GetBytes(Str.ToString)
+ fs.Write(info, 0, info.Length)
+ fs.Close()
+ Dim Archivo As New System.IO.FileInfo(ArchivoCuentas)
'DESCARGA XML
- Dim DescargaZIP As Ionic.Zip.ZipFile = New Ionic.Zip.ZipFile()
+ 'Dim DescargaZIP As Ionic.Zip.ZipFile = New Ionic.Zip.ZipFile()
+ 'If IO.File.Exists(ArchivoCuentas) Then DescargaZIP.AddFile(ArchivoCuentas, "")
'generar el sello
- SellarXML(Str.ToString, ArchivoCuentas, 1)
-
- If IO.File.Exists(ArchivoCuentas) Then DescargaZIP.AddFile(ArchivoCuentas, "")
-
- DescargaZIP.Save(Response.OutputStream)
- Response.AddHeader("content-Disposition", String.Format("attachment; filename={0}{1}{2}CT.zip", UsuarioActual.Empresa.RFC, DdlEjercicio.SelectedValue, DdlPeriodo.SelectedValue.PadLeft(2, "0"c)))
- Response.ContentType = "application/zip"
- Response.End()
-
+ 'SellarXML(Str.ToString, ArchivoCuentas, 1)
+ 'DescargaZIP.Save(Response.OutputStream)
+ 'Response.AddHeader("content-Disposition", String.Format("attachment; filename={0}{1}{2}CT.zip", UsuarioActual.Empresa.RFC, DdlEjercicio.SelectedValue, DdlPeriodo.SelectedValue.PadLeft(2, "0"c)))
+ 'Response.ContentType = "application/zip"
+ 'Response.End()
+ HttpContext.Current.Response.Clear()
+ HttpContext.Current.Response.ClearContent()
+ HttpContext.Current.Response.ContentType = "application/xml"
+ HttpContext.Current.Response.AppendHeader("Content-disposition", String.Format("attachment; filename={0}", Archivo.Name))
+ HttpContext.Current.Response.AddHeader("Content-Length", Archivo.Length.ToString())
+ HttpContext.Current.Response.TransmitFile(ArchivoCuentas)
+ 'HttpContext.Current.Response.Flush()
+ HttpContext.Current.Response.End()
+ Archivo = Nothing
End If
End Sub
@@ -291,13 +301,15 @@ Partial Class Contabilidad_ContabilidadElectronica
Str.Append("Version=""1.3"" ")
Str.AppendFormat("RFC=""{0}"" ", UsuarioActual.Empresa.RFC)
- Str.AppendFormat("Mes=""{0}"" ", DdlPeriodo.SelectedValue)
+ Str.AppendFormat("Mes=""{0}"" ", DdlPeriodo.SelectedValue.PadLeft(2, "0"c))
Str.AppendFormat("Anio=""{0}"" ", DdlEjercicio.SelectedValue)
- Str.AppendFormat("TipoEnvio=""{0}"" ", "C")
- Str.AppendFormat("FechaModBal=""{0}"" >", FechaF.ToString("yyyy-MM-dd"))
+ Str.AppendFormat("TipoEnvio=""{0}"" ", DdlTipoEnvío.SelectedValue)
+ 'SOLO CUANDO ES COMPLEMENTARIA
+ If DdlTipoEnvío.SelectedValue = "C" Then Str.AppendFormat("FechaModBal=""{0}""", FechaF.ToString("yyyy-MM-dd"))
+ Str.AppendFormat(">")
'DETALLES
- For Each Dr As DataRow In DtCuentas.Rows
+ For Each Dr As DataRow In DtCuentas.FiltraParametros("Codigo <> ''").Rows
Str.Append("