prepolizas negativas auxiliar compras

This commit is contained in:
Rakcsle Supertramp
2019-08-22 19:42:47 -07:00
15 changed files with 42110 additions and 41843 deletions

View File

@@ -2164,10 +2164,10 @@ Public Class ClsCompras
End Try End Try
Return Retorno Return Retorno
End Function End Function
#End Region #End Region
#Region " DEVOLUCIONES COMPRAS - IPP FEBRERO 2018 " #Region " DEVOLUCIONES COMPRAS - IPP FEBRERO 2018 "
Public Function ComprasDetalleDevolucionesAdd(CveCompraDetalle As Integer, CveCompraNC As Integer, Cantidad As Double, CveEmpresa As Integer) As Boolean Public Function ComprasDetalleDevolucionesAdd(CveCompraDetalle As Integer, CveCompraNC As Integer, Cantidad As Double, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False

View File

@@ -25,11 +25,11 @@ Public Class ClsInventarios
End Function End Function
Public Sub RollBack() Public Sub RollBack()
SqlTransacc.Rollback() If SqlTransacc.Connection IsNot Nothing Then SqlTransacc.Rollback()
End Sub End Sub
Public Sub Commit() Public Sub Commit()
SqlTransacc.Commit() If SqlTransacc.Connection IsNot Nothing Then SqlTransacc.Commit()
End Sub End Sub
#Region " PROPIEDADES " #Region " PROPIEDADES "

View File

@@ -2681,7 +2681,7 @@ Namespace Modelos
CveCuentaContabilizacion = 0 CveCuentaContabilizacion = 0
End If End If
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, CveSubProyecto:=CveSubProyectoContabilizar, PorcentajeImpuesto:=PorcentajeImpuesto) Then If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, CveSubProyecto:=CveSubProyectoContabilizar, PorcentajeImpuesto:=PorcentajeImpuesto, TipoCambio:=tipoCambio) Then
ErrorPrepoliza = True ErrorPrepoliza = True
Else Else
ObjFactura.SeGuardoPrePoliza = True ObjFactura.SeGuardoPrePoliza = True
@@ -2750,8 +2750,8 @@ Namespace Modelos
If idCuentaContabilizacion > 0 Then If idCuentaContabilizacion > 0 Then
If ObjConta.ContabilizarPrePoliza(ObjFactura.CvePrePoliza, ObjFactura.CveUsuario, UsuarioActual.Empresa, ObjConta:=objContPaqi) Then If ObjConta.ContabilizarPrePoliza(ObjFactura.CvePrePoliza, ObjFactura.CveUsuario, UsuarioActual.Empresa, ObjConta:=objContPaqi) Then
Else Else
ErrorList.Add("Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico") 'ErrorList.Add("Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico")
ErrorPrepoliza = True 'ErrorPrepoliza = True
End If End If
Else Else
ErrorList.Add(String.Format("Falta asignación de las siguientes cuentas contables: {0}", CuentasContablesInvalidas)) ErrorList.Add(String.Format("Falta asignación de las siguientes cuentas contables: {0}", CuentasContablesInvalidas))

View File

@@ -727,8 +727,8 @@ Partial Class Bancos_IE
End If End If
End If End If
End Sub End Sub
#Region " CARGA DATOS " #Region " CARGA DATOS "
Private Sub CargaDatos() Private Sub CargaDatos()
Dim ObjIE As New ClsBancos() Dim ObjIE As New ClsBancos()
@@ -3803,7 +3803,7 @@ Partial Class Bancos_IE
Banc.IniciaTransacSQL() Banc.IniciaTransacSQL()
Dim ObjAC As ClsContPAQi = Nothing Dim ObjAC As ClsContPAQi = Nothing
If UsuarioActual.Empresa.UsaAC Then If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.UsaContabilidad Then
ObjAC = New ClsContPAQi(UsuarioActual.Empresa) ObjAC = New ClsContPAQi(UsuarioActual.Empresa)
ObjAC.IniciaTransacSQL() ObjAC.IniciaTransacSQL()
End If End If
@@ -3814,7 +3814,7 @@ Partial Class Bancos_IE
Dim IdPolizaNueva = -1 Dim IdPolizaNueva = -1
Dim FolioPolizaNueva = -1 Dim FolioPolizaNueva = -1
If (IDPoliza > 0 AndAlso UsuarioActual.Empresa.UsaAC) Then If (IDPoliza > 0 AndAlso (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.UsaContabilidad)) Then
If ObjAC Is Nothing Then If ObjAC Is Nothing Then
ErrorCancelar = True ErrorCancelar = True
@@ -4013,7 +4013,7 @@ Partial Class Bancos_IE
Dim ObjConta As New ClsContabilidad(Banc.IniciaTransacSQL) Dim ObjConta As New ClsContabilidad(Banc.IniciaTransacSQL)
Dim ObjAC As ClsContPAQi = Nothing Dim ObjAC As ClsContPAQi = Nothing
If UsuarioActual.Empresa.UsaAC Then If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.UsaContabilidad Then
ObjAC = New ClsContPAQi(UsuarioActual.Empresa) ObjAC = New ClsContPAQi(UsuarioActual.Empresa)
ObjAC.IniciaTransacSQL() ObjAC.IniciaTransacSQL()
End If End If
@@ -4023,7 +4023,7 @@ Partial Class Bancos_IE
Dim IdPolizaNueva = -1 Dim IdPolizaNueva = -1
Dim FolioPolizaNueva = -1 Dim FolioPolizaNueva = -1
If (IDPoliza > 0 AndAlso UsuarioActual.Empresa.UsaAC) Then If (IDPoliza > 0 AndAlso (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.UsaContabilidad)) Then
If ObjAC Is Nothing Then If ObjAC Is Nothing Then
ErrorCancelar = True ErrorCancelar = True

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -43,11 +43,12 @@
<asp:ListItem Value="4" Text="Factura - Cliente"></asp:ListItem> <asp:ListItem Value="4" Text="Factura - Cliente"></asp:ListItem>
<asp:ListItem Value="5" Text="Productos y Sevicios" ></asp:ListItem> <asp:ListItem Value="5" Text="Productos y Sevicios" ></asp:ListItem>
<asp:ListItem Value="6" Text="RH - Personal"></asp:ListItem> <asp:ListItem Value="6" Text="RH - Personal"></asp:ListItem>
<asp:ListItem Value="7" Text="AF - Activos Fijos" Enabled="false"></asp:ListItem> <asp:ListItem Value="7" Text="AF - Activos Fijos" Enabled="false"></asp:ListItem>
<asp:ListItem Value="8" Text="Contabilidad - Cuentas Contables" Enabled="True"></asp:ListItem> <asp:ListItem Value="8" Text="Contabilidad - Cuentas Contables" Enabled="True"></asp:ListItem>
<asp:ListItem Value="9" Text="ContaSIG - Cuentas Contables" Enabled="True"></asp:ListItem> <asp:ListItem Value="9" Text="ContaSIG - Cuentas Contables" Enabled="True"></asp:ListItem>
<asp:ListItem Value="10" Text="Cont - Saldos Iniciales Cuentas" Enabled="True"></asp:ListItem> <asp:ListItem Value="10" Text="Cont - Saldos Iniciales Cuentas" Enabled="True"></asp:ListItem>
<asp:ListItem Value="11" Text="ContaSIG - Saldos Iniciales Cuentas" Enabled="True"></asp:ListItem> <asp:ListItem Value="11" Text="ContaSIG - Saldos Iniciales Cuentas" Enabled="True"></asp:ListItem>
<asp:ListItem Value="12" Text="Almacen" Enabled="True"></asp:ListItem>
</asp:RadioButtonList> </asp:RadioButtonList>

View File

@@ -449,7 +449,26 @@ Partial Class General_SaldosIniciales
Alert("El nombre de la diescisieteava columna debe ser 'Clave Unidad'. Favor de corregirlo", TipoMensaje.MsgError) Alert("El nombre de la diescisieteava columna debe ser 'Clave Unidad'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub Exit Sub
End If End If
ElseIf RblFormato.SelectedValue = "12" Then
If Not dt.Columns(0).ColumnName = "CodigoPS" Then
Alert("El nombre de la primera columna debe ser 'CodigoPS'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
If Not dt.Columns(1).ColumnName = "Almacen" Then
Alert("El nombre de la segunda columna debe ser 'Almacen'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
If Not dt.Columns(2).ColumnName = "Existencia" Then
Alert("El nombre de la tercera columna debe ser 'Existencia'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
If Not dt.Columns(3).ColumnName = "Valor" Then
Alert("El nombre de la cuarta columna debe ser 'Valor'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
End If End If
@@ -606,10 +625,10 @@ Partial Class General_SaldosIniciales
'If Not ObjPS.UpdatePS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, 0, 1, 1, False, 0, True, True, True, UsuarioActual.CveUsuario, CvePS, -1, -1, CveSATPS, 'If Not ObjPS.UpdatePS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, 0, 1, 1, False, 0, True, True, True, UsuarioActual.CveUsuario, CvePS, -1, -1, CveSATPS,
' CveTipoPS:=CveTipoPS, CveMarca:=CveMarca, CveTamaño:=CveTamaño, CveMedida:=CveMedida) Then ' CveTipoPS:=CveTipoPS, CveMarca:=CveMarca, CveTamaño:=CveTamaño, CveMedida:=CveMedida) Then
ErrorPS = True ErrorPS = True
Codigo.GuardaLog Codigo.GuardaLog
Exit For Exit For
Else Else
Contador += 1 Contador += 1
End If End If
Else Else
If ObjPS.AddPS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", "", Descripcion, 0, 0, 0, False, 0, False, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, 1, If ObjPS.AddPS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", "", Descripcion, 0, 0, 0, False, 0, False, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, 1,
@@ -873,7 +892,7 @@ Partial Class General_SaldosIniciales
End If End If
Dim ConceptoContablePago As Integer = 17 Dim ConceptoContablePago As Integer = 17
If TipoDocto = "NC" Then ConceptoContablePago = 60 If TipoDocto = "NC" Then ConceptoContablePago = 60
'PrePólizaDetalle 'PrePólizaDetalle
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total, Folio, IIf(TipoDocto = "Fac", 5, 18).ToString.ToEntero, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=Total, CveSubProyecto:=Sucursal.ToEntero) Then ErrorCompras = True : Exit For If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total, Folio, IIf(TipoDocto = "Fac", 5, 18).ToString.ToEntero, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=Total, CveSubProyecto:=Sucursal.ToEntero) Then ErrorCompras = True : Exit For
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, SubTotal, Folio, 6, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=SubTotal, CveClasificacion:=CveClasificacion, CveSubProyecto:=Sucursal.ToEntero) Then ErrorCompras = True : Exit For If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, SubTotal, Folio, 6, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=SubTotal, CveClasificacion:=CveClasificacion, CveSubProyecto:=Sucursal.ToEntero) Then ErrorCompras = True : Exit For
@@ -927,7 +946,7 @@ Partial Class General_SaldosIniciales
If Not CvePS > 0 Then Alert(String.Format("No se encontró el Producto Servicio"), TipoMensaje.MsgError) : ErrorVentas = True If Not CvePS > 0 Then Alert(String.Format("No se encontró el Producto Servicio"), TipoMensaje.MsgError) : ErrorVentas = True
' If Not CveSucursal > 0 Then Alert("No se encontró la sucursal.", TipoMensaje.MsgError) : ErrorVentas = True ' If Not CveSucursal > 0 Then Alert("No se encontró la sucursal.", TipoMensaje.MsgError) : ErrorVentas = True
If Not CveUnidadMedida > 0 Then Alert(String.Format("No se encontró la Unidad de Medida."), TipoMensaje.MsgError) : ErrorVentas = True If Not CveUnidadMedida > 0 Then Alert(String.Format("No se encontró la Unidad de Medida."), TipoMensaje.MsgError) : ErrorVentas = True
Dim dtsubp As DataTable = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa) Dim dtsubp As DataTable = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
For Each Row As DataRow In dt.FiltraParametros("RFC <> ''").Rows For Each Row As DataRow In dt.FiltraParametros("RFC <> ''").Rows
@@ -953,7 +972,7 @@ Partial Class General_SaldosIniciales
Dim IEPS As Decimal = Row("IEPS").ToString.ToDecimal Dim IEPS As Decimal = Row("IEPS").ToString.ToDecimal
Dim CveClienteSucursal As Integer = Row("CveClienteSucursal").ToString.ToEntero Dim CveClienteSucursal As Integer = Row("CveClienteSucursal").ToString.ToEntero
GuardaLog(Sucursal + "-" + Row("Sucursal").ToString) GuardaLog(Sucursal + "-" + Row("Sucursal").ToString)
'Temporalmente SE BORRARA 'Temporalmente SE BORRARA
Dim Transaccion As String = "" ' Row("Transaccion2").ToString Dim Transaccion As String = "" ' Row("Transaccion2").ToString
Dim Folio2 As String = "" ' Row("Folio2").ToString Dim Folio2 As String = "" ' Row("Folio2").ToString
@@ -1015,7 +1034,7 @@ Partial Class General_SaldosIniciales
ConceptoContablePago = 91 ConceptoContablePago = 91
End If End If
'PrePólizaDetalle 'PrePólizaDetalle
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SubTotal, Folio.ToString, 4, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveClasificacion:=CveClasificacion, ImporteMX:=SubTotal, CveSubProyecto:=Sucursal.ToEntero) Then ErrorVentas = True : Exit For If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SubTotal, Folio.ToString, 4, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveClasificacion:=CveClasificacion, ImporteMX:=SubTotal, CveSubProyecto:=Sucursal.ToEntero) Then ErrorVentas = True : Exit For
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Folio.ToString, ConceptoContable, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=Total) Then ErrorVentas = True : Exit For If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Folio.ToString, ConceptoContable, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=Total) Then ErrorVentas = True : Exit For
@@ -1501,7 +1520,52 @@ Partial Class General_SaldosIniciales
End Try End Try
ObjConta.Dispose() ObjConta.Dispose()
ElseIf RblFormato.SelectedValue = "12" Then
Dim ObjMovimientos As New ClsInventarios
ObjMovimientos.IniciaTransacSQL()
Dim OcurrioError As Boolean = False
Try
For Each almacenSinRepetir As DataRow In dt.FiltraParametros("", DistinctColumns:={"Almacen"}).Rows
Dim almacenActual As String = almacenSinRepetir("Almacen").ToString
Dim CveAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $"Almacen = '{almacenActual}'").ToEntero
Dim movimientoCabecera As Integer = ObjMovimientos.AddMovimiento(CveAlmacen, 1, 1, Date.Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1)
If CveAlmacen > 0 Then
For Each nuevaEntrada As DataRow In dt.FiltraParametros($"Almacen = '{almacenActual}'").Rows
Dim CvePS As Integer = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePS", $"Codigo = '{nuevaEntrada("CodigoPS")}'").ToEntero
Dim CveUM As Integer = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveUnidadMedida", $"Codigo = '{nuevaEntrada("CodigoPS")}'").ToEntero
If CvePS > 0 Then
Dim Cantidad As Decimal = nuevaEntrada("Existencia").ToString.ToDecimal
Dim Valor As Decimal = nuevaEntrada("Valor").ToString.ToDecimal
If Not ObjMovimientos.AddMovimientoDetalle(movimientoCabecera, Cantidad, CveUM, CvePS, (Valor / Cantidad), -1, -1) Then
OcurrioError = True
End If
Else
OcurrioError = True
End If
Next
Else
OcurrioError = True
'alert amacén no existe
Exit For
End If
Next
Catch ex As Exception
OcurrioError = True
ObjMovimientos.RollBack()
End Try
If Not OcurrioError Then
ObjMovimientos.Commit()
Alert("Se cargó correctamente #movimientos")
Else
Alert("Ocurrió un error al cargar las existencias", TipoMensaje.MsgError)
ObjMovimientos.RollBack()
End If
ObjMovimientos.Dispose()
End If End If
End If End If
@@ -1528,6 +1592,8 @@ Partial Class General_SaldosIniciales
Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoContabilidad.xlsx" Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoContabilidad.xlsx"
ElseIf RblFormato.SelectedValue = "9" Then ElseIf RblFormato.SelectedValue = "9" Then
Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoContabilidad.xlsx" Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoContabilidad.xlsx"
ElseIf RblFormato.SelectedValue = "12" Then
Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoAlmacen.xlsx"
End If End If
Dim Archivo As New IO.FileInfo(Directorio) Dim Archivo As New IO.FileInfo(Directorio)

View File

@@ -1,207 +1,215 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepNotasSinAlmacen.aspx.vb" Inherits="RepNotasSinAlmacen" %> <%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepNotasSinAlmacen.aspx.vb" Inherits="RepNotasSinAlmacen" %>
<asp:Content ID="Content1" ContentPlaceHolderID="H" runat="Server"> <asp:Content ID="Content1" ContentPlaceHolderID="H" runat="Server">
<li> <li>
<asp:LinkButton ID="LnkExportar" runat="server"><i class="fa fa-ad-excel"></i> Exportar a Excel</asp:LinkButton> <asp:LinkButton ID="LnkExportar" runat="server"><i class="fa fa-ad-excel"></i> Exportar a Excel</asp:LinkButton>
</li> </li>
<li> <li>
<asp:LinkButton ID="LinkPDF" runat="server"> <i class="fa fa-ad-pdf"></i> Generar PDF</asp:LinkButton> <asp:LinkButton ID="LinkPDF" runat="server"> <i class="fa fa-ad-pdf"></i> Generar PDF</asp:LinkButton>
</li> </li>
</asp:Content> </asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="CP" runat="Server"> <asp:Content ID="Content5" ContentPlaceHolderID="CP" runat="Server">
</asp:Content> </asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="Css" runat="Server"> <asp:Content ID="Content4" ContentPlaceHolderID="Css" runat="Server">
<style> <style>
.table-scrollable { .table-scrollable {
margin-top: 0px !important; margin-top: 0px !important;
margin-bottom: 0px !important; margin-bottom: 0px !important;
} }
.Widthall { .Widthall {
width: 100% !important; width: 100% !important;
} }
.dataTables_scrollHeadInner { .dataTables_scrollHeadInner {
width: 100% !important; width: 100% !important;
background-color: #dddddd; background-color: #dddddd;
padding-left: 0px !important; padding-left: 0px !important;
} }
.dataTables_scrollFoot { .dataTables_scrollFoot {
display: none; display: none;
position: static; position: static;
} }
.table-scrollable { .table-scrollable {
margin: 0px !important; margin: 0px !important;
} }
.dataTables_scroll { .dataTables_scroll {
margin-bottom: 0px; margin-bottom: 0px;
} }
.table.dataTable { .table.dataTable {
margin-top: 0px !important; margin-top: 0px !important;
} }
.dataTables_scrollBody table th { .dataTables_scrollBody table th {
padding: 0px !important; padding: 0px !important;
padding-right: 4px !important; padding-right: 4px !important;
padding-left: 4px !important; padding-left: 4px !important;
} }
.sinlink td a { .sinlink td a {
pointer-events: none; pointer-events: none;
cursor: default; cursor: default;
color: black; color: black;
font-size: small; font-size: small;
} }
.white a { .white a {
color: white !important; color: white !important;
} }
.Derecha { .Derecha {
text-align: right; text-align: right;
} }
.Izquierda { .Izquierda {
text-align: left; text-align: left;
} }
</style> </style>
</asp:Content> </asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="E" runat="Server"> <asp:Content ID="Content2" ContentPlaceHolderID="E" runat="Server">
Reporte de Compras / Notas Sin Entrada Reporte de Compras / Notas Sin Entrada
</asp:Content> </asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="C" runat="Server"> <asp:Content ID="Content3" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UpFiltros" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" style="min-height: 80px !important;"> <div class="portlet solid grey-cascade portlet-filter" style="min-height: 80px !important;">
<div class="portlet-title portlet-filterT smalltitle"> <div class="portlet-title portlet-filterT smalltitle">
<div class="tools"> <div class="tools">
<asp:Button ID="btConsultar" CssClass="btn btn-primary" runat="server" Text="Consultar" /></td> <asp:Button ID="btConsultar" CssClass="btn btn-primary" runat="server" Text="Consultar" /></td>
</div>
<div class="titlefiltros caption "> </div>
<div class="row"> <div class="titlefiltros caption ">
<div class="col-md-1 truncate" id="DivCliente1" runat="server" style="text-align: right!important">Cliente:</div> <div class="row">
<div class="col-md-3" id="DivCliente2" runat="server"> <div class="col-md-1 truncate" id="DivCliente1" runat="server" style="text-align: right!important">Cliente:</div>
<ADS:Dropdownlost ID="DdlCliente" runat="server" CssStyle="width: 100%;" Width="100%" DataTextField="NombreComercial" DataValueField="CveCliente"></ADS:Dropdownlost> <div class="col-md-3" id="DivCliente2" runat="server">
</div> <ADS:Dropdownlost ID="DdlCliente" runat="server" CssStyle="width: 100%;" Width="100%" DataTextField="NombreComercial" DataValueField="CveCliente"></ADS:Dropdownlost>
<div class="col-md-1 truncate" id="DivProveedor1" runat="server" visible="false" style="text-align: right!important">Proveedor:</div> </div>
<div class="col-md-3" id="DivProveedor2" runat="server" visible="false"> <div class="col-md-1 truncate" id="DivProveedor1" runat="server" visible="false" style="text-align: right!important">Proveedor:</div>
<ADS:Dropdownlost ID="DdlProveedor" runat="server" CssStyle="width: 100%;" Width="100%" DataTextField="RazonSocial" DataValueField="CveProveedor" ></ADS:Dropdownlost> <div class="col-md-3" id="DivProveedor2" runat="server" visible="false">
</div> <ADS:Dropdownlost ID="DdlProveedor" runat="server" CssStyle="width: 100%;" Width="100%" DataTextField="RazonSocial" DataValueField="CveProveedor"></ADS:Dropdownlost>
<div class="col-md-1 truncate" style="text-align: right!important">Fecha Inicio:</div> </div>
<div class="col-md-1 col-sm-1"> <div class="col-md-1 truncate" style="text-align: right!important">Fecha Inicio:</div>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 95px !important; padding: 0px;"> <div class="col-md-1 col-sm-1">
<asp:TextBox Style="width: 80px !important;" ID="TxtFechaI" runat="server" CssClass="form-control" MaxLength="10"></asp:TextBox> <div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 95px !important; padding: 0px;">
<span class="input-group-btn "> <asp:TextBox Style="width: 80px !important;" ID="TxtFechaI" runat="server" CssClass="form-control" MaxLength="10"></asp:TextBox>
<asp:LinkButton ID="ImgFechaI" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton> <span class="input-group-btn ">
</span> <asp:LinkButton ID="ImgFechaI" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</div> </span>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="TxtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender> </div>
<ajax:CalendarExtender runat="server" ID="CEFechaI" TargetControlID="TxtFechaI" PopupButtonID="ImgFechaI" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender> <ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="TxtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
</div> <ajax:CalendarExtender runat="server" ID="CEFechaI" TargetControlID="TxtFechaI" PopupButtonID="ImgFechaI" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<div class="col-md-1 truncate" style="text-align: right!important">Fecha Fin:</div> </div>
<div class="col-md-1 col-sm-1"> <div class="col-md-1 truncate" style="text-align: right!important">Fecha Fin:</div>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 95px !important; padding: 0px;"> <div class="col-md-1 col-sm-1">
<asp:TextBox Style="width: 80px !important;" ID="TxtFechaF" runat="server" CssClass="form-control" MaxLength="10"></asp:TextBox> <div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 95px !important; padding: 0px;">
<span class="input-group-btn "> <asp:TextBox Style="width: 80px !important;" ID="TxtFechaF" runat="server" CssClass="form-control" MaxLength="10"></asp:TextBox>
<asp:LinkButton ID="ImgFechaF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton> <span class="input-group-btn ">
</span> <asp:LinkButton ID="ImgFechaF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</div> </span>
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="TxtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender> </div>
<ajax:CalendarExtender runat="server" ID="CalendarExtender1" TargetControlID="TxtFechaF" PopupButtonID="ImgFechaF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender> <ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="TxtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
</div> <ajax:CalendarExtender runat="server" ID="CalendarExtender1" TargetControlID="TxtFechaF" PopupButtonID="ImgFechaF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div> </div>
<div class="row"> </div>
<div class="col-md-1 truncate" id="DivTipoDoctoVenta" style="text-align: right!important;" runat="server">Tipo Documento:</div> <div class="row">
<div class="col-md-1" id="DivTipoDocto1" runat="server"> <div class="col-md-1 truncate" id="DivTipoDoctoVenta" style="text-align: right!important;" runat="server">Tipo Documento:</div>
<asp:DropDownList ID="DdlTipoDocto1" runat="server" Class="table-group-action-input form-control input-inline input-sm select2me" Width="100px"> <div class="col-md-1" id="DivTipoDocto1" runat="server">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem> <asp:DropDownList ID="DdlTipoDocto1" runat="server" Class="table-group-action-input form-control input-inline input-sm select2me" Width="100px">
<asp:ListItem Text="Ingresos" Value="Ing"></asp:ListItem> <asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Egresos" Value="Egs"></asp:ListItem> <asp:ListItem Text="Ingresos" Value="Ing"></asp:ListItem>
<asp:ListItem Text="Remisión" Value="Rem"></asp:ListItem> <asp:ListItem Text="Egresos" Value="Egs"></asp:ListItem>
<asp:ListItem Text="Pedido" Value="Ped"></asp:ListItem> <asp:ListItem Text="Remisión" Value="Rem"></asp:ListItem>
</asp:DropDownList> <asp:ListItem Text="Pedido" Value="Ped"></asp:ListItem>
</div> </asp:DropDownList>
<div class="col-md-1 truncate" id="DivTipoDoctoCompra" style="text-align: right!important;" runat="server" visible="false">Tipo Documento:</div> </div>
<div class="col-md-1" id="DivTipoDoctoCompra2" runat="server" visible="false"> <div class="col-md-1 truncate" id="DivTipoDoctoCompra" style="text-align: right!important;" runat="server" visible="false">Tipo Documento:</div>
<asp:DropDownList ID="DdlTipoDocto2" runat="server" Class="table-group-action-input form-control input-inline input-sm select2me" Width="100px"> <div class="col-md-1" id="DivTipoDoctoCompra2" runat="server" visible="false">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem> <asp:DropDownList ID="DdlTipoDocto2" runat="server" Class="table-group-action-input form-control input-inline input-sm select2me" Width="100px">
<asp:ListItem Text="Factura" Value="Fac"></asp:ListItem> <asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList> <asp:ListItem Text="Factura" Value="Fac"></asp:ListItem>
</div> </asp:DropDownList>
<%-- <div class="col-md-1 truncate" id="DivSucursal" runat="server" style="text-align: right!important;">Sucursal:</div> </div>
<%-- <div class="col-md-1 truncate" id="DivSucursal" runat="server" style="text-align: right!important;">Sucursal:</div>
<div class="col-md-1" id="DivSucursal2" runat="server"> <div class="col-md-1" id="DivSucursal2" runat="server">
<asp:DropDownList ID="DdlSucursal" runat="server" AppendDataBoundItems="true" DataTextField="Sucursal" DataValueField="CveSucursal" Class="table-group-action-input form-control input-inline input-sm select2me" Width="100px"> <asp:DropDownList ID="DdlSucursal" runat="server" AppendDataBoundItems="true" DataTextField="Sucursal" DataValueField="CveSucursal" Class="table-group-action-input form-control input-inline input-sm select2me" Width="100px">
<asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div>--%> </div>--%>
<div class="col-md-1 truncate" id="DivSubProyecto" runat="server" style="text-align: right!important;">Proyecto:</div> <div class="col-md-1 truncate" id="DivSubProyecto" runat="server" style="text-align: right!important;">Proyecto:</div>
<div class="col-md-1" id="DivSubProyecto2" runat="server" > <div class="col-md-1" id="DivSubProyecto2" runat="server">
<asp:DropDownList ID="DdlSubProyecto" CssClass="form-control input-sm select2me" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="150px"> <asp:DropDownList ID="DdlSubProyecto" CssClass="form-control input-sm select2me" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="150px">
<asp:ListItem Selected="true" Text="Seleccione" Value="-1"></asp:ListItem> <asp:ListItem Selected="true" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
<asp:UpdatePanel ID="Updatetabs" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="Updatetabs" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<ajax:TabContainer ID="Tab" OnActiveTabChanged="Tab_ActiveTabChanged" AutoPostBack="true" runat="server" ActiveTabIndex="0" Width="100%"> <ajax:TabContainer ID="Tab" OnActiveTabChanged="Tab_ActiveTabChanged" AutoPostBack="true" runat="server" ActiveTabIndex="0" Width="100%">
<ajax:TabPanel ID="TabVentas" runat="server" HeaderText="Ventas"> <ajax:TabPanel ID="TabVentas" runat="server" HeaderText="Ventas">
<ContentTemplate> <ContentTemplate>
<div style="text-align: right!important"> <div style="text-align: right!important">
<input type="text" id="TxtBusquedaVentas" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaVentas','{0}')", GvVentas.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" /> <input type="text" id="TxtBusquedaVentas" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaVentas','{0}')", GvVentas.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaVentas','{0}')", GvVentas.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a> <a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaVentas','{0}')", GvVentas.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div> </div>
<asp:UpdatePanel ID="UpDatosGvVentas" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpDatosGvVentas" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<asp:GridView ID="GvVentas" ClientIDMode="Static" Width="100%" runat="server" GridLines="None" BorderWidth="0" CssClass="table table-striped table-hover Widthall ScrollAD" data-sort="true" ShowHeader="True" EmptyDataText="No se encontraron resultados." ShowHeaderWhenEmpty="true" AutoGenerateColumns="False" AllowPaging="False" ShowFooter="False"> <asp:GridView ID="GvVentas" ClientIDMode="Static" Width="100%" runat="server" GridLines="None" BorderWidth="0" CssClass="table table-striped table-hover Widthall ScrollAD" data-sort="true" ShowHeader="True" EmptyDataText="No se encontraron resultados." ShowHeaderWhenEmpty="true" AutoGenerateColumns="False" AllowPaging="False" ShowFooter="False">
<Columns> <Columns>
<asp:BoundField HeaderText="Tipo Documento" DataField="TipoDocto" ItemStyle-Width="125px" /> <asp:BoundField HeaderText="Tipo Documento" DataField="TipoDocto" ItemStyle-Width="125px" />
<asp:HyperLinkField DataNavigateUrlFields="CveVenta" DataNavigateUrlFormatString="~/Ventas/Ventas.aspx?CveVenta={0}" Target="_blank" ItemStyle-Width="15%" HeaderText="SerieFolio" ControlStyle-CssClass="Texto" DataTextField="SerieFolio" /> <asp:HyperLinkField DataNavigateUrlFields="CveVenta" DataNavigateUrlFormatString="~/Ventas/Ventas.aspx?CveVenta={0}" Target="_blank" ItemStyle-Width="15%" HeaderText="SerieFolio" ControlStyle-CssClass="Texto" DataTextField="SerieFolio" />
<asp:BoundField HeaderText="Fecha" DataField="Fecha" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" /> <asp:BoundField HeaderText="Fecha" DataField="Fecha" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" />
<asp:HyperLinkField DataNavigateUrlFields="CveCliente" DataNavigateUrlFormatString="~/Ventas/Clientes.aspx?CveCliente={0}" Target="_blank" HeaderText="Cliente" ControlStyle-CssClass="Texto" ItemStyle-HorizontalAlign="Left" DataTextField="Nombre" /> <asp:HyperLinkField DataNavigateUrlFields="CveCliente" DataNavigateUrlFormatString="~/Ventas/Clientes.aspx?CveCliente={0}" Target="_blank" HeaderText="Cliente" ControlStyle-CssClass="Texto" ItemStyle-HorizontalAlign="Left" DataTextField="Nombre" />
<asp:BoundField HeaderText="Total" DataField="Total" DataFormatString="{0:n2}" ItemStyle-HorizontalAlign="Right" /> <asp:BoundField HeaderText="Total" DataField="Total" DataFormatString="{0:n2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Sucursal" DataField="SubProyecto" /> <asp:BoundField HeaderText="Sucursal" DataField="SubProyecto" />
</Columns> </Columns>
</asp:GridView> </asp:GridView>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
</ContentTemplate> </ContentTemplate>
</ajax:TabPanel> </ajax:TabPanel>
<ajax:TabPanel ID="TabCompras" runat="server" HeaderText="Compras"> <ajax:TabPanel ID="TabCompras" runat="server" HeaderText="Compras">
<ContentTemplate> <ContentTemplate>
<div style="text-align: right!important"> <div style="text-align: right!important">
<input type="text" id="TxtBusquedaCompras" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaCompras','{0}')", GvCompras.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" /> <input type="text" id="TxtBusquedaCompras" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaCompras','{0}')", GvCompras.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaCompras','{0}')", GvCompras.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a> <a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaCompras','{0}')", GvCompras.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div> </div>
<asp:UpdatePanel ID="UpDatosGvCompras" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpDatosGvCompras" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<asp:GridView ID="GvCompras" ClientIDMode="Static" Width="100%" runat="server" GridLines="None" BorderWidth="0" CssClass="table table-striped table-hover Widthall ScrollAD" data-sort="true" ShowHeader="True" EmptyDataText="No se encontraron resultados." ShowHeaderWhenEmpty="true" AutoGenerateColumns="False" AllowPaging="False" ShowFooter="False" OnRowDataBound="GvCompras_RowDataBound"> <asp:GridView ID="GvCompras" ClientIDMode="Static" Width="100%" runat="server" GridLines="None" BorderWidth="0" DataKeyNames="CveCompra,CveCompraDetalle,CvePS" CssClass="table table-striped table-hover Widthall ScrollAD" data-sort="true" ShowHeader="True" EmptyDataText="No se encontraron resultados." ShowHeaderWhenEmpty="true" AutoGenerateColumns="False" AllowPaging="False" ShowFooter="False" OnRowDataBound="GvCompras_RowDataBound">
<Columns> <Columns>
<asp:BoundField HeaderText="Cantidad Solicitada" DataField="CantidadC" DataFormatString="{0:#,##0.##}" ItemStyle-HorizontalAlign="Right"/> <asp:BoundField HeaderText="Cantidad Solicitada" DataField="CantidadC" DataFormatString="{0:#,##0.##}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Cantidad Restante" DataField="CantidadF" DataFormatString="{0:#,##0.##}" ItemStyle-HorizontalAlign="Right" /> <asp:BoundField HeaderText="Cantidad Restante" DataField="CantidadF" DataFormatString="{0:#,##0.##}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Proveedor/Producto ó Servicio" DataField="CodigoPS" ItemStyle-HorizontalAlign="Left"/> <asp:BoundField HeaderText="Proveedor/Producto ó Servicio" DataField="CodigoPS" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField HeaderText="Total" DataField="Total" DataFormatString="{0:#,##0.##}" ItemStyle-HorizontalAlign="Right" /> <asp:BoundField HeaderText="Total" DataField="Total" DataFormatString="{0:#,##0.##}" ItemStyle-HorizontalAlign="Right" />
</Columns> <asp:TemplateField ItemStyle-Width="70px" HeaderText="Acción" ItemStyle-HorizontalAlign="Center">
</asp:GridView> <ItemTemplate>
</ContentTemplate> <span data-placement="top" data-toggle="tooltip" title="Marcar el producto como que no se recibirá">
</asp:UpdatePanel> <asp:LinkButton runat="server" OnClick="BtnActulizarEstatus_Click" CssClass="btn btn-sm red" Text="<i class='fa fa-eye-slash' aria-hidden='true'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro de marcar el producto como que no se recibirá?" data-btn-ok-label="si"></asp:LinkButton>
</span>
</ContentTemplate> </ItemTemplate>
</ajax:TabPanel> </asp:TemplateField>
</ajax:TabContainer> </Columns>
</ContentTemplate> </asp:GridView>
</asp:UpdatePanel> </ContentTemplate>
</asp:Content> </asp:UpdatePanel>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server"> </ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<%--<script src="/Scripts/DataTables.js"></script> <%--<script src="/Scripts/DataTables.js"></script>
<script type="text/javascript"> <script type="text/javascript">
@@ -247,6 +255,6 @@
$('#GvCompras').parent().parent().children().first().css("position", "static"); $('#GvCompras').parent().parent().children().first().css("position", "static");
} }
</script>--%> </script>--%>
</asp:Content> </asp:Content>

View File

@@ -70,9 +70,11 @@ Partial Class RepNotasSinAlmacen
End If End If
End Sub End Sub
Private Sub CargaPermisos() Private Sub CargaPermisos()
Dim TienePermisoImportes As Boolean = UsuarioActual.TienePermisoProceso(201) Dim TienePermisoImportes As Boolean = UsuarioActual.TienePermisoProceso(201)
Dim TienePermisoDesmarcar As Boolean = UsuarioActual.TienePermisoProceso(278)
GvVentas.Columns(4).Visible = TienePermisoImportes GvVentas.Columns(4).Visible = TienePermisoImportes
GvCompras.Columns(3).Visible = TienePermisoImportes GvCompras.Columns(3).Visible = TienePermisoImportes
GvCompras.Columns(4).Visible = TienePermisoDesmarcar
End Sub End Sub
Private Sub CargaCombos() Private Sub CargaCombos()
TxtFechaF.Text = Date.Now.ToShortDateString TxtFechaF.Text = Date.Now.ToShortDateString
@@ -261,12 +263,12 @@ Partial Class RepNotasSinAlmacen
ImprimirPDF("Empresas/Grales/Formatos/RepNotasSinAlmacenCompras.rdlc", DtNotasSinAlmacenCompras, params, "RepNotasSinAlmacenCompras", Formato:=Formato) ImprimirPDF("Empresas/Grales/Formatos/RepNotasSinAlmacenCompras.rdlc", DtNotasSinAlmacenCompras, params, "RepNotasSinAlmacenCompras", Formato:=Formato)
End If End If
End Sub End Sub
#End Region #End Region
#End Region #End Region
Protected Sub GvCompras_RowDataBound(sender As Object, e As GridViewRowEventArgs) Protected Sub GvCompras_RowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowType = DataControlRowType.DataRow Then
If Not e.Row.DBCampo("CveCompraDetalle").ToEntero > 0 Then If Not e.Row.DBCampo("CveCompraDetalle").ToEntero > 0 Then
@@ -275,9 +277,40 @@ Partial Class RepNotasSinAlmacen
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left
e.Row.Cells(1).Text = e.Row.DBCampo("Fecha").ToDate.ToShortDateString e.Row.Cells(1).Text = e.Row.DBCampo("Fecha").ToDate.ToShortDateString
e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Center e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Center
e.Row.Cells(2).Text = "<a class=""Texto"" href=""/Compras/Proveedores.aspx?CveProveedor=" & e.Row.DBCampo("CveProveedor") & """>" & e.Row.DBCampo("RazonSocial") & "</a>" e.Row.Cells(2).Text = "<a class=""Texto"" href=""/Compras/Proveedores.aspx?CveProveedor=" & e.Row.DBCampo("CveProveedor") & """>" & e.Row.DBCampo("RazonSocial") & "</a>"
If GvCompras.Columns(4).Visible Then
e.Row.Cells(4).Text = ""
End If
End If End If
End If End If
End Sub End Sub
Protected Sub BtnActulizarEstatus_Click(sender As Object, e As EventArgs)
If UsuarioActual.TienePermisoProceso(278) Then
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim CveCompraDetalle As Integer = GvRow.DataKey("CveCompraDetalle")
Dim CveCompra As Integer = GvRow.DataKey("CveCompra")
Dim CvePS As Integer = GvRow.DataKey("CveCompra")
Dim PS = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltroPrimeroValor("PSCodigo", $"CvePS = {CvePS}")
Dim ObjCompras As New ClsCompras
Dim ObjEventos As New ClsOIEventos
If ObjCompras.UpdateEstatusAlmacenDetalle(CveCompraDetalle, 1) Then
If ObjEventos.AddEventoBitacora(String.Format("Se cambio el estatus de almacen del producto/servicio: {0} a 'No Recibir'", PS), "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra:=CveCompra) Then
Alert("El producto se desmarco correctamente.")
End If
End If
ObjCompras.Dispose()
ObjEventos.Dispose()
CargaDatos()
End If
End Sub
End Class End Class

View File

@@ -828,8 +828,7 @@
<ajax:FilteredTextBoxExtender ID="SoloNumerosDescuento" runat="server" TargetControlID="TxtDescuentoAdd" FilterType="Custom, Numbers" ValidChars="." /> <ajax:FilteredTextBoxExtender ID="SoloNumerosDescuento" runat="server" TargetControlID="TxtDescuentoAdd" FilterType="Custom, Numbers" ValidChars="." />
<asp:CustomValidator ID="CVDescuento" runat="server" ClientValidationFunction="ValidaDecimal6digitsEmpty" ControlToValidate="TxtDescuentoAdd" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descuento''</b> no tiene el formato correcto, por favor corrija e intente de nuevo (Solo formato numérico con máximo seis decimales)." ValidateEmptyText="True" ValidationGroup="GrpDetalleGuardar"></asp:CustomValidator> <asp:CustomValidator ID="CVDescuento" runat="server" ClientValidationFunction="ValidaDecimal6digitsEmpty" ControlToValidate="TxtDescuentoAdd" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descuento''</b> no tiene el formato correcto, por favor corrija e intente de nuevo (Solo formato numérico con máximo seis decimales)." ValidateEmptyText="True" ValidationGroup="GrpDetalleGuardar"></asp:CustomValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="CVDescuento" Width="300px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="CVDescuento" Width="300px"></ajax:ValidatorCalloutExtender>
<asp:RequiredFieldValidator ID="RfvDescuento" runat="server" ControlToValidate="TxtDescuentoAdd" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descuento''</b> es necesario, por favor ingréselo." ValidationGroup="GrpDetalleGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VceDescuento" runat="server" HighlightCssClass="vco" TargetControlID="RfvDescuento" Width="300px"></ajax:ValidatorCalloutExtender>
</td> </td>
<td style="text-align: right; padding-right: 7px;"> <td style="text-align: right; padding-right: 7px;">
<asp:TextBox runat="server" ID="Total" ClientIDMode="Static" CssClass="alineanum" Width="55px" Height="24px" Enabled="false"></asp:TextBox> <asp:TextBox runat="server" ID="Total" ClientIDMode="Static" CssClass="alineanum" Width="55px" Height="24px" Enabled="false"></asp:TextBox>

View File

@@ -40,14 +40,14 @@
<div class="portlet-title"> <div class="portlet-title">
<div class="caption font-blue"> <div class="caption font-blue">
<i class="fa fa-file-text-o font-blue"></i> <i class="fa fa-file-text-o font-blue"></i>
<span class="caption-subject bold uppercase">Facturas emitidas en el sat sin registrar (<%= GVConciliacionemitidasSAT.Rows.Count %>)</span> <span class="caption-subject bold uppercase">Facturas emitidas en el sat sin registrar <asp:Literal ID="Ltlsinregistrar" runat="server"></asp:Literal> de <asp:Literal ID="ltlTotal" runat="server"></asp:Literal></span>
</div> </div>
<div class="tools"> <div class="tools">
<a href="javascript:;" class="collapse"></a> <a href="javascript:;" class="collapse"></a>
</div> </div>
<div style="float: right;"> <div style="float: right;"><label id="Contador"></label>
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="FiltrarTabla('TxtBusqueda','GVConciliacionemitidasSAT')" style="display: inline-block; margin-right: -20px; width: 150px;"> <input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="FiltrarTabla('#TxtBusqueda','.GVConciliacionemitidasSAT','#Contador')" style="display: inline-block; margin-right: -20px; width: 150px;">
<a href="javascript:;" onclick="FiltrarTabla('TxtBusqueda','GVConciliacionemitidasSAT')" style="margin-top: -3px;" class="btn btn-circle btn-sm font-bold blue"><i class="icon-magnifier" style="font-weight: bold;"></i></a> <a href="javascript:;" onclick="FiltrarTabla('#TxtBusqueda','.GVConciliacionemitidasSAT','#Contador')" style="margin-top: -3px;" class="btn btn-circle btn-sm font-bold blue"><i class="icon-magnifier" style="font-weight: bold;"></i></a>
</div> </div>
</div> </div>
<div class="portlet-body "> <div class="portlet-body ">
@@ -98,14 +98,15 @@
<ItemTemplate> <ItemTemplate>
<%--<asp:Label ID="lblrutaXml" runat="server" Text='<%# Eval("RutaXml")%>'> </asp:Label>--%> <%--<asp:Label ID="lblrutaXml" runat="server" Text='<%# Eval("RutaXml")%>'> </asp:Label>--%>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText=""> <asp:TemplateField HeaderText="">
<ItemTemplate> <ItemTemplate>
<asp:HyperLink runat="server" NavigateUrl='<%# Eval("CveVenta","/Ventas/Ventas.aspx?CveVenta={0}") %>' CssClass="btn btn-circle btn-sm btn-success" Visible='<%# (Eval("CveVenta").ToString() =="" ? false :true) %>' ><i class="fa fa-info"></i>r</asp:HyperLink> <asp:HyperLink runat="server" NavigateUrl='<%# Eval("CveVenta","/Ventas/Ventas.aspx?CveVenta={0}") %>' CssClass="btn btn-circle btn-sm btn-success" Visible='<%# (Eval("CveVenta").ToString() =="" ? false :true) %>'><i class="fa fa-info"></i>r</asp:HyperLink>
<asp:LinkButton ID="LnkRegistrar" Visible='<%# Eval("CveVenta").ToString() =="" %>' runat="server" data-toggle="tooltip" ToolTip="Registrar" CssClass="btn btn-circle btn-sm blue" OnClick="LnkRegistrar_Click"><i class="fa fa-plus"></i></asp:LinkButton> <asp:LinkButton ID="LnkRegistrar" Visible='<%# Eval("CveVenta").ToString() =="" %>' runat="server" data-toggle="tooltip" ToolTip="Registrar" CssClass="btn btn-circle btn-sm blue" OnClick="LnkRegistrar_Click"><i class="fa fa-plus"></i></asp:LinkButton>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
</Columns> </Columns>
<HeaderStyle CssClass ="SearchADHeader" />
</asp:GridView> </asp:GridView>
</div> </div>
</div> </div>
@@ -153,6 +154,15 @@
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server"> <asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script> <script>
$('#DModalDefaults').modal(); $('#DModalDefaults').modal();
function FiltrarTabla(idtxt, idtable, idcontador) {
if ($('' + idtxt).val() == '') { $('table' + idtable + ' tr').css('display', 'table-row'); }
else { $('table' + idtable + ' tr:not(.ADtr):not(.SearchADHeader)').css('display', 'none'); $('table' + idtable + ' tr:contains("' + $('' + idtxt).val() + '")').css('display', 'table-row'); }
if ($('' + idcontador).length > 0) {
$('' + idcontador).html('(' + $('' + idtable + ' tr:not(.ADtr):not(.SearchADHeader):visible').length +'/'+ $('' + idtable + ' tr:not(.ADtr):not(.SearchADHeader)').length + ')');
}
}
</script> </script>
</asp:Content> </asp:Content>

View File

@@ -11,6 +11,7 @@ using Extensiones;
using System.Data; using System.Data;
using System.Text; using System.Text;
using ADSistemaLibrary.SatXml; using ADSistemaLibrary.SatXml;
//using ADS_CFDI_SAT;
public partial class Ventas_RepConciliacionEmitidosSat : ClsPaginas public partial class Ventas_RepConciliacionEmitidosSat : ClsPaginas
{ {
@@ -44,7 +45,7 @@ public partial class Ventas_RepConciliacionEmitidosSat : ClsPaginas
DdlPS.setEsWebService(false); DdlPS.setEsWebService(false);
DdlPS.ddl.DataSource = get_GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion: CveClasificacion, Estatus: 1, AplicaParaVenta: 1); DdlPS.ddl.DataSource = get_GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion: CveClasificacion, Estatus: 1, AplicaParaVenta: 1);
DdlPS.ddl.DataBind(); DdlPS.ddl.DataBind();
} }
} }
} }
protected void CargaConciliacionemitidasSATGet() protected void CargaConciliacionemitidasSATGet()
@@ -52,6 +53,8 @@ public partial class Ventas_RepConciliacionEmitidosSat : ClsPaginas
ClsVentas ObjV = new ClsVentas(); ClsVentas ObjV = new ClsVentas();
ObjV.ConciliacionemitidasSATGet(UsuarioActual.CveEmpresa); ObjV.ConciliacionemitidasSATGet(UsuarioActual.CveEmpresa);
GVConciliacionemitidasSAT.DataSource = ObjV.DtResultados.FiltraParametros("", "CveVenta"); GVConciliacionemitidasSAT.DataSource = ObjV.DtResultados.FiltraParametros("", "CveVenta");
Ltlsinregistrar.Text = $"{ObjV.DtResultados.COUNT("FolioFiscal","CveVenta IS NULL")}";
ltlTotal.Text = $"{ObjV.DtResultados.Rows.Count}";
ObjV.Dispose(); ObjV.Dispose();
GVConciliacionemitidasSAT.DataBind(); GVConciliacionemitidasSAT.DataBind();
UpDatosReporte.Update(); UpDatosReporte.Update();
@@ -229,6 +232,39 @@ public partial class Ventas_RepConciliacionEmitidosSat : ClsPaginas
int CvePsReconstruccion = DdlPS.SelectedValue.ToEntero(); int CvePsReconstruccion = DdlPS.SelectedValue.ToEntero();
int CveSubProyectoReconstruccion = DdlSubProyectoDatos.SelectedValue.ToEntero(); int CveSubProyectoReconstruccion = DdlSubProyectoDatos.SelectedValue.ToEntero();
//Modelos.Factura.MMensajeFactura resp; //Modelos.Factura.MMensajeFactura resp;
string Moneda = objxml.comprobante.Moneda;
if (objxml.comprobante.Version == "3.2")
{
switch (Moneda)
{
case "Peso Mexicano": Moneda = "MXN"; break;
case "Dolar Americano": Moneda = "USD"; break;
}
}
string formadepago = objxml.comprobante.FormaPago;
string metododepago = objxml.comprobante.MetodoPago;
if (objxml.comprobante.Version == "3.2")
{
switch (objxml.comprobante.MetodoPago)//si es correcto estan invertidos
{
case "TRANSFERENCIA ELECTRONICA": formadepago = "03"; break;
default: formadepago = objxml.comprobante.MetodoPago; break;
}
}
if (objxml.comprobante.Version == "3.2")
{
switch (objxml.comprobante.FormaPago)//si es correcto estan invertidos
{
case "PAGO EN UNA SOLA EXHIBICION": metododepago = "PUE"; break;
default: metododepago = objxml.comprobante.FormaPago; break;
}
}
Modelos.Factura objfact = new Modelos.Factura(UsuarioActual) Modelos.Factura objfact = new Modelos.Factura(UsuarioActual)
{ {
TipoMensajeRespuesta = Modelos.TipoMensajeRespuesta.TextoLimpio,//?que es esto TipoMensajeRespuesta = Modelos.TipoMensajeRespuesta.TextoLimpio,//?que es esto
@@ -242,8 +278,8 @@ public partial class Ventas_RepConciliacionEmitidosSat : ClsPaginas
TipoCambio = objxml.comprobante.TipoCambio, TipoCambio = objxml.comprobante.TipoCambio,
//ConvertirPesos =false,//?para que sirve //ConvertirPesos =false,//?para que sirve
MonedaSAT = objxml.comprobante.Moneda, MonedaSAT = objxml.comprobante.Moneda,
CveMoneda = GlobalDTMonedas.FiltroPrimeroValor("CveMoneda", $" AbreviaturaSAT= '{objxml.comprobante.Moneda}' ").ToEntero(), CveMoneda = GlobalDTMonedas.FiltroPrimeroValor("CveMoneda", $" AbreviaturaSAT= '{Moneda}' ").ToEntero(),
Moneda = GlobalDTMonedas.FiltroPrimeroValor("Moneda", $" AbreviaturaSAT= '{objxml.comprobante.Moneda}' "), Moneda = GlobalDTMonedas.FiltroPrimeroValor("Moneda", $" AbreviaturaSAT= '{Moneda}' "),
TipoDocto = objxml.comprobante.TipoDeComprobanteSIG, TipoDocto = objxml.comprobante.TipoDeComprobanteSIG,
RefDocto = "", RefDocto = "",
CveMesa = -1, CveMesa = -1,
@@ -292,11 +328,11 @@ public partial class Ventas_RepConciliacionEmitidosSat : ClsPaginas
} }
objfact.CveAlmacen = -1; objfact.CveAlmacen = -1;
objfact.CveFormaPago33 = GlobalDTVtaFormaPago.FiltroPrimeroValor("CveFormaPago", $"ClaveFormaPagoSAT = '{objxml.comprobante.FormaPago}'").ToEntero(); objfact.CveFormaPago33 = GlobalDTVtaFormaPago.FiltroPrimeroValor("CveFormaPago", $"ClaveFormaPagoSAT = '{formadepago}'").ToEntero();
objfact.FormaPagoSAT33 = objxml.comprobante.FormaPago; objfact.FormaPagoSAT33 = objxml.comprobante.FormaPago;
objfact.FormaPago33 = objxml.comprobante.FormaPagoTexto; objfact.FormaPago33 = objxml.comprobante.FormaPagoTexto;
objfact.CveMetodoPago33 = GlobalDTVtaMetodoPago.FiltroPrimeroValor("CveMetodoPago", $" ClaveMetodoPagoSAT = '{objxml.comprobante.MetodoPago}'").ToEntero(); objfact.CveMetodoPago33 = GlobalDTVtaMetodoPago.FiltroPrimeroValor("CveMetodoPago", $" ClaveMetodoPagoSAT = '{metododepago}'").ToEntero();
objfact.CveMetodoPago = GlobalDTVtaMetodoPago.FiltroPrimeroValor("CveMetodoPago", $" ClaveMetodoPagoSAT = '{objxml.comprobante.MetodoPago}'").ToEntero(); objfact.CveMetodoPago = GlobalDTVtaMetodoPago.FiltroPrimeroValor("CveMetodoPago", $" ClaveMetodoPagoSAT = '{metododepago}'").ToEntero();
objfact.ClaveMetodoPagoSAT = objxml.comprobante.MetodoPago; objfact.ClaveMetodoPagoSAT = objxml.comprobante.MetodoPago;
objfact.MetodoPago33 = objxml.comprobante.MetodoPagoTexto; objfact.MetodoPago33 = objxml.comprobante.MetodoPagoTexto;
objfact.CveUsoCFDI = get_GlobalDTSATUsosCFDI(-1).FiltroPrimeroValor("CveUsoCFDI", $"UsoCFDI = '{objxml.receptor.UsoCFDI}'").ToEntero(); objfact.CveUsoCFDI = get_GlobalDTSATUsosCFDI(-1).FiltroPrimeroValor("CveUsoCFDI", $"UsoCFDI = '{objxml.receptor.UsoCFDI}'").ToEntero();
@@ -304,16 +340,16 @@ public partial class Ventas_RepConciliacionEmitidosSat : ClsPaginas
objfact.ClaveUsoCFDI = objxml.receptor.UsoCFDI; objfact.ClaveUsoCFDI = objxml.receptor.UsoCFDI;
objfact.CveClienteSucursal = -1; objfact.CveClienteSucursal = -1;
objfact.DtDetalle = CreaDTDetalle(UsuarioActual, objxml.conceptos, objfact.CveSubProyecto, CvePsReconstruccion); objfact.DtDetalle = CreaDTDetalle(UsuarioActual, objxml.conceptos, objfact.CveSubProyecto, CvePsReconstruccion, objxml);
objfact.TipoCambioDolares = objxml.comprobante.TipoCambio;
objfact.SubTotal = objxml.comprobante.SubTotal; objfact.SubTotal = objxml.comprobante.SubTotal;
objfact.Descuento = objxml.comprobante.Descuento; objfact.Descuento = objxml.comprobante.Descuento;
objfact.Amortizacion = 0; objfact.Amortizacion = 0;
objfact.IVA = objxml.Impuestos.Where(x => x.Impuesto == "002" && x.Tipo == "Traslados").Sum(item => item.Importe); objfact.IVA = objxml.Impuestos.Where(x => (x.Impuesto == "002" || x.Impuesto == "IVA") && x.Tipo == "Traslados").Sum(item => item.Importe);
objfact.RetIVA = objxml.Impuestos.Where(x => x.Impuesto == "002" && x.Tipo == "Retenciones").Sum(item => item.Importe); objfact.RetIVA = objxml.Impuestos.Where(x => (x.Impuesto == "002" || x.Impuesto == "IVA") && x.Tipo == "Retenciones").Sum(item => item.Importe);
objfact.RetISR = objxml.Impuestos.Where(x => x.Impuesto == "001" && x.Tipo == "Retenciones").Sum(item => item.Importe); objfact.RetISR = objxml.Impuestos.Where(x => (x.Impuesto == "001" || x.Impuesto == "ISR") && x.Tipo == "Retenciones").Sum(item => item.Importe);
objfact.IEPS = objxml.Impuestos.Where(x => x.Impuesto == "003").Sum(item => item.Importe); objfact.IEPS = objxml.Impuestos.Where(x => (x.Impuesto == "003" || x.Impuesto == "IEPS")).Sum(item => item.Importe);
objfact.Total = objxml.comprobante.Total; objfact.Total = objxml.comprobante.Total;
objfact.TotalOtrosConceptos = 0; objfact.TotalOtrosConceptos = 0;
@@ -328,7 +364,7 @@ public partial class Ventas_RepConciliacionEmitidosSat : ClsPaginas
} }
return objfact; return objfact;
} }
private DataTable CreaDTDetalle(Usuario UsuarioActual, List<CFDIConcepto> conceptos, int CveSubProyecto, int CvePsReconstruccion) private DataTable CreaDTDetalle(Usuario UsuarioActual, List<CFDIConcepto> conceptos, int CveSubProyecto, int CvePsReconstruccion, XmlSatCFDI objxml)
{ {
bool continuar = true; bool continuar = true;
var TmpDT = new DataTable(); var TmpDT = new DataTable();
@@ -433,14 +469,29 @@ public partial class Ventas_RepConciliacionEmitidosSat : ClsPaginas
} }
DrSubProyecto = get_GlobalDTSubProyectos(-1, CveSubProyecto, UsuarioActual.CveEmpresa).Rows[0]; DrSubProyecto = get_GlobalDTSubProyectos(-1, CveSubProyecto, UsuarioActual.CveEmpresa).Rows[0];
if (objxml.comprobante.Version == "3.2")
{
item.ClaveUnidad = item.Unidad;
switch (item.ClaveUnidad)
{
case "TON": item.ClaveUnidad = "A75"; break;
case "No aplica": item.ClaveUnidad = "ACT"; break;
case "LITROS": item.ClaveUnidad = "E32"; break;
case "M3-KM": item.ClaveUnidad = "M73"; break;
}
}
DrUmSat = GlobalDTPSATUM.FiltroPrimero(string.Format("SATClaveUnidadMedida='{0}'", item.ClaveUnidad)); DrUmSat = GlobalDTPSATUM.FiltroPrimero(string.Format("SATClaveUnidadMedida='{0}'", item.ClaveUnidad));
} }
if (continuar && DrUmSat == null ) { continuar = false; strErrores.AppendLine($"No se encontro la unidad de medida en el catalogo del sat '{item.ClaveUnidad}', favor de contactar a soporte tecnico."); } if (continuar && DrUmSat == null) { continuar = false; strErrores.AppendLine($"No se encontro la unidad de medida en el catalogo del sat '{item.ClaveUnidad}', favor de contactar a soporte tecnico."); }
if (continuar) if (continuar)
{ {
DrUm = get_GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimero(string.Format("CveUnidadMedidaSAT={0}", DrUmSat["CveSATUnidadMedida"])); DrUm = get_GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimero(string.Format("CveUnidadMedidaSAT={0}", DrUmSat["CveSATUnidadMedida"]));
} }
if (continuar && DrUm == null) { continuar = false; strErrores.AppendLine($"No se encontro la unidad de medida relacionada a la clave del sat '{item.ClaveUnidad}', favor de asignarla en el catalogo de unidad de medida."); } if (continuar && DrUm == null) { continuar = false; strErrores.AppendLine($"No se encontro la unidad de medida relacionada a la clave del sat '{item.ClaveUnidad}', favor de asignarla en el catalogo de unidad de medida."); }
if (continuar) if (continuar)
{ {
//no se encontro una undidad de medida para //no se encontro una undidad de medida para
@@ -475,24 +526,34 @@ public partial class Ventas_RepConciliacionEmitidosSat : ClsPaginas
Row["CveTipoPS"] = DrPS["CveTipoPS"]; Row["CveTipoPS"] = DrPS["CveTipoPS"];
Row["CveTipoInvPS"] = DrPS["Inv_CveMetodoInventario"]; Row["CveTipoInvPS"] = DrPS["Inv_CveMetodoInventario"];
Row["CveTamaño"] = DrPS["CveTamaño"]; Row["CveTamaño"] = DrPS["CveTamaño"];
ADSistemaLibrary.SatXml.CFDIConceptoImpuesto impuesto = item.Impuestos.FirstOrDefault(x => x.Impuesto == "002" && x.Tipo == "Traslado"); CFDIConceptoImpuesto impuesto = item.Impuestos.FirstOrDefault(x => x.Impuesto == "002" && x.Tipo == "Traslado");
decimal sumaimpuesto=0; decimal sumaimpuesto = 0;
decimal PorcentajeIVA = 0; decimal PorcentajeIVA = 0;
if (impuesto != null) if (impuesto != null)
{ {
decimal decimpuesto = 0; decimal decimpuesto = 0;
decimal.TryParse(impuesto.TasaOCuota, out decimpuesto); decimal.TryParse(impuesto.TasaOCuota, out decimpuesto);
PorcentajeIVA = decimpuesto/100; PorcentajeIVA = decimpuesto / 100;
Row["PorcentajeIVA"] = decimpuesto / 100; Row["PorcentajeIVA"] = PorcentajeIVA;
Row["ImporteIVA"] = decimpuesto / 100;// impuesto.Importe;//Math.Round(item.Importe * (decimpuesto/100), 2); Row["ImporteIVA"] = impuesto.Importe ;// impuesto.Importe;//Math.Round(item.Importe * (decimpuesto/100), 2);
sumaimpuesto += impuesto.Importe; sumaimpuesto += impuesto.Importe;
} }
else else
{ {
Row["PorcentajeIVA"] = 0; Row["PorcentajeIVA"] = 0;
Row["ImporteIVA"] = 0; Row["ImporteIVA"] = 0;
if (objxml.comprobante.Version == "3.2")
{
if (item.Importe > 0)
{
PorcentajeIVA = .16M;
Row["PorcentajeIVA"] = PorcentajeIVA;
Row["ImporteIVA"] = item.Importe * PorcentajeIVA;//Math.Round(((item.Importe / (1 + PorcentajeIVA))*.16M),2);
}
}
} }
Row["IVA"] = Row["PorcentajeIVA"]; Row["IVA"] = Row["ImporteIVA"];
impuesto = item.Impuestos.FirstOrDefault(x => x.Impuesto == "003" && x.Tipo == "Traslado"); impuesto = item.Impuestos.FirstOrDefault(x => x.Impuesto == "003" && x.Tipo == "Traslado");
if (impuesto != null) if (impuesto != null)
{ {
@@ -541,7 +602,7 @@ public partial class Ventas_RepConciliacionEmitidosSat : ClsPaginas
Row["TipoDescuento"] = "2"; Row["TipoDescuento"] = "2";
//Row["Total"] = item.Importe - sumaimpuesto; //Row["Total"] = item.Importe - sumaimpuesto;
Row["Total"] = item.Importe /(1+ PorcentajeIVA); Row["Total"] = item.Importe / (1 + PorcentajeIVA);
Row["TotalImporte"] = item.Importe; Row["TotalImporte"] = item.Importe;
Row["SATClaveProdServ"] = item.ClaveProdServ; Row["SATClaveProdServ"] = item.ClaveProdServ;
@@ -579,14 +640,12 @@ public partial class Ventas_RepConciliacionEmitidosSat : ClsPaginas
} }
} }
/* /*
//SatCFDI
namespace ADS_CFDI_SAT namespace ADS_CFDI_SAT
{ {
/// <summary> /// <summary>
/// clase para contener los valores de un xml CFDI /// clase para contener los valores de un xml CFDI cambio norama
/// </summary> /// </summary>
public class XmlSatCFDI public class XmlSatCFDI
{ {
@@ -660,6 +719,7 @@ namespace ADS_CFDI_SAT
return lcon; return lcon;
} }
public static XmlSatCFDI readXML(string fileUrl) public static XmlSatCFDI readXML(string fileUrl)
{ {
XmlSatCFDI xmlCFDI = new XmlSatCFDI(); XmlSatCFDI xmlCFDI = new XmlSatCFDI();
@@ -677,7 +737,11 @@ namespace ADS_CFDI_SAT
//(canread = xtr.Read()) para evitar ciclos infinitos, todos los .Read() los guardo en la variable Canread y en los while reviso primero esta variable //(canread = xtr.Read()) para evitar ciclos infinitos, todos los .Read() los guardo en la variable Canread y en los while reviso primero esta variable
if (File.Exists(fileUrl)) if (File.Exists(fileUrl))
{ {
using (XmlTextReader xtr = new XmlTextReader(fileUrl)) XmlReaderSettings settings = new XmlReaderSettings();
settings.ConformanceLevel = ConformanceLevel.Fragment;
settings.IgnoreWhitespace = true;
settings.IgnoreComments = true;
using (XmlReader xtr = XmlReader.Create(fileUrl, settings))
{ {
while ((canread = xtr.Read()) && !(xtr.NodeType == XmlNodeType.Element && xtr.Name == keyComprobante)) while ((canread = xtr.Read()) && !(xtr.NodeType == XmlNodeType.Element && xtr.Name == keyComprobante))
@@ -686,40 +750,40 @@ namespace ADS_CFDI_SAT
} }
if (xtr.NodeType == XmlNodeType.Element && xtr.Name == keyComprobante) if (xtr.NodeType == XmlNodeType.Element && xtr.Name == keyComprobante)
{ {
xmlCFDI.comprobante.xmlns_cfdi = xtr.GetAttribute("xmlns:cfdi");
xmlCFDI.comprobante.xmlns_xsi = xtr.GetAttribute("xmlns:xsi");
xmlCFDI.comprobante.xsi_schemaLocation = xtr.GetAttribute("xsi:schemaLocation");
xmlCFDI.comprobante.Version = xtr.GetAttribute("Version");
xmlCFDI.comprobante.Serie = xtr.GetAttribute("Serie");
xmlCFDI.comprobante.Folio = xtr.GetAttribute("Folio");
xmlCFDI.comprobante.Fecha = xtr.GetAttribute("Fecha");
xmlCFDI.comprobante.Moneda = xtr.GetAttribute("Moneda");
decimal SubTotal = 0;
decimal.TryParse(xtr.GetAttribute("SubTotal"), out SubTotal);
xmlCFDI.comprobante.SubTotal = SubTotal;
decimal Total = 0;
decimal.TryParse(xtr.GetAttribute("Total"), out Total);
xmlCFDI.comprobante.Total = Total;
decimal Descuento = 0;
decimal.TryParse(xtr.GetAttribute("Descuento"), out Descuento);
xmlCFDI.comprobante.Descuento = Descuento;
decimal TipoCambio = 0;
decimal.TryParse(xtr.GetAttribute("TipoCambio"), out TipoCambio);
xmlCFDI.comprobante.TipoCambio = TipoCambio;
xmlCFDI.comprobante.TipoDeComprobante = xtr.GetAttribute("TipoDeComprobante");
xmlCFDI.comprobante.FormaPago = xtr.GetAttribute("FormaPago");
xmlCFDI.comprobante.MetodoPago = xtr.GetAttribute("MetodoPago");
xmlCFDI.comprobante.CondicionesDePago = xtr.GetAttribute("CondicionesDePago");
xmlCFDI.comprobante.LugarExpedicion = xtr.GetAttribute("LugarExpedicion");
xmlCFDI.comprobante.Confirmacion = xtr.GetAttribute("Confirmacion");
xmlCFDI.comprobante.NoCertificado = xtr.GetAttribute("NoCertificado");
xmlCFDI.comprobante.Sello = xtr.GetAttribute("Sello");
xmlCFDI.comprobante.Certificado = xtr.GetAttribute("Certificado");
int Nivel = xtr.Depth; int Nivel = xtr.Depth;
bool cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "XMLNS:CFDI": xmlCFDI.comprobante.xmlns_cfdi = xtr.Value; break;
case "XMLNS:XSI": xmlCFDI.comprobante.xmlns_xsi = xtr.Value; break;
case "XSI:SCHEMALOCATION": xmlCFDI.comprobante.xsi_schemaLocation = xtr.Value; break;
case "VERSION": xmlCFDI.comprobante.Version = xtr.Value; break;
case "SERIE": xmlCFDI.comprobante.Serie = xtr.Value; break;
case "FOLIO": xmlCFDI.comprobante.Folio = xtr.Value; break;
case "FECHA": xmlCFDI.comprobante.Fecha = xtr.Value; break;
case "MONEDA": xmlCFDI.comprobante.Moneda = xtr.Value; break;
case "SUBTOTAL": decimal SubTotal = 0; decimal.TryParse(xtr.Value, out SubTotal); xmlCFDI.comprobante.SubTotal = SubTotal; break;
case "TOTAL": decimal Total = 0; decimal.TryParse(xtr.Value, out Total); xmlCFDI.comprobante.Total = Total; break;
case "DESCUENTO": decimal Descuento = 0; decimal.TryParse(xtr.Value, out Descuento); xmlCFDI.comprobante.Descuento = Descuento; break;
case "TIPOCAMBIO": decimal TipoCambio = 0; decimal.TryParse(xtr.Value, out TipoCambio); xmlCFDI.comprobante.TipoCambio = TipoCambio; break;
case "TIPODECOMPROBANTE": xmlCFDI.comprobante.TipoDeComprobante = xtr.Value; break;
case "FORMAPAGO": xmlCFDI.comprobante.FormaPago = xtr.Value; break;
case "FORMADEPAGO": xmlCFDI.comprobante.FormaPago = xtr.Value; break;
case "METODOPAGO": xmlCFDI.comprobante.MetodoPago = xtr.Value; break;
case "METODODEPAGO": xmlCFDI.comprobante.MetodoPago = xtr.Value; break;
case "CONDICIONESDEPAGO": xmlCFDI.comprobante.CondicionesDePago = xtr.Value; break;
case "LUGAREXPEDICION": xmlCFDI.comprobante.LugarExpedicion = xtr.Value; break;
case "CONFIRMACION": xmlCFDI.comprobante.Confirmacion = xtr.Value; break;
case "NOCERTIFICADO": xmlCFDI.comprobante.NoCertificado = xtr.Value; break;
case "SELLO": xmlCFDI.comprobante.Sello = xtr.Value; break;
case "CERTIFICADO": xmlCFDI.comprobante.Certificado = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
cont = xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { } while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
while (canread && xtr.Depth > Nivel) while (canread && xtr.Depth > Nivel)
{ {
@@ -727,8 +791,18 @@ namespace ADS_CFDI_SAT
{ {
if (xtr.NodeType == XmlNodeType.Element && xtr.Name == keyCfdiRelacionados) if (xtr.NodeType == XmlNodeType.Element && xtr.Name == keyCfdiRelacionados)
{ {
string TipoRelacion = xtr.GetAttribute("TipoRelacion");
int cDepth = xtr.Depth; int cDepth = xtr.Depth;
string TipoRelacion = null;
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "TIPORELACION": TipoRelacion = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { } while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
while (canread && xtr.Depth > cDepth) while (canread && xtr.Depth > cDepth)
{ {
@@ -745,22 +819,40 @@ namespace ADS_CFDI_SAT
} }
if (xtr.NodeType == XmlNodeType.Element && xtr.Name == keyEmisor) if (xtr.NodeType == XmlNodeType.Element && xtr.Name == keyEmisor)
{ {
xmlCFDI.emisor.RegimenFiscal = xtr.GetAttribute("RegimenFiscal");
xmlCFDI.emisor.Nombre = xtr.GetAttribute("Nombre");
xmlCFDI.emisor.Rfc = xtr.GetAttribute("Rfc");
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { } int curentNivel = xtr.Depth;
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "REGIMENFISCAL": xmlCFDI.emisor.RegimenFiscal = xtr.Value; break;
case "NOMBRE": xmlCFDI.emisor.Nombre = xtr.Value; break;
case "RFC": xmlCFDI.emisor.Rfc = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
while ((canread = xtr.Read()) && !(xtr.NodeType == XmlNodeType.Element && curentNivel >= xtr.Depth)) { }//continua hasta que no tenga nodos y (el nodo sea tipo elemnto y ete en el mismo nivel)
} }
if (xtr.NodeType == XmlNodeType.Element && xtr.Name == keyReceptor) if (xtr.NodeType == XmlNodeType.Element && xtr.Name == keyReceptor)
{ {
xmlCFDI.receptor.Rfc = xtr.GetAttribute("Rfc"); int curentNivel = xtr.Depth;
xmlCFDI.receptor.Nombre = xtr.GetAttribute("Nombre"); cont = xtr.MoveToFirstAttribute();
xmlCFDI.receptor.ResidenciaFiscal = xtr.GetAttribute("ResidenciaFiscal"); while (cont)
xmlCFDI.receptor.NumRegIdTrib = xtr.GetAttribute("NumRegIdTrib"); {
xmlCFDI.receptor.UsoCFDI = xtr.GetAttribute("UsoCFDI"); switch (xtr.Name.ToUpper())
{
case "RFC": xmlCFDI.receptor.Rfc = xtr.Value; break;
case "NOMBRE": xmlCFDI.receptor.Nombre = xtr.Value; break;
case "RESIDENCIAFISCAL": xmlCFDI.receptor.ResidenciaFiscal = xtr.Value; break;
case "NUMREGIDTRIB": xmlCFDI.receptor.NumRegIdTrib = xtr.Value; break;
case "USOCFDI": xmlCFDI.receptor.UsoCFDI = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { } while ((canread = xtr.Read()) && !(xtr.NodeType == XmlNodeType.Element && curentNivel >= xtr.Depth)) { }//continua hasta que no tenga nodos y (el nodo sea tipo elemnto y ete en el mismo nivel)
} }
if (xtr.NodeType == XmlNodeType.Element && xtr.Name == keyConceptos) if (xtr.NodeType == XmlNodeType.Element && xtr.Name == keyConceptos)
{ {
@@ -770,25 +862,27 @@ namespace ADS_CFDI_SAT
{ {
if (xtr.Name == "cfdi:Concepto") if (xtr.Name == "cfdi:Concepto")
{ {
CFDIConcepto concepto = new CFDIConcepto();
concepto.ClaveProdServ = xtr.GetAttribute("ClaveProdServ");
concepto.NoIdentificacion = xtr.GetAttribute("NoIdentificacion");
concepto.Cantidad = xtr.GetAttribute("Cantidad");
concepto.ClaveUnidad = xtr.GetAttribute("ClaveUnidad");
concepto.Unidad = xtr.GetAttribute("Unidad");
decimal ValorUnitario = 0;
decimal.TryParse(xtr.GetAttribute("ValorUnitario"), out ValorUnitario);
concepto.ValorUnitario = ValorUnitario;
decimal Importe = 0;
decimal.TryParse(xtr.GetAttribute("Importe"), out Importe);
concepto.Importe = Importe;
decimal DDescuento = 0;
decimal.TryParse(xtr.GetAttribute("Descuento"), out DDescuento);
concepto.Descuento = DDescuento;
concepto.Descripcion = xtr.GetAttribute("Descripcion");
int cDepthb = xtr.Depth; int cDepthb = xtr.Depth;
CFDIConcepto concepto = new CFDIConcepto();
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "CLAVEPRODSERV": concepto.ClaveProdServ = xtr.Value; break;
case "NOIDENTIFICACION": concepto.NoIdentificacion = xtr.Value; break;
case "CANTIDAD": concepto.Cantidad = xtr.Value; break;
case "CLAVEUNIDAD": concepto.ClaveUnidad = xtr.Value; break;
case "UNIDAD": concepto.Unidad = xtr.Value; break;
case "VALORUNITARIO": decimal ValorUnitario = 0; decimal.TryParse(xtr.Value, out ValorUnitario); concepto.ValorUnitario = ValorUnitario; ; break;
case "IMPORTE": decimal Importe = 0; decimal.TryParse(xtr.Value, out Importe); concepto.Importe = Importe; ; break;
case "DESCUENTO": decimal DDescuento = 0; decimal.TryParse(xtr.Value, out DDescuento); concepto.Descuento = DDescuento; ; break;
case "DESCRIPCION": concepto.Descripcion = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { } while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
while (canread && xtr.Depth > cDepthb) while (canread && xtr.Depth > cDepthb)
{ {
@@ -850,14 +944,14 @@ namespace ADS_CFDI_SAT
while (canread && xtr.Depth > cDepth) while (canread && xtr.Depth > cDepth)
{ {
CFDIImpuesto impuest = new CFDIImpuesto(); CFDIImpuesto impuest = new CFDIImpuesto();
if (xtr.Name == "cfdi:Traslado" || xtr.Name == "cfdi:Retencion") if (xtr.Name == "cfdi:Traslado" || xtr.Name == "cfdi:Retencion" && xmlCFDI.comprobante.Version != null)
{ {
impuest.Tipo = xtr.LocalName == "Traslado" ? "Traslados" : (xtr.LocalName == "Retencion" ? "Retenciones" : ""); impuest.Tipo = xtr.LocalName == "Traslado" ? "Traslados" : (xtr.LocalName == "Retencion" ? "Retenciones" : "");
impuest.Impuesto = xtr.GetAttribute("Impuesto"); impuest.Impuesto = xmlCFDI.comprobante.Version == "3.3" ? xtr.GetAttribute("Impuesto") : xtr.GetAttribute("impuesto");
impuest.TipoFactor = xtr.GetAttribute("TipoFactor"); impuest.TipoFactor = xtr.GetAttribute("TipoFactor");
impuest.TasaOCuota = xtr.GetAttribute("TasaOCuota"); impuest.TasaOCuota = xmlCFDI.comprobante.Version == "3.3" ? xtr.GetAttribute("TasaOCuota") : xtr.GetAttribute("tasa");
decimal ImImporte = 0; decimal ImImporte = 0;
decimal.TryParse(xtr.GetAttribute("Importe"), out ImImporte); decimal.TryParse((xmlCFDI.comprobante.Version == "3.3" ? xtr.GetAttribute("Importe") : xtr.GetAttribute("importe")), out ImImporte);
impuest.Importe = ImImporte; impuest.Importe = ImImporte;
xmlCFDI.Impuestos.Add(impuest); xmlCFDI.Impuestos.Add(impuest);
} }
@@ -871,7 +965,7 @@ namespace ADS_CFDI_SAT
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { } while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
while (canread && xtr.Depth > cDepth) while (canread && xtr.Depth > cDepth)
{ {
if (xtr.NodeType == XmlNodeType.Element && xtr.LocalName == "TimbreFiscalDigital") if (xtr.NodeType == XmlNodeType.Element && xtr.LocalName == "TimbreFiscalDigital" && xmlCFDI.comprobante.Version != null)
{ {
xmlCFDI.complemento.xmlns_tfd = xtr.GetAttribute("xmlns:tfd"); xmlCFDI.complemento.xmlns_tfd = xtr.GetAttribute("xmlns:tfd");
xmlCFDI.complemento.xsi_schemaLocation = xtr.GetAttribute("xsi:schemaLocation"); xmlCFDI.complemento.xsi_schemaLocation = xtr.GetAttribute("xsi:schemaLocation");
@@ -879,9 +973,9 @@ namespace ADS_CFDI_SAT
xmlCFDI.complemento.UUID = xtr.GetAttribute("UUID"); xmlCFDI.complemento.UUID = xtr.GetAttribute("UUID");
xmlCFDI.complemento.FechaTimbrado = xtr.GetAttribute("FechaTimbrado"); xmlCFDI.complemento.FechaTimbrado = xtr.GetAttribute("FechaTimbrado");
xmlCFDI.complemento.RfcProvCertif = xtr.GetAttribute("RfcProvCertif"); xmlCFDI.complemento.RfcProvCertif = xtr.GetAttribute("RfcProvCertif");
xmlCFDI.complemento.SelloCFD = xtr.GetAttribute("SelloCFD"); xmlCFDI.complemento.SelloCFD = xmlCFDI.comprobante.Version == "3.3" ? xtr.GetAttribute("SelloCFD") : xtr.GetAttribute("selloCFD");
xmlCFDI.complemento.NoCertificadoSAT = xtr.GetAttribute("NoCertificadoSAT"); xmlCFDI.complemento.NoCertificadoSAT = xmlCFDI.comprobante.Version == "3.3" ? xtr.GetAttribute("NoCertificadoSAT") : xtr.GetAttribute("noCertificadoSAT");
xmlCFDI.complemento.SelloSAT = xtr.GetAttribute("SelloSAT"); xmlCFDI.complemento.SelloSAT = xmlCFDI.comprobante.Version == "3.3" ? xtr.GetAttribute("SelloSAT") : xtr.GetAttribute("selloSAT");
} }
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { } while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
@@ -897,10 +991,8 @@ namespace ADS_CFDI_SAT
} }
} }
} }
if (xmlCFDI.comprobante.Version == "3.3") if (xmlCFDI.comprobante.Version == "3.3" || xmlCFDI.comprobante.Version == "3.2")
{ {
return xmlCFDI; return xmlCFDI;
} }
@@ -914,7 +1006,7 @@ namespace ADS_CFDI_SAT
public void ImprimirPDF(string NombreArchivo) public void ImprimirPDF(string NombreArchivo)
{ {
XmlSatCFDI objxml = this; XmlSatCFDI objxml = this;
string rutaReporte = string.Format("{0}{1}", Directory.GetParent(System.Reflection.Assembly.GetExecutingAssembly().Location).FullName, "\\Empresas\\Grales\\Formatos\\CFDIV3.rdlc"); string rutaReporte = string.Format("{0}{1}", Directory.GetParent(System.Reflection.Assembly.GetExecutingAssembly().Location).Parent.FullName, "\\Empresas\\Grales\\Formatos\\CFDIV3.rdlc");
ClbNegBICFDv3_2.ClsNegCBBGenerar QR = new ClbNegBICFDv3_2.ClsNegCBBGenerar(); ClbNegBICFDv3_2.ClsNegCBBGenerar QR = new ClbNegBICFDv3_2.ClsNegCBBGenerar();
@@ -1081,44 +1173,6 @@ namespace ADS_CFDI_SAT
public decimal Descuento { get; set; } public decimal Descuento { get; set; }
public decimal TipoCambio { get; set; } public decimal TipoCambio { get; set; }
public string TipoDeComprobante { get; set; } public string TipoDeComprobante { get; set; }
public string TipoDeComprobanteSIG
{
get
{
string retorno = "";
if (Version == "3.3")
{
switch (TipoDeComprobante)
{
case "I":
retorno = "Ing";
break;
case "E":
retorno = "Egs";
break;
case "P":
retorno = "PA";
break;
//case "T":
// retorno = "Traslado";
// break;
//case "N":
// retorno = "Nómina";
// break;
default:
break;
}
}
else { retorno = TipoDeComprobante; }
return retorno;
}
}
public string TipoDeComprobanteTexto public string TipoDeComprobanteTexto
{ {
get get
@@ -1149,6 +1203,89 @@ namespace ADS_CFDI_SAT
break; break;
} }
} }
if (Version == "3.2")
{
switch (TipoDeComprobante)
{
case "ingreso":
retorno = "Ing";
break;
case "egreso":
retorno = "Egs";
break;
case "P":
retorno = "PA";
break;
//case "T":
// retorno = "Traslado";
// break;
//case "N":
// retorno = "Nómina";
// break;
default:
retorno = TipoDeComprobante;
break;
}
}
else { retorno = TipoDeComprobante; }
return retorno;
}
}
public string TipoDeComprobanteSIG
{
get
{
string retorno = "";
if (Version == "3.3")
{
switch (TipoDeComprobante)
{
case "I":
retorno = "Ing";
break;
case "E":
retorno = "Egs";
break;
case "P":
retorno = "PA";
break;
//case "T":
// retorno = "Traslado";
// break;
//case "N":
// retorno = "Nómina";
// break;
default:
break;
}
}
if (Version == "3.2")
{
switch (TipoDeComprobante)
{
case "ingreso":
retorno = "Ing";
break;
case "egreso":
retorno = "Egs";
break;
case "P":
retorno = "PA";
break;
//case "T":
// retorno = "Traslado";
// break;
//case "N":
// retorno = "Nómina";
// break;
default:
break;
}
}
else { retorno = TipoDeComprobante; } else { retorno = TipoDeComprobante; }
return retorno; return retorno;
} }
@@ -1184,6 +1321,7 @@ namespace ADS_CFDI_SAT
case "30": retorno = "Aplicación de anticipos"; break; case "30": retorno = "Aplicación de anticipos"; break;
case "31": retorno = "Intermediario pagos"; break; case "31": retorno = "Intermediario pagos"; break;
case "99": retorno = "Por definir"; break; case "99": retorno = "Por definir"; break;
default: retorno = FormaPago; break;
} }
return retorno; return retorno;
@@ -1200,6 +1338,7 @@ namespace ADS_CFDI_SAT
{ {
case "PUE": retorno = "Pago en una sola exhibición"; break; case "PUE": retorno = "Pago en una sola exhibición"; break;
case "PPD": retorno = "Pago en parcialidades o diferido"; break; case "PPD": retorno = "Pago en parcialidades o diferido"; break;
default: retorno = MetodoPago; break;
} }
return retorno; return retorno;
} }
@@ -1487,4 +1626,8 @@ namespace ADS_CFDI_SAT
public decimal Impuesto_Importe { get; set; } public decimal Impuesto_Importe { get; set; }
} }
}*/ }
*/

File diff suppressed because it is too large Load Diff