This commit is contained in:
rakcsle
2021-09-21 16:10:04 -07:00
24 changed files with 4880 additions and 247 deletions

View File

@@ -505,7 +505,7 @@ Public Class ClsCompras
Public Function UpdateCompraDetalle(CvePS As Integer, Cantidad As Double, PU As Double, IVA As Double, Total As Double, Descuento As Double, Observaciones As String, CveSubProyecto As Integer, CvePresupuestoEgreso As Integer, CveActivoFijo As Integer, CveCompraDetalle As Integer, Optional AplicaCostoIndirecto As Integer = -1, Optional CvePersonal As Integer = -1, Optional CveTipoGasto As Integer = -1, Public Function UpdateCompraDetalle(CvePS As Integer, Cantidad As Double, PU As Double, IVA As Double, Total As Double, Descuento As Double, Observaciones As String, CveSubProyecto As Integer, CvePresupuestoEgreso As Integer, CveActivoFijo As Integer, CveCompraDetalle As Integer, Optional AplicaCostoIndirecto As Integer = -1, Optional CvePersonal As Integer = -1, Optional CveTipoGasto As Integer = -1,
Optional AF_Medida As Integer = -1, Optional AF_TipoMantenimiento As Integer = -1, Optional Referencia As String = "", Optional AF_Medida As Integer = -1, Optional AF_TipoMantenimiento As Integer = -1, Optional Referencia As String = "",
Optional RetIVA As Double = 0, Optional RetISR As Double = 0, Optional IEPSPS As Double = 0, Optional IEPSPSIVA As Double = 0, Optional RetIVA As Double = 0, Optional RetISR As Double = 0, Optional IEPSPS As Double = 0, Optional IEPSPSIVA As Double = 0,
Optional IVAPorcentaje As Double = 0, Optional RetIVAPorcentaje As Double = 0, Optional RetISRPorcentaje As Double = 0, Optional IEPSPSPorcentaje As Double = 0, Optional IEPSPSIVAPorcentaje As Double = 0, Optional NoDeducible As Boolean = False) As Boolean Optional IVAPorcentaje As Double = 0, Optional RetIVAPorcentaje As Double = 0, Optional RetISRPorcentaje As Double = 0, Optional IEPSPSPorcentaje As Double = 0, Optional IEPSPSIVAPorcentaje As Double = 0, Optional NoDeducible As Boolean = False, Optional CveContratoDetalle As Integer = -1) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
@@ -540,6 +540,8 @@ Public Class ClsCompras
.Add("@IEPSPSPorcentaje", SqlDbType.Float).Value = IEPSPSPorcentaje .Add("@IEPSPSPorcentaje", SqlDbType.Float).Value = IEPSPSPorcentaje
.Add("@IEPSPSIVAPorcentaje", SqlDbType.Float).Value = IEPSPSIVAPorcentaje .Add("@IEPSPSIVAPorcentaje", SqlDbType.Float).Value = IEPSPSIVAPorcentaje
.Add("@NoDeducible", SqlDbType.Bit).Value = NoDeducible .Add("@NoDeducible", SqlDbType.Bit).Value = NoDeducible
.Add("@CveContratoDetalle", SqlDbType.Int).Value = CveContratoDetalle
End With End With

View File

@@ -3268,6 +3268,65 @@ Public Class ClsGenerales
#End Region #End Region
#Region "C A R T A P O R T E"
Public Function GetMaterialPeligroso() As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Gral_CP_MaterialPeligrosoGet")
'With SqlAdapter.SelectCommand.Parameters
' .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
' .Add("@CveClasificacionPorcentaje", SqlDbType.Int).Value = CveClasificacionPorcentaje
' .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion
' .Add("@PorcentajeIVA", SqlDbType.Float).Value = PorcentajeIVA
' .Add("@Opcion", SqlDbType.Int).Value = Opcion
'End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener materiales peligrosos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function GetEmbalajes() As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Gral_CP_EmbalajesGet")
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener embalajes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function GetCartaPorteTipoPermiso() As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Gral_CP_TipoPermisoGet")
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener los permisos de carta porte.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function GetCartaPorteConfigAutoTransportes() As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Gral_CP_ConfigAutoTransportesGet")
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener los configuración de autotransporte de carta porte.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
#End Region
Protected Overridable Sub Dispose(ByVal disposing As Boolean) Protected Overridable Sub Dispose(ByVal disposing As Boolean)
If Not disposedValue Then If Not disposedValue Then
If disposing Then If disposing Then

View File

@@ -645,6 +645,63 @@ Public Class ClsPaginas
End Set End Set
End Property End Property
#Region "C A R T A P O R T E "
Property GlobalDTMaterialPeligroso(Optional CveMaterialPeligroso As Integer = -1) As DataTable
Get
Dim AppNombre As String = "GlobalDTMaterialPeligroso"
'sino existe, recarga los datos
If Application(AppNombre) Is Nothing Then
Dim Obj As New ClsGenerales
If Obj.GetMaterialPeligroso() Then Application(AppNombre) = Obj.DtResultados
Obj.Dispose()
End If
If CveMaterialPeligroso > 0 Then
Dim Str As New StringBuilder
Str.AppendFormat("CveMaterialPeligroso = {0}", CveMaterialPeligroso)
Dim Dv As New DataView(DirectCast(Application(AppNombre), DataTable), Str.ToString(), "", DataViewRowState.CurrentRows)
GlobalDTMaterialPeligroso = Dv.ToTable
Dv.Dispose()
Else
GlobalDTMaterialPeligroso = DirectCast(Application(AppNombre), DataTable)
End If
End Get
Set(value As DataTable)
Dim AppNombre As String = "GlobalDTMaterialPeligroso"
Application(AppNombre) = value
End Set
End Property
Property GlobalDTEmbalajes(Optional CveEmbalaje As Integer = -1) As DataTable
Get
Dim AppNombre As String = "GlobalDTEmbalajes"
'sino existe, recarga los datos
If Application(AppNombre) Is Nothing Then
Dim Obj As New ClsGenerales
If Obj.GetEmbalajes() Then Application(AppNombre) = Obj.DtResultados
Obj.Dispose()
End If
If CveEmbalaje > 0 Then
Dim Str As New StringBuilder
Str.AppendFormat("CveEmbalaje = {0}", CveEmbalaje)
Dim Dv As New DataView(DirectCast(Application(AppNombre), DataTable), Str.ToString(), "", DataViewRowState.CurrentRows)
GlobalDTEmbalajes = Dv.ToTable
Dv.Dispose()
Else
GlobalDTEmbalajes = DirectCast(Application(AppNombre), DataTable)
End If
End Get
Set(value As DataTable)
Dim AppNombre As String = "GlobalDTEmbalajes"
Application(AppNombre) = value
End Set
End Property
#End Region
Property GlobalDTClasificaciones(Optional CveEmpresa As Integer = -1, Optional CveCategoria As Integer = -1, Optional UsoClasificacion As Integer = -1, Optional CveClasificacion As Integer = -1) As DataTable Property GlobalDTClasificaciones(Optional CveEmpresa As Integer = -1, Optional CveCategoria As Integer = -1, Optional UsoClasificacion As Integer = -1, Optional CveClasificacion As Integer = -1) As DataTable
Get Get
@@ -3125,18 +3182,26 @@ Public Class ClsPaginas
Property GlobalDTContaConceptosContables(CveConceptoContable As Integer) As DataTable Property GlobalDTContaConceptosContables(CveConceptoContable As Integer) As DataTable
Get Get
Dim AppNombre As String = String.Format("GlobalDTContaConceptosContables")
'sino existe, recarga los datos
If Application(AppNombre) Is Nothing Then
Using ObjContabilidad As New ClsContabilidad
If ObjContabilidad.GetConta_ConceptosContables() Then Application(AppNombre) = ObjContabilidad.DtResultados Else Application(AppNombre) = Nothing
End Using
End If
If CveConceptoContable <> -1 Then If CveConceptoContable <> -1 Then
Dim Dv As New DataView(DirectCast(Application("GlobalDTContaConceptosContables"), DataTable), String.Format("CveConceptoContable = {0}", CveConceptoContable), "", DataViewRowState.CurrentRows) Dim Dv As New DataView(DirectCast(Application(AppNombre), DataTable), String.Format("CveConceptoContable = {0}", CveConceptoContable), "", DataViewRowState.CurrentRows)
GlobalDTContaConceptosContables = Dv.ToTable GlobalDTContaConceptosContables = Dv.ToTable
Dv.Dispose() Dv.Dispose()
Else Else
GlobalDTContaConceptosContables = DirectCast(Application("GlobalDTContaConceptosContables"), DataTable) GlobalDTContaConceptosContables = DirectCast(Application(AppNombre), DataTable)
End If End If
End Get End Get
Set(value As DataTable) Set(value As DataTable)
Application("GlobalDTContaConceptosContables") = value Dim AppNombre As String = String.Format("GlobalDTContaConceptosContables")
Application(AppNombre) = value
End Set End Set
End Property End Property
#End Region #End Region

View File

@@ -89,6 +89,9 @@ Public Class ClsProductosServicios
Public Property ClaveSATUnidadAduanaDescripcion As String Public Property ClaveSATUnidadAduanaDescripcion As String
Public Property ClaveSATFraccionArancelaria As String Public Property ClaveSATFraccionArancelaria As String
Public Property ClaveSATUnidadAduana As String Public Property ClaveSATUnidadAduana As String
Public Property CveMaterialPeligroso As Integer
Public Property CveEmbalaje As Integer
Public Property PesoKg As Decimal
'Nuevo Raul: 10/08/2018 'Nuevo Raul: 10/08/2018
Public Property CveUsuarioModifico As Integer Public Property CveUsuarioModifico As Integer
@@ -295,6 +298,10 @@ Public Class ClsProductosServicios
ClaveSATFraccionArancelariaDescripcion = Data.Rows(0)("ClaveSATFraccionArancelariaDescripcion").ToString ClaveSATFraccionArancelariaDescripcion = Data.Rows(0)("ClaveSATFraccionArancelariaDescripcion").ToString
ClaveSATUnidadAduanaDescripcion = Data.Rows(0)("ClaveSATUnidadAduanaDescripcion").ToString ClaveSATUnidadAduanaDescripcion = Data.Rows(0)("ClaveSATUnidadAduanaDescripcion").ToString
CveMaterialPeligroso = Data.Rows(0)("CveMaterialPeligroso").ToString.ToEntero
CveEmbalaje = Data.Rows(0)("CveEmbalaje").ToString.ToEntero
PesoKg = Data.Rows(0)("PesoKg").ToString.ToDecimal
'Nuevo Raul: 10/08/2018 'Nuevo Raul: 10/08/2018
CveUsuarioModifico = Data.Rows(0)("CveUsuarioModifico").ToString.ToEntero CveUsuarioModifico = Data.Rows(0)("CveUsuarioModifico").ToString.ToEntero
UsuarioModifico = Data.Rows(0)("UsuarioModifico").ToString UsuarioModifico = Data.Rows(0)("UsuarioModifico").ToString
@@ -408,7 +415,8 @@ Public Class ClsProductosServicios
Optional CveFraccionArancelaria As Integer = -1, Optional CveClasificacionDetalle As Integer = -1, Optional CveTamaño As Integer = -1, Optional CveFraccionArancelaria As Integer = -1, Optional CveClasificacionDetalle As Integer = -1, Optional CveTamaño As Integer = -1,
Optional CveModelo As Integer = -1, Optional CveMedida As Integer = -1, Optional CveRinTamaño As Integer = -1, Optional ClaveImpuestoEmpaque As String = "", Optional ClaveImpuestoUM As String = "", Optional CveModelo As Integer = -1, Optional CveMedida As Integer = -1, Optional CveRinTamaño As Integer = -1, Optional ClaveImpuestoEmpaque As String = "", Optional ClaveImpuestoUM As String = "",
Optional ClaveCategoriaToxicidad As String = "", Optional ClaveImpuestoTipoProducto As String = "", Optional Litraje As Double = -1, Optional EsOutSourcing As Boolean = False, Optional AplicaSerie As Boolean = False, Optional AplicaLote As Boolean = False, Optional ClaveCategoriaToxicidad As String = "", Optional ClaveImpuestoTipoProducto As String = "", Optional Litraje As Double = -1, Optional EsOutSourcing As Boolean = False, Optional AplicaSerie As Boolean = False, Optional AplicaLote As Boolean = False,
Optional AplicaCaducidad As Boolean = False, Optional AplicaSeccion As Boolean = False, Optional TiempoCaducidad As Integer = -1, Optional CvePSAdicionalVigencia As Integer = -1, Optional PrecioLibre As Boolean = False) As Integer Optional AplicaCaducidad As Boolean = False, Optional AplicaSeccion As Boolean = False, Optional TiempoCaducidad As Integer = -1, Optional CvePSAdicionalVigencia As Integer = -1, Optional PrecioLibre As Boolean = False,
Optional CveMaterialPeligroso As Integer = -1, Optional CveEmbalaje As Integer = -1, Optional PesoKg As Decimal = -1) As Integer
Dim Retorno As Integer = -1 Dim Retorno As Integer = -1
DataAdapter("PA_ProductosServiciosAdd") DataAdapter("PA_ProductosServiciosAdd")
@@ -492,6 +500,10 @@ Public Class ClsProductosServicios
.Add("@CvePSAdicionalVigencia", SqlDbType.Int).Value = CvePSAdicionalVigencia .Add("@CvePSAdicionalVigencia", SqlDbType.Int).Value = CvePSAdicionalVigencia
.Add("@PrecioLibre", SqlDbType.Bit).Value = PrecioLibre .Add("@PrecioLibre", SqlDbType.Bit).Value = PrecioLibre
.Add("@CveMaterialPeligroso", SqlDbType.Int).Value = CveMaterialPeligroso
.Add("@CveEmbalaje", SqlDbType.Int).Value = CveEmbalaje
.Add("@PesoKg", SqlDbType.SmallMoney).Value = PesoKg
End With End With
Try Try
@@ -638,7 +650,8 @@ Public Class ClsProductosServicios
Optional CveFraccionArancelaria As Integer = -1, Optional CveUsuarioModifico As Integer = -1, Optional CveFraccionArancelaria As Integer = -1, Optional CveUsuarioModifico As Integer = -1,
Optional CveClasificacionDetalle As Integer = -1, Optional CveTamaño As Integer = -1, Optional CveModelo As Integer = -1, Optional CveMedida As Integer = -1, Optional CveRinTamaño As Integer = -1, Optional ClaveImpuestoEmpaque As String = "", Optional ClaveImpuestoUM As String = "", Optional CveClasificacionDetalle As Integer = -1, Optional CveTamaño As Integer = -1, Optional CveModelo As Integer = -1, Optional CveMedida As Integer = -1, Optional CveRinTamaño As Integer = -1, Optional ClaveImpuestoEmpaque As String = "", Optional ClaveImpuestoUM As String = "",
Optional ClaveCategoriaToxicidad As String = "", Optional ClaveImpuestoTipoProducto As String = "", Optional Litraje As Double = -1, Optional EsOutSourcing As Boolean = False, Optional ClaveCategoriaToxicidad As String = "", Optional ClaveImpuestoTipoProducto As String = "", Optional Litraje As Double = -1, Optional EsOutSourcing As Boolean = False,
Optional AplicaSerie As Boolean = False, Optional AplicaLote As Boolean = False, Optional AplicaCaducidad As Boolean = False, Optional AplicaSeccion As Boolean = False, Optional TiempoCaducidad As Integer = -1, Optional CvePSAdicionalVigencia As Integer = -1, Optional PrecioLibre As Boolean = False) As Boolean Optional AplicaSerie As Boolean = False, Optional AplicaLote As Boolean = False, Optional AplicaCaducidad As Boolean = False, Optional AplicaSeccion As Boolean = False, Optional TiempoCaducidad As Integer = -1, Optional CvePSAdicionalVigencia As Integer = -1, Optional PrecioLibre As Boolean = False,
Optional CveMaterialPeligroso As Integer = -1, Optional CveEmbalaje As Integer = -1, Optional PesoKg As Decimal = -1) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
@@ -724,6 +737,10 @@ Public Class ClsProductosServicios
.Add("@CvePSAdicionalVigencia", SqlDbType.Int).Value = CvePSAdicionalVigencia .Add("@CvePSAdicionalVigencia", SqlDbType.Int).Value = CvePSAdicionalVigencia
.Add("@PrecioLibre", SqlDbType.Bit).Value = PrecioLibre .Add("@PrecioLibre", SqlDbType.Bit).Value = PrecioLibre
.Add("@CveMaterialPeligroso", SqlDbType.Int).Value = CveMaterialPeligroso
.Add("@CveEmbalaje", SqlDbType.Int).Value = CveEmbalaje
.Add("@PesoKg", SqlDbType.SmallMoney).Value = PesoKg
End With End With
Try Try

View File

@@ -345,6 +345,103 @@ Public Class ClsSAT
#End Region #End Region
#Region " C A R T A P O R T E"
Public Function GetCartaPorteMaterialPeligroso() As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Gral_SAT_CP_MaterialPeligroso")
'With SqlAdapter.SelectCommand.Parameters
' .Add("@Tipo", SqlDbType.Int).Value = Tipo
' .Add("@RFC", SqlDbType.VarChar).Value = RFC
' .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
' .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
'End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener los registros de material peligroso", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function GetCartaPorteTipoPermiso() As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Gral_SAT_CP_TipoPermiso")
'With SqlAdapter.SelectCommand.Parameters
' .Add("@Tipo", SqlDbType.Int).Value = Tipo
' .Add("@RFC", SqlDbType.VarChar).Value = RFC
' .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
' .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
'End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener los registros de material peligroso", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function GetCartaPorteConfigAutoTransporte() As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Gral_SAT_CP_ConfiAutoTransporte")
'With SqlAdapter.SelectCommand.Parameters
' .Add("@Tipo", SqlDbType.Int).Value = Tipo
' .Add("@RFC", SqlDbType.VarChar).Value = RFC
' .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
' .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
'End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener los registros de material peligroso", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function GetCartaPorteSubTipoRemolque() As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Gral_SAT_CP_SubTipoRemolque")
'With SqlAdapter.SelectCommand.Parameters
' .Add("@Tipo", SqlDbType.Int).Value = Tipo
' .Add("@RFC", SqlDbType.VarChar).Value = RFC
' .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
' .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
'End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener los registros de material peligroso", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
#End Region
#Region "IDisposable Support" #Region "IDisposable Support"
' IDisposable ' IDisposable

View File

@@ -1320,7 +1320,7 @@ Public Class Timbrado
sw.Start() sw.Start()
' cfdi.saltarValidacion("bNtMuvZockPVhEjaPj0E") ' cfdi.saltarValidacion("bNtMuvZockPVhEjaPj0E")
' cfdi.Decimales = 4 cfdi.Decimales = 4
#Region "Certificado" #Region "Certificado"
cfdi.agregarCertificado(ArchivoCertificado) cfdi.agregarCertificado(ArchivoCertificado)
#End Region #End Region
@@ -1906,7 +1906,7 @@ Public Class Timbrado
sw.Start() sw.Start()
' cfdi.saltarValidacion("bNtMuvZockPVhEjaPj0E") ' cfdi.saltarValidacion("bNtMuvZockPVhEjaPj0E")
' cfdi.Decimales = 4 'cfdi.Decimales = 4
#Region "Certificado" #Region "Certificado"
cfdi.CertificadoArchivo(ArchivoCertificado) cfdi.CertificadoArchivo(ArchivoCertificado)
#End Region #End Region

View File

@@ -87,6 +87,10 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState
GETPSUSADOS(context) GETPSUSADOS(context)
Case "getumsat" Case "getumsat"
GETUMSAT(context) GETUMSAT(context)
Case "getsatmatpeligroso"
GETSATMaterialPeligroso(context)
Case "getsatembalajes"
GETSATEmbalajes(context)
Case "getcliente" Case "getcliente"
GetClientes(context) GetClientes(context)
Case "getproveedores" Case "getproveedores"
@@ -1054,6 +1058,84 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState
End Function End Function
#End Region #End Region
#Region " GET SAT CARTA PORTE "
Private Function GETSATMaterialPeligroso(ByVal context As HttpContext) As String
Dim retorno As String = ""
If context.Application("GlobalDTMaterialPeligroso") Is Nothing Then
Dim ObjGrales As New ClsGenerales
If ObjGrales.GetMaterialPeligroso Then context.Application("GlobalDTMaterialPeligroso") = ObjGrales.DtResultados Else context.Application("GlobalDTMaterialPeligroso") = Nothing
ObjGrales.Dispose()
End If
Dim DTUM = DirectCast(context.Application("GlobalDTMaterialPeligroso"), DataTable).AsEnumerable
Dim DtPSRetorno As DataTable
Dim Name = IfNull(context.Request("Name"), "-1").ToString
If Name <> "-1" Then
DTUM = DTUM.Where((Function(a) a!ClaveMaterialPeligrosoDescripcion.ToString.ToLower Like ("*" + Name.ToLower + "*")))
End If
If DTUM.Count > 0 Then
DtPSRetorno = New DataView(DTUM.OrderBy(Function(a) a!ClaveMaterialPeligrosoDescripcion).CopyToDataTable).ToTable(True, {"CveMaterialPeligroso", "ClaveMaterialPeligrosoDescripcion"})
Else
DtPSRetorno = Nothing
End If
If DtPSRetorno IsNot Nothing AndAlso DtPSRetorno.Rows.Count > 0 Then
DtPSRetorno.Columns("CveMaterialPeligroso").ColumnName = "id"
DtPSRetorno.Columns("ClaveMaterialPeligrosoDescripcion").ColumnName = "text"
retorno = JsonConvert.SerializeObject(DtPSRetorno).ToString
context.Response.Write(retorno)
DtPSRetorno.Dispose()
Else
context.Response.Write("[]")
End If
Return retorno
End Function
Private Function GETSATEmbalajes(ByVal context As HttpContext) As String
Dim retorno As String = ""
If context.Application("GlobalDTEmbalajes") Is Nothing Then
Dim ObjGrales As New ClsGenerales
If ObjGrales.GetEmbalajes Then context.Application("GlobalDTEmbalajes") = ObjGrales.DtResultados Else context.Application("GlobalDTEmbalajes") = Nothing
ObjGrales.Dispose()
End If
Dim DTUM = DirectCast(context.Application("GlobalDTEmbalajes"), DataTable).AsEnumerable
Dim DtPSRetorno As DataTable
Dim Name = IfNull(context.Request("Name"), "-1").ToString
If Name <> "-1" Then
DTUM = DTUM.Where((Function(a) a!ClaveEmbalajeDescripcion.ToString.ToLower Like ("*" + Name.ToLower + "*")))
End If
If DTUM.Count > 0 Then
DtPSRetorno = New DataView(DTUM.OrderBy(Function(a) a!ClaveEmbalajeDescripcion).CopyToDataTable).ToTable(True, {"CveEmbalaje", "ClaveEmbalajeDescripcion"})
Else
DtPSRetorno = Nothing
End If
If DtPSRetorno IsNot Nothing AndAlso DtPSRetorno.Rows.Count > 0 Then
DtPSRetorno.Columns("CveEmbalaje").ColumnName = "id"
DtPSRetorno.Columns("ClaveEmbalajeDescripcion").ColumnName = "text"
retorno = JsonConvert.SerializeObject(DtPSRetorno).ToString
context.Response.Write(retorno)
DtPSRetorno.Dispose()
Else
context.Response.Write("[]")
End If
Return retorno
End Function
#End Region
#Region " GET FRACCION ARANCELARIA " #Region " GET FRACCION ARANCELARIA "
Private Function GetFraccionArancelaria(ByVal context As HttpContext) As String Private Function GetFraccionArancelaria(ByVal context As HttpContext) As String
Dim retorno As String = "" Dim retorno As String = ""

Binary file not shown.

View File

@@ -4835,7 +4835,7 @@
<br /> <br />
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<asp:GridView ID="GVNCInvAlmacen" runat="server" EmptyDataText="Aun no hay registros." Width="100%" AutoGenerateColumns="False" ShowHeader="true" ShowHeaderWhenEmpty="True" DataKeyNames="CveCompraDetalle" CssClass="table table-striped table-hover Widthall ScrollAD" data-heighterror="450" data-freezerows="1" GridLines="None"> <asp:GridView ID="GVNCInvAlmacen" runat="server" EmptyDataText="Aun no hay registros." Width="100%" AutoGenerateColumns="False" ShowHeader="true" ShowHeaderWhenEmpty="True" DataKeyNames="CveCompraDetalle,CveCompra,TipoCambio,PU" CssClass="table table-striped table-hover Widthall ScrollAD" data-heighterror="450" data-freezerows="1" GridLines="None">
<Columns> <Columns>
<asp:TemplateField HeaderText="Cantidad"> <asp:TemplateField HeaderText="Cantidad">
<ItemTemplate> <ItemTemplate>

View File

@@ -6741,13 +6741,6 @@ Partial Class Compras_Compras
End If End If
Next Next
'Dim Valor = (From dr1 In GlobalDTAcumTamaños().FiltraParametros("CveEmpresa = 140").AsEnumerable()
' Join dr2 In TmpDT.AsEnumerable On dr1.Field(Of Integer)("CvePSCargo") Equals dr2.Field(Of Integer)("CvePS")
' Select New With
' {
' .Total = dr2.Field(Of Double)("Total")
' }).Sum(Function(item) item.Total)
importeMovimiento += Valor importeMovimiento += Valor
importeMN = importeMovimiento * tipoCambioActual * Multiplicador importeMN = importeMovimiento * tipoCambioActual * Multiplicador
End If End If
@@ -6771,6 +6764,7 @@ Partial Class Compras_Compras
If importeMovimiento > 0 Or TxtTotal.Text.ToDecimal = 0 Then If importeMovimiento > 0 Or TxtTotal.Text.ToDecimal = 0 Then
RegistroCuentaPuente = True RegistroCuentaPuente = True
Dim ImporteTransito As Decimal = 0
'Conta ContPAQ 'Conta ContPAQ
If IdCtaContable = 0 Then If IdCtaContable = 0 Then
CuentasContablesInvalidas.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", 68))("ConceptoContable").ToString) CuentasContablesInvalidas.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", 68))("ConceptoContable").ToString)
@@ -6783,10 +6777,58 @@ Partial Class Compras_Compras
IdCtaContable = 0 IdCtaContable = 0
End If End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContabilizacionNC, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza) Then 'se lleva saldo de Mercancía en tránsito
ErrorPrepoliza = True
If ChkNCInvNC.Checked Then
For Each Gvr As GridViewRow In GVNCInv.Rows
If Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDouble > 0 Then
If Not ObjCompras.ComprasDetalleDevolucionesAdd(Gvr.DataKey("CveCompraDetalle").ToEntero, CveCompra, Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDouble, UsuarioActual.CveEmpresa) Then
ErrorMovInv = True
Exit For
End If
End If
Next
For Each Gvr As GridViewRow In GVNCInvAlmacen.Rows
If Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDouble > 0 Then
Dim importeMNTemp As Decimal = 0
If Not ObjCompras.ComprasDetalleDevolucionesAdd(Gvr.DataKey("CveCompraDetalle").ToEntero, CveCompra, Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDouble, UsuarioActual.CveEmpresa) Then
ErrorMovInv = True
Exit For
End If
importeMNTemp = (Gvr.DataKey("PU").ToDecimal * Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDecimal * Gvr.DataKey("TipoCambio").ToDecimal).RoundSQL
ImporteTransito += importeMNTemp
'se registra por cada compra relacionada
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMNTemp, Referencia, ConceptoContabilizacionNC, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveCompraAmortizacion:=Gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMNTemp, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=Gvr.DataKey("TipoCambio").ToDecimal, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza) Then
ErrorPrepoliza = True
End If
End If
Next
'si hay diferencia
Dim diferenciaTransito As Decimal = ImporteTransito - importeMN.RoundSQL
If diferenciaTransito <> 0 Then
Dim tCveCon As Integer = 65
If diferenciaTransito < 0 Then
tCveCon = 64
End If
diferenciaTransito = diferenciaTransito.Abs
IdCtaContable = 0
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, If(tCveCon = 64, True, False), diferenciaTransito, Referencia, tCveCon, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=diferenciaTransito, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=1, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza) Then
ErrorPrepoliza = True
End If
End If
Else
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContabilizacionNC, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza) Then
ErrorPrepoliza = True
End If
End If End If
End If End If
@@ -6931,7 +6973,7 @@ Partial Class Compras_Compras
tidctacon = ViewState("CtaProveedorAnticiposExtranjera").ToString.ToEntero tidctacon = ViewState("CtaProveedorAnticiposExtranjera").ToString.ToEntero
End If End If
ElseIf DdlTipoComprobante.SelectedValue = "NC" Then ElseIf DdlTipoComprobante.SelectedValue = "NC" AndAlso UsuarioActual.Empresa.Funcionalidad(405).ToEntero > 0 Then
tcvecon = 259 tcvecon = 259
tidctacon = UsuarioActual.Empresa.Funcionalidad(405).ToEntero tidctacon = UsuarioActual.Empresa.Funcionalidad(405).ToEntero
@@ -7151,7 +7193,7 @@ Partial Class Compras_Compras
End If End If
' FLUCTUACION CAMBIARIA ' FLUCTUACION CAMBIARIA
If tipoCambioActual <> TipoCambioFactura Then If tipoCambioActual <> TipoCambioFactura AndAlso Not ChkNCInvNC.Checked Then ' que no se esté afectando mercancía en tránsto
importeMovimiento = (importeMovimientoNC * TipoCambioFactura) - (importeMovimientoNC * tipoCambioActual) importeMovimiento = (importeMovimientoNC * TipoCambioFactura) - (importeMovimientoNC * tipoCambioActual)
If importeMovimiento > 0 Then If importeMovimiento > 0 Then
@@ -10167,7 +10209,7 @@ Partial Class Compras_Compras
If Not ObjCompra.UpdateCompraDetalle(Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, Row("IVA").ToString.ToDouble, Row("Total").ToString.ToDouble, If Not ObjCompra.UpdateCompraDetalle(Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, Row("IVA").ToString.ToDouble, Row("Total").ToString.ToDouble,
Row("Descuento").ToString.ToDouble, Row("Obs").ToString, Row("CveSubProyecto").ToString.ToEntero, Row("CvePresupuestoEgreso").ToString.ToEntero, CveAF, Row("CveCompraDetalle").ToString.ToEntero, CvePersonal:=CvePersonal, CveTipoGasto:=Row("CveTipoGasto").ToString.ToEntero, AF_Medida:=Row("AFMedida").ToString.ToEntero, AF_TipoMantenimiento:=Row("AFTipoMantenimiento").ToString.ToEntero, Referencia:=Referencia, Row("Descuento").ToString.ToDouble, Row("Obs").ToString, Row("CveSubProyecto").ToString.ToEntero, Row("CvePresupuestoEgreso").ToString.ToEntero, CveAF, Row("CveCompraDetalle").ToString.ToEntero, CvePersonal:=CvePersonal, CveTipoGasto:=Row("CveTipoGasto").ToString.ToEntero, AF_Medida:=Row("AFMedida").ToString.ToEntero, AF_TipoMantenimiento:=Row("AFTipoMantenimiento").ToString.ToEntero, Referencia:=Referencia,
RetIVA:=Row("RetIVA").ToString.ToDouble, RetISR:=Row("RetISR").ToString.ToDouble, IEPSPS:=Row("IEPSPS").ToString.ToDouble, IEPSPSIVA:=Row("IEPSPSIVA").ToString.ToDouble, RetIVA:=Row("RetIVA").ToString.ToDouble, RetISR:=Row("RetISR").ToString.ToDouble, IEPSPS:=Row("IEPSPS").ToString.ToDouble, IEPSPSIVA:=Row("IEPSPSIVA").ToString.ToDouble,
IVAPorcentaje:=Row("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=Row("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=Row("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=Row("IEPSPSPorcentaje").ToString.ToDouble, IEPSPSIVAPorcentaje:=Row("IEPSPSIVAPorcentaje").ToString.ToDouble, NoDeducible:=If((Row("NoDeducible").ToString().ToUpper().Contiene("TRUE", "1")) AndAlso EsNoDeducible, True, False)) Then IVAPorcentaje:=Row("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=Row("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=Row("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=Row("IEPSPSPorcentaje").ToString.ToDouble, IEPSPSIVAPorcentaje:=Row("IEPSPSIVAPorcentaje").ToString.ToDouble, NoDeducible:=If((Row("NoDeducible").ToString().ToUpper().Contiene("TRUE", "1")) AndAlso EsNoDeducible, True, False), CveContratoDetalle:=Row("CveContratoDetalle").ToString.ToEntero) Then
Retorno = False Retorno = False
Exit For Exit For
@@ -10216,9 +10258,10 @@ Partial Class Compras_Compras
Next Next
For Each item As String In ClavesBorradas For Each item As String In ClavesBorradas
Dim ObjCompras As New ClsCompras If item.ToEntero > 0 Then
If Not ObjCompras.DeleteCompraDetalle(item.ToEntero) Then If Not ObjCompra.DeleteCompraDetalle(item.ToEntero) Then
Retorno = False Retorno = False
End If
End If End If
Next Next
@@ -20107,14 +20150,6 @@ Partial Class Compras_Compras
Dim IDPoliza As Integer = 0 Dim IDPoliza As Integer = 0
'EMPIEZA OBJETOS Y TRANSACCIONES
'Dim OC As New ClsOC
'Dim OCBitacora As New ClsOIEventos(OC.IniciaTransacSQL())
'Dim ObjInventarios As New ClsInventarios(OC.IniciaTransacSQL())
'Dim ObjConta As New ClsContabilidad(OC.IniciaTransacSQL())
Dim DtInvOC As New DataTable Dim DtInvOC As New DataTable
Dim DtInvOCDiferencias As New DataTable 'Actualizado con diferencia Dim DtInvOCDiferencias As New DataTable 'Actualizado con diferencia
DtInvOCDiferencias.Columns.Add("CveOrdenCompra", GetType(Integer)) DtInvOCDiferencias.Columns.Add("CveOrdenCompra", GetType(Integer))
@@ -20142,7 +20177,7 @@ Partial Class Compras_Compras
Dim diferencia As Decimal = (dr2("PU").ToString.ToDecimal - gvr.FCTextBox("TxtPU").Text.ToDecimal) * gvr.FCTextBox("TxtCantidad").Text.ToDecimal Dim diferencia As Decimal = (dr2("PU").ToString.ToDecimal - gvr.FCTextBox("TxtPU").Text.ToDecimal) * gvr.FCTextBox("TxtCantidad").Text.ToDecimal
Dim DrInvOCDiferencias As DataRow Dim DrInvOCDiferencias As DataRow
If diferencia <> 0 Then 'And DtInvOC.Rows.Count > 0 If diferencia <> 0 Then
DrInvOCDiferencias = DtInvOCDiferencias.NewRow DrInvOCDiferencias = DtInvOCDiferencias.NewRow
DrInvOCDiferencias("CveOrdenCompra") = dr2("CveOrdenCompra").ToString.ToEntero DrInvOCDiferencias("CveOrdenCompra") = dr2("CveOrdenCompra").ToString.ToEntero
DrInvOCDiferencias("CveOrdenCompraDetalle") = dr2("CveOrdenCompraDetalle").ToString.ToEntero DrInvOCDiferencias("CveOrdenCompraDetalle") = dr2("CveOrdenCompraDetalle").ToString.ToEntero
@@ -20201,7 +20236,7 @@ Partial Class Compras_Compras
If DtInvOCDiferencias.Rows.Count > 0 Then If DtInvOCDiferencias.Rows.Count > 0 Then
'VARIABLES 'VARIABLES
Dim CveOrdenCompra = -1 Dim CveOrdenCompra As Integer = -1
Dim DiferenciaInvOC = 0.0D Dim DiferenciaInvOC = 0.0D
Dim CveMovimientoAlmacen = -1 Dim CveMovimientoAlmacen = -1
Dim CveOCDetalle = -1 Dim CveOCDetalle = -1
@@ -20284,15 +20319,14 @@ Partial Class Compras_Compras
If DiferenciaInvOC.RoundSQL() <> 0 Then If DiferenciaInvOC.RoundSQL() <> 0 Then
If CveSubProyecto <= 0 Then If CveSubProyecto <= 0 Then
Alert("Debe de asignar un sub proyecto o centro de constos.", TipoMensaje.MsgAdvertencia) Alert("Debe de asignar un sub proyecto o centro de costos.", TipoMensaje.MsgAdvertencia)
Retorno = False Retorno = False
End If End If
CvePrePoliza = ObjConta.AddPrePolizas("Compras/OC-(OCAlmacen)", 74, DiferenciaInvOC, DiferenciaInvOC, 1, Fecha, ConceptoPartida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) CvePrePoliza = ObjConta.AddPrePolizas("Compras/OC-(OCAlmacen)", 74, DiferenciaInvOC, DiferenciaInvOC, 1, Fecha, ConceptoPartida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If CvePrePoliza > 0 Then If CvePrePoliza > 0 Then
If CveMoneda = 2 And UsuarioActual.CveEmpresa.Contiene(119) Then If CveMoneda = 2 Then
ImporteME = (DiferenciaInvOC / TCInvOC).RoundAD() ImporteME = (DiferenciaInvOC / TCInvOC).RoundAD()
ImporteMEComp = ((ImporteME * TCInvOC) - ImporteME).RoundAD() ImporteMEComp = ((ImporteME * TCInvOC) - ImporteME).RoundAD()

View File

@@ -378,6 +378,12 @@ Partial Class PopUpVerFactura
End If End If
End If End If
If UrlParametros("OP").ToString = "CARPOTIMBRE" Then
If UrlParametros("CVEMOV") IsNot Nothing AndAlso UrlParametros("CVEMOV").ToString.ToEntero > 0 Then
ImprimeFormatoCartaPorteTimbrado(UrlParametros("CVEMOV").ToString.ToEntero)
End If
End If
If UrlParametros("OP").ToString = "CORT" Then If UrlParametros("OP").ToString = "CORT" Then
@@ -747,7 +753,7 @@ Partial Class PopUpVerFactura
#End Region #End Region
#Region "OP = 'CARPO' - IMPRIME FORMATO CARTA PORTE" #Region "OP = 'CARPO' - IMPRIME FORMATO CARTA PORTE TIMBRADO"
Private Sub ImprimeFormatoCartaPorte(CveMovimiento As Integer) Private Sub ImprimeFormatoCartaPorte(CveMovimiento As Integer)
If CveMovimiento > 0 Then If CveMovimiento > 0 Then
Dim ObjInv As New ClsInventarios Dim ObjInv As New ClsInventarios
@@ -873,6 +879,345 @@ Partial Class PopUpVerFactura
End If End If
End Sub End Sub
Private Function ValorXML(n As XmlNode, Campo As String, Optional Retorno As String = "") As String
Dim o As XmlNode = n.Attributes.Cast(Of XmlAttribute)().SingleOrDefault(Function(a) String.Compare(a.Name, Campo, True) = 0)
If o Is Nothing Then
Return Retorno
Else
Return o.Value
End If
End Function
Private Sub ImprimeFormatoCartaPorteTimbrado(CveMovimiento As Integer)
If CveMovimiento > 0 Then
'01 Autotransporte Federal
'02 Transporte Marítimo
'03 Transporte Aéreo
'04 Transporte Ferroviario
'05 Ducto
Dim HtTransporte As New Hashtable()
HtTransporte.Add("01", "Autotransporte Federal")
HtTransporte.Add("02", "Transporte Marítimo")
HtTransporte.Add("03", "Transporte Aéreo")
HtTransporte.Add("04", "Transporte Ferroviario")
HtTransporte.Add("05", "Ducto")
'EMISOR
Dim LugarExpedicion As String = ""
Dim ImgCBB As String = ""
'COMPROBANTE
Dim SerieFolio As String = ""
Dim Telefono As String = ""
Dim SubTotal As Decimal = 0
Dim Descuentos As Decimal = 0
Dim Total As Decimal = 0
'DATOS DEL CLIENTE
Dim ClienteRFC As String = ""
Dim ClienteNombre As String = ""
Dim ClienteUsoCFDi As String = ""
'TRANSPORTE
Dim MedioTransporte As String = ""
Dim TransporteInternacional As String = ""
Dim PermisoSTCC As String = ""
Dim NumPermiso As String = ""
Dim Aseguradora As String = ""
Dim NumPolizaSeguro As String = ""
Dim PlacaVM As String = ""
Dim AnioModeloVM As String = ""
'TIMBRADO
Dim FolioFiscal As String = ""
Dim NoCertificadoSAT As String = ""
Dim CadenaOriginal As String = ""
Dim NoSerieCertificado As String = ""
Dim FechaCertificacion As DateTime = Nothing
Dim SelloCFDi As String = ""
Dim SelloSAT As String = ""
Dim ObjInv As New ClsInventarios
If ObjInv.GetMovimientos(CveMovimiento, -1, -1, UsuarioActual.CveEmpresa) Then
If ObjInv.DtResultados.Rows.Count > 0 Then
Dim Dr As DataRow = ObjInv.DtResultados.Rows(0)
If Dr IsNot Nothing Then
SerieFolio = Dr("Folio").ToString
Telefono = Dr("Telefono1").ToString
End If
End If
End If
ObjInv.Dispose()
Dim DtConceptos As New DataTable()
DtConceptos.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
DtConceptos.Columns.Add(New DataColumn("Unidad", GetType(String)))
DtConceptos.Columns.Add(New DataColumn("Descripcion", GetType(String)))
DtConceptos.Columns.Add(New DataColumn("ValorUnitario", GetType(Decimal)))
DtConceptos.Columns.Add(New DataColumn("Importe", GetType(Decimal)))
Dim DtUbicaciones As New DataTable()
DtUbicaciones.Columns.Add(New DataColumn("Distancia", GetType(String)))
DtUbicaciones.Columns.Add(New DataColumn("RFC", GetType(String)))
DtUbicaciones.Columns.Add(New DataColumn("Nombre", GetType(String)))
DtUbicaciones.Columns.Add(New DataColumn("FechaHoraSalida", GetType(DateTime)))
DtUbicaciones.Columns.Add(New DataColumn("Direccion", GetType(String)))
Dim DtMercancias As New DataTable()
DtMercancias.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
DtMercancias.Columns.Add(New DataColumn("UnidadMedida", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("Descripcion", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("PesoEnKg", GetType(String)))
Dim DtOperadores As New DataTable()
DtOperadores.Columns.Add(New DataColumn("RFC", GetType(String)))
DtOperadores.Columns.Add(New DataColumn("NumLicencia", GetType(String)))
DtOperadores.Columns.Add(New DataColumn("NombreOperador", GetType(String)))
Dim XMLDoc As New XmlDocument
Dim Path As String = String.Format("{0}\{1}\{2}\{3}.{4}", UsuarioActual.Empresa.Ruta, "XML", "Tra", String.Format("Tra-{0}", SerieFolio), "xml")
Dim Archivo As New System.IO.FileInfo(Path)
If Archivo.Exists Then
Try
XMLDoc.Load(Path)
Catch ex As Exception
Try
Dim oReader = New StreamReader(Path, Encoding.GetEncoding("ISO-8859-1"))
XMLDoc.Load(oReader)
oReader.Dispose()
Catch ex2 As Exception
GuardaLog("Error al intentar leer el XML del SAT. Error:" & ex2.ToString())
End Try
End Try
End If
If XMLDoc IsNot Nothing AndAlso Archivo.Exists Then
Dim RutaCBB As String = String.Format("{0}\CBB\Tra-{1}.jpg", UsuarioActual.Empresa.Ruta, SerieFolio)
Dim ImagenCBB As New System.IO.FileInfo(RutaCBB)
Dim nodo As XmlNode = XMLDoc.DocumentElement
Dim Prefijo As String = If(XMLDoc.DocumentElement.Prefix = "", "cfd", XMLDoc.DocumentElement.Prefix)
Dim cfdVer As String = "http://www.sat.gob.mx/cfd/3"
Dim namespaces As New XmlNamespaceManager(XMLDoc.NameTable)
If Prefijo.ToLower <> "cfdi" Then cfdVer = "http://www.sat.gob.mx/cfd/2"
namespaces.AddNamespace(Prefijo, cfdVer)
namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital")
namespaces.AddNamespace("implocal", "http://www.sat.gob.mx/implocal")
namespaces.AddNamespace("registrofiscal", "http://www.sat.gob.mx/registrofiscal")
namespaces.AddNamespace("cartaporte", "http://www.sat.gob.mx/CartaPorte")
Dim nodeComprobante As XmlNode = XMLDoc.SelectSingleNode(String.Format("//{0}:Comprobante", Prefijo), namespaces)
If nodeComprobante IsNot Nothing Then
LugarExpedicion = ValorXML(nodeComprobante, "LugarExpedicion")
SubTotal = ValorXML(nodeComprobante, "SubTotal").ToDecimal()
Total = ValorXML(nodeComprobante, "Total").ToDecimal()
End If
Dim nodeCliente As XmlNode = XMLDoc.SelectSingleNode(String.Format("//{0}:Receptor", Prefijo), namespaces)
If nodeCliente IsNot Nothing Then
ClienteRFC = ValorXML(nodeCliente, "RFC")
ClienteNombre = ValorXML(nodeCliente, "Nombre")
Dim UsoCFDI = ValorXML(nodeCliente, "UsoCFDI")
ClienteUsoCFDi = String.Format("{0} - {1}", UsoCFDI, GlobalDTSATUsosCFDI().FiltroPrimeroValor("Descripcion", String.Format("UsoCFDI = '{0}'", UsoCFDI)))
End If
Dim nodeConceptos As XmlNode = XMLDoc.SelectSingleNode(String.Format("//{0}:Conceptos", Prefijo), namespaces)
If nodeConceptos IsNot Nothing Then
For Each node As XmlNode In nodeConceptos.ChildNodes
Dim Row As DataRow = DtConceptos.NewRow
Row("Cantidad") = ValorXML(node, "Cantidad", "")
Row("Unidad") = ValorXML(node, "Unidad", "")
Row("Descripcion") = ValorXML(node, "Descripcion", "")
Row("ValorUnitario") = ValorXML(node, "ValorUnitario", "")
Row("Importe") = ValorXML(node, "Importe", "")
DtConceptos.Rows.Add(Row)
Next
End If
Dim nodeComp As XmlNode = XMLDoc.SelectSingleNode(String.Format("//{0}:Complemento", Prefijo), namespaces)
Dim nodeCartaPorte As XmlNode = nodeComp.SelectSingleNode(String.Format("//{0}:CartaPorte", "cartaporte"), namespaces)
If nodeCartaPorte IsNot Nothing Then
TransporteInternacional = ValorXML(nodeCartaPorte, "TranspInternac", "")
End If
Dim nodeAutotransporteFederal As XmlNode = nodeComp.SelectSingleNode(String.Format("//{0}:AutotransporteFederal", "cartaporte"), namespaces)
If nodeAutotransporteFederal IsNot Nothing Then
PermisoSTCC = ValorXML(nodeAutotransporteFederal, "PermSCT", "")
NumPermiso = ValorXML(nodeAutotransporteFederal, "NumPermisoSCT", "")
Aseguradora = ValorXML(nodeAutotransporteFederal, "NombreAseg", "")
NumPolizaSeguro = ValorXML(nodeAutotransporteFederal, "NumPolizaSeguro", "")
End If
Dim nodeIdentificacionVehicular As XmlNode = nodeComp.SelectSingleNode(String.Format("//{0}:IdentificacionVehicular", "cartaporte"), namespaces)
If nodeIdentificacionVehicular IsNot Nothing Then
PlacaVM = ValorXML(nodeIdentificacionVehicular, "PlacaVM", "")
AnioModeloVM = ValorXML(nodeIdentificacionVehicular, "AnioModeloVM", "")
End If
Dim nodeFiguraTransporte As XmlNode = nodeComp.SelectSingleNode(String.Format("//{0}:FiguraTransporte", "cartaporte"), namespaces)
If nodeFiguraTransporte IsNot Nothing Then
Dim CveTransporte As String = ValorXML(nodeFiguraTransporte, "CveTransporte", "")
MedioTransporte = String.Format("{0} - {1}", CveTransporte, HtTransporte(CveTransporte).ToString())
End If
Dim nodeMercancias As XmlNodeList = nodeComp.SelectNodes(String.Format("//{0}:Mercancia", "cartaporte"), namespaces)
For Each node As XmlNode In nodeMercancias
Dim Row As DataRow = DtMercancias.NewRow
Row("Cantidad") = ValorXML(node, "Cantidad", "")
Row("UnidadMedida") = ValorXML(node, "Unidad", "")
Row("Descripcion") = ValorXML(node, "Descripcion", "")
Row("PesoEnKg") = ValorXML(node, "PesoEnKg", "")
DtMercancias.Rows.Add(Row)
Next
Dim nodeOperadores As XmlNodeList = nodeComp.SelectNodes(String.Format("//{0}:Operador", "cartaporte"), namespaces)
For Each node As XmlNode In nodeOperadores
Dim Row As DataRow = DtOperadores.NewRow
Row("RFC") = ValorXML(node, "RFCOperador", "")
Row("NumLicencia") = ValorXML(node, "NumLicencia", "")
Row("NombreOperador") = ValorXML(node, "NombreOperador", "")
DtOperadores.Rows.Add(Row)
Next
Dim nodeUbicaciones As XmlNodeList = nodeComp.SelectNodes(String.Format("//{0}:Ubicacion", "cartaporte"), namespaces)
For Each node As XmlNode In nodeUbicaciones
Dim Row As DataRow = DtUbicaciones.NewRow
Row("Distancia") = ValorXML(node, "DistanciaRecorrida", "")
Dim nodeOrigen = node.ChildNodes.Cast(Of XmlNode).FirstOrDefault(Function(x) x.Name = "cartaporte:Origen")
If nodeOrigen IsNot Nothing Then
Row("RFC") = ValorXML(nodeOrigen, "RFCRemitente", "")
Row("Nombre") = ValorXML(nodeOrigen, "NombreRemitente", "")
Row("FechaHoraSalida") = ValorXML(nodeOrigen, "FechaHoraSalida", "").ToDateTime()
End If
Dim nodeDestino = node.ChildNodes.Cast(Of XmlNode).FirstOrDefault(Function(x) x.Name = "cartaporte:Destino") 'node.SelectSingleNode(String.Format("//{0}:Destino", "cartaporte"), namespaces)
If nodeDestino IsNot Nothing Then
Row("RFC") = ValorXML(nodeDestino, "RFCDestinatario", "")
Row("Nombre") = ValorXML(nodeDestino, "NombreDestinatario", "")
Row("FechaHoraSalida") = ValorXML(nodeDestino, "FechaHoraProgLlegada", "").ToDateTime()
End If
Dim nodeDomicilio = node.ChildNodes.Cast(Of XmlNode).FirstOrDefault(Function(x) x.Name = "cartaporte:Domicilio") 'node.SelectSingleNode(String.Format("//{0}:Domicilio", "cartaporte"), namespaces)
If nodeDomicilio IsNot Nothing Then
Dim calle = ValorXML(nodeDomicilio, "Calle", "")
Dim Estado = ValorXML(nodeDomicilio, "Estado", "")
Dim Pais = ValorXML(nodeDomicilio, "MEX", "")
Dim CP = ValorXML(nodeDomicilio, "CodigoPostal", "")
Row("Direccion") = String.Format("{0} ,{1},{2}. CP {3}", calle, Estado, Pais, CP)
End If
DtUbicaciones.Rows.Add(Row)
Next
Dim nodeTFD As XmlNode = nodeComp.SelectSingleNode(String.Format("//{0}:TimbreFiscalDigital", "tfd"), namespaces)
If nodeTFD IsNot Nothing Then
FolioFiscal = ValorXML(nodeTFD, "UUID", "")
NoSerieCertificado = ValorXML(nodeTFD, "NoCertificadoSAT", "")
FechaCertificacion = ValorXML(nodeTFD, "FechaTimbrado", "").ToDateTime
SelloCFDi = ValorXML(nodeTFD, "SelloCFD", "")
SelloSAT = ValorXML(nodeTFD, "SelloSAT", "")
NoCertificadoSAT = ValorXML(nodeTFD, "NoCertificadoSAT", "")
CadenaOriginal = "||1.0|" + FolioFiscal + "|" + FechaCertificacion.ToString("yyyy-MM-dd") + "T" + FechaCertificacion.ToString("HH:mm:ss") + "|" + SelloCFDi + "|" + NoSerieCertificado + "||"
End If
If Not ImagenCBB.Exists Then
Dim CBB As New ClbNegBICFDv3_2.ClsNegCBBGenerar()
CBB.GenerarCBB(UsuarioActual.Empresa.RFC, ClienteRFC, Total, FolioFiscal, RutaCBB)
End If
ImgCBB = String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/Tra-{4}.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, SerieFolio)
End If
If DtConceptos.Rows.Count > 0 Then
Dim params As New List(Of ReportParameter)
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
'EMPRESA
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("RegimenFiscal", UsuarioActual.Empresa.Regimen))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
params.Add(New ReportParameter("DomicilioFiscal", $"{UsuarioActual.Empresa.Direccion}, {UsuarioActual.Empresa.Colonia}, {UsuarioActual.Empresa.Localidad}, {UsuarioActual.Empresa.Estado}, Tel. {Telefono}"))
params.Add(New ReportParameter("SerieFolio", SerieFolio))
params.Add(New ReportParameter("RFC", UsuarioActual.Empresa.RFC))
params.Add(New ReportParameter("DomicilioExpedicion", LugarExpedicion))
'CLIENTE
params.Add(New ReportParameter("ClienteNombre", ClienteNombre))
params.Add(New ReportParameter("ClienteRFC", ClienteRFC))
params.Add(New ReportParameter("UsoCFDi", ClienteUsoCFDi))
'TRANSPORTE
params.Add(New ReportParameter("MedioTransporte", MedioTransporte))
params.Add(New ReportParameter("TransporteInternacional", TransporteInternacional))
params.Add(New ReportParameter("PermisoSTCC", PermisoSTCC))
params.Add(New ReportParameter("NumPermiso", NumPermiso))
params.Add(New ReportParameter("Aseguradora", Aseguradora))
params.Add(New ReportParameter("NumPoliza", NumPolizaSeguro))
params.Add(New ReportParameter("PlacaVM", PlacaVM))
params.Add(New ReportParameter("AnioVM", AnioModeloVM))
'TIMBRADO
params.Add(New ReportParameter("FolioFiscal", FolioFiscal))
params.Add(New ReportParameter("QR", ImgCBB))
params.Add(New ReportParameter("SelloCFDI", SelloCFDi))
params.Add(New ReportParameter("CertificadoContribuyente", NoCertificadoSAT))
params.Add(New ReportParameter("CadenaOriginal", CadenaOriginal))
params.Add(New ReportParameter("SerieCertificadoSAT", NoSerieCertificado))
params.Add(New ReportParameter("FechaCertificacion", FechaCertificacion.ToString("dd/MM/yyyy HH:mm:ss")))
params.Add(New ReportParameter("SelloSAT", SelloSAT))
'TOTALES
params.Add(New ReportParameter("SubTotal", SubTotal.ToString()))
params.Add(New ReportParameter("Descuentos", Descuentos.ToString()))
params.Add(New ReportParameter("Total", Total.ToString()))
' [@CertificadoContribuyente]
'[@CadenaOriginal]
Dim lrds As New List(Of ReportDataSource)
Dim rds As New ReportDataSource
rds.Name = "DataSet1"
rds.Value = DtConceptos
lrds.Add(rds)
Dim rds2 As New ReportDataSource
rds2.Name = "DataSet2"
rds2.Value = DtUbicaciones
lrds.Add(rds2)
Dim rds3 As New ReportDataSource
rds3.Name = "DataSet3"
rds3.Value = DtMercancias
lrds.Add(rds3)
Dim rds4 As New ReportDataSource
rds4.Name = "DataSet4"
rds4.Value = DtOperadores
lrds.Add(rds4)
ImprimirPDF("Empresas/Grales/Formatos/CartaPorteTimbrado.rdlc", lrds, params, String.Format("Carta Porte -{0}", Now.ToDateTime.ToShortDateString))
End If
End If
End Sub
#End Region #End Region
#Region "OP = 'DesXmlTra' - IMPRIME XML TRASLADO" #Region "OP = 'DesXmlTra' - IMPRIME XML TRASLADO"

View File

@@ -223,7 +223,7 @@ Partial Class ContabilidadC_RegPrePolizaS
Beneficiario = "-1" Beneficiario = "-1"
Actualizar = False Actualizar = False
IdPoliza = -1 IdPoliza = -1
CargaCtaContableE()
If IfNull(Request("Tipo"), "").ToString = "NOMPROV" Then If IfNull(Request("Tipo"), "").ToString = "NOMPROV" Then
DivTipoGasto.Visible = True DivTipoGasto.Visible = True
@@ -452,6 +452,11 @@ Partial Class ContabilidadC_RegPrePolizaS
LnkComplementoPago.Visible = True LnkComplementoPago.Visible = True
End If End If
If UsuarioActual.CveEmpresa = 119 Then
BtnContabilizar.Visible = True
End If
If UsuarioActual.Empresa.TipoContabilizacion = 1 Then If UsuarioActual.Empresa.TipoContabilizacion = 1 Then
If dr("FolioPoliza").ToString.ToEntero > 0 Then If dr("FolioPoliza").ToString.ToEntero > 0 Then
divContabilizada.Visible = True divContabilizada.Visible = True
@@ -638,6 +643,18 @@ Partial Class ContabilidadC_RegPrePolizaS
DdlCuentaContableE.Items.Insert(0, New ListItem("Sin Asignar", "0")) DdlCuentaContableE.Items.Insert(0, New ListItem("Sin Asignar", "0"))
End Sub End Sub
Private Function CargaCuentasContpaq(CveCuenta As Integer) As Integer
Dim Retorno As Integer = -1
If CveCuenta > 0 Then
Dim ObjConta As New ClsContabilidad
If ObjConta.GetCuentas(CveCuenta, "-1", 1, UsuarioActual.CveEmpresa) Then
Retorno = ObjConta.DtResultados.Rows(0)("IdCompaq").ToString.ToEntero
End If
ObjConta.Dispose()
End If
Return Retorno
End Function
Private Sub CargaTiposGasto() Private Sub CargaTiposGasto()
DdlTipoGasto.DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa) DdlTipoGasto.DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa)
DdlTipoGasto.DataBind() DdlTipoGasto.DataBind()
@@ -651,7 +668,7 @@ Partial Class ContabilidadC_RegPrePolizaS
End Sub End Sub
Private Sub CargaCompras(CveProveedor As Integer) Private Sub CargaCompras(CveProveedor As Integer)
If Not DdlConceptosContables.SelectedValue.ToEntero.Contiene(21) Then If DdlConceptosContables.SelectedValue.ToEntero.Contiene(5, 17, 305, 308, 310, 311, 312) Then
Dim ObjCompras As New ClsCompras Dim ObjCompras As New ClsCompras
DdlCompras.ClearSelection() DdlCompras.ClearSelection()
@@ -1040,16 +1057,21 @@ Partial Class ContabilidadC_RegPrePolizaS
End Sub End Sub
Private Sub ActualizarPrePoliza() Private Sub ActualizarPrePoliza()
Dim contador As Integer = 0
Dim OcurrioError As Boolean = False Dim OcurrioError As Boolean = False
Dim ObjContabilidad As New ClsContabilidad Dim ObjContabilidad As New ClsContabilidad
ObjContabilidad.IniciaTransacSQL() ObjContabilidad.IniciaTransacSQL()
ObjContabilidad.UpdatePrePoliza(MinFecha, -1, DdlTipoPoliza.SelectedValue.ToEntero, -1, CvePrePoliza, UsuarioActual.CveEmpresa, Concepto:=TxtConcepto.Text, FechaPoliza:=TxtFechaDocumento.Text.ToDate, CveUsuarioModifico:=UsuarioActual.CveUsuario) ObjContabilidad.UpdatePrePoliza(MinFecha, -1, DdlTipoPoliza.SelectedValue.ToEntero, -1, CvePrePoliza, UsuarioActual.CveEmpresa, Concepto:=TxtConcepto.Text, FechaPoliza:=TxtFechaDocumento.Text.ToDate, CveUsuarioModifico:=UsuarioActual.CveUsuario)
If Not ObjContabilidad.UpdatePrePolizasDetalleBloquear(CvePrePoliza, False) Then
OcurrioError = True
End If
For Each row As GridViewRow In GvPrePoliza.Rows For Each row As GridViewRow In GvPrePoliza.Rows
If row.DataKey("CvePrePolizaDetalle").ToEntero > 0 Then If row.DataKey("CvePrePolizaDetalle").ToEntero > 0 Then
If row.FCCheckBox("chkModificado").Checked Then If row.FCCheckBox("chkModificado").Checked Then
contador = contador + 1
If Not ObjContabilidad.UpdatePrePolizasDetalle(row.DataKey("CvePrePolizaDetalle").ToEntero, row.FCLiteral("TxtConcepto").Text, row.DataKey("CveSubProyecto").ToEntero, If Not ObjContabilidad.UpdatePrePolizasDetalle(row.DataKey("CvePrePolizaDetalle").ToEntero, row.FCLiteral("TxtConcepto").Text, row.DataKey("CveSubProyecto").ToEntero,
row.DataKey("IdCtaContable").ToEntero, If(row.FCLiteral("TxtCargo").Text.ToDecimal <> 0, False, True), If(row.FCLiteral("TxtCargo").Text.ToDecimal <> 0, row.DataKey("IdCtaContable").ToEntero, If(row.FCLiteral("TxtCargo").Text.ToDecimal <> 0, False, True), If(row.FCLiteral("TxtCargo").Text.ToDecimal <> 0,
row.FCLiteral("TxtCargo").Text.ToDecimal, row.FCLiteral("TxtAbono").Text.ToDecimal), CveTipoGasto:=If(DdlTipoGasto.Visible, row.DataKey("CveTipoGasto").ToEntero, row.DataKey("CveTipoGasto").ToEntero), row.FCLiteral("TxtCargo").Text.ToDecimal, row.FCLiteral("TxtAbono").Text.ToDecimal), CveTipoGasto:=If(DdlTipoGasto.Visible, row.DataKey("CveTipoGasto").ToEntero, row.DataKey("CveTipoGasto").ToEntero),
@@ -1061,6 +1083,7 @@ Partial Class ContabilidadC_RegPrePolizaS
End If End If
End If End If
Else Else
contador = contador + 1
If Not ObjContabilidad.AddPrePolizasDetalle(CvePrePoliza, If(row.FCLiteral("TxtCargo").Text.ToDecimal <> 0, False, True), If(row.FCLiteral("TxtCargo").Text.ToDecimal <> 0, If Not ObjContabilidad.AddPrePolizasDetalle(CvePrePoliza, If(row.FCLiteral("TxtCargo").Text.ToDecimal <> 0, False, True), If(row.FCLiteral("TxtCargo").Text.ToDecimal <> 0,
row.FCLiteral("TxtCargo").Text.ToDecimal, row.FCLiteral("TxtAbono").Text.ToDecimal), row.DataKey("Referencia").ToString, row.FCLiteral("TxtCargo").Text.ToDecimal, row.FCLiteral("TxtAbono").Text.ToDecimal), row.DataKey("Referencia").ToString,
row.DataKey("CveConceptoContable").ToEntero, row.FCLiteral("TxtConcepto").Text, Now, row.DataKey("CveConceptoContable").ToEntero, row.FCLiteral("TxtConcepto").Text, Now,
@@ -1087,6 +1110,13 @@ Partial Class ContabilidadC_RegPrePolizaS
ObjContabilidad.Dispose() ObjContabilidad.Dispose()
CargaPrePoliza() CargaPrePoliza()
If Not OcurrioError Then
If IdPoliza > 0 AndAlso contador Then
BtnContabilizar_Click(Nothing, Nothing)
End If
End If
End Sub End Sub
Protected Sub LnkAddConcepto_Click(sender As Object, e As EventArgs) Protected Sub LnkAddConcepto_Click(sender As Object, e As EventArgs)
RegistraScript(String.Format("$('#{0}').modal();", "DivEditConcepto")) RegistraScript(String.Format("$('#{0}').modal();", "DivEditConcepto"))
@@ -1097,8 +1127,6 @@ Partial Class ContabilidadC_RegPrePolizaS
CargaConceptosContablesE() CargaConceptosContablesE()
CargaSubProyectoE() CargaSubProyectoE()
CargaTipoGastoE() CargaTipoGastoE()
CargaCtaContableE()
UpdatePanel1.Update() UpdatePanel1.Update()
End Sub End Sub
@@ -1135,9 +1163,12 @@ Partial Class ContabilidadC_RegPrePolizaS
DdlPersonalE.SelectedValueExist(CvePersonal) DdlPersonalE.SelectedValueExist(CvePersonal)
DdlClientesE.SelectedValue = CveCliente If CveCliente > 0 Then
DdlClientesE.SelectedText = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimeroValor("NombreComercial", $"CveCliente={CveCliente}") DdlClientesE.SelectedValue = CveCliente
DdlClientesE_SelectedIndexChanged(DdlClientesE, e) DdlClientesE.SelectedText = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimeroValor("NombreComercial", $"CveCliente={CveCliente}")
DdlClientesE_SelectedIndexChanged(DdlClientesE, e)
End If
DdlVentasE.SelectedValueExist(CveVenta) DdlVentasE.SelectedValueExist(CveVenta)
TxtConceptoE.Text = Concepto TxtConceptoE.Text = Concepto
@@ -1147,7 +1178,7 @@ Partial Class ContabilidadC_RegPrePolizaS
DdlSubProyectoE.SelectedValueExist(CveSubProyecto) DdlSubProyectoE.SelectedValueExist(CveSubProyecto)
CargaTipoGastoE() CargaTipoGastoE()
DdlTipoGastoE.SelectedValueExist(CveTipoGasto) DdlTipoGastoE.SelectedValueExist(CveTipoGasto)
CargaCtaContableE()
DdlCuentaContableE.SelectedValueExist(CveCuenta) DdlCuentaContableE.SelectedValueExist(CveCuenta)
If Cargo <> 0 Then If Cargo <> 0 Then
@@ -1234,7 +1265,7 @@ Partial Class ContabilidadC_RegPrePolizaS
DdlProveedoresE.Items.Insert(0, New ListItem(" - ", "-1")) DdlProveedoresE.Items.Insert(0, New ListItem(" - ", "-1"))
End Sub End Sub
Private Sub CargaComprasE(CveProveedor As Integer) Private Sub CargaComprasE(CveProveedor As Integer)
If Not DdlConceptosContablesE.SelectedValue.ToEntero.Contiene(21) Then If DdlConceptosContables.SelectedValue.ToEntero.Contiene(5, 17, 305, 308, 310, 311, 312) Then
Dim ObjCompras As New ClsCompras Dim ObjCompras As New ClsCompras
DdlComprasE.ClearSelection() DdlComprasE.ClearSelection()
@@ -1294,8 +1325,9 @@ Partial Class ContabilidadC_RegPrePolizaS
If IndiceGrid = -1 Then If IndiceGrid = -1 Then
If DtMovimientos Is Nothing Then CreaDT() If DtMovimientos Is Nothing Then CreaDT()
If CvePrePoliza > 0 Then If CvePrePoliza > 0 Then
Dim IdCtaContable As Integer = CargaCuentasContpaq(DdlCuentaContableE.SelectedValue.ToEntero)
Dim dr As DataRow = DtMovimientos.NewRow Dim dr As DataRow = DtMovimientos.NewRow
dr("IdCtaContable") = DdlCuentaContableE.SelectedValue dr("IdCtaContable") = IdCtaContable
dr("CveCuenta") = DdlCuentaContableE.SelectedValue dr("CveCuenta") = DdlCuentaContableE.SelectedValue
dr("ConceptoContable") = DdlConceptosContablesE.SelectedItem.Text dr("ConceptoContable") = DdlConceptosContablesE.SelectedItem.Text
dr("CveConceptoContable") = DdlConceptosContablesE.SelectedValue dr("CveConceptoContable") = DdlConceptosContablesE.SelectedValue
@@ -1386,7 +1418,8 @@ Partial Class ContabilidadC_RegPrePolizaS
If Rows.Count > 0 Then If Rows.Count > 0 Then
Dim dr As DataRow = Rows(0) Dim dr As DataRow = Rows(0)
dr("IdCtaContable") = DdlCuentaContableE.SelectedValue Dim IdCtaContable As Integer = CargaCuentasContpaq(DdlCuentaContableE.SelectedValue.ToEntero)
dr("IdCtaContable") = IdCtaContable
dr("CveCuenta") = DdlCuentaContableE.SelectedValue dr("CveCuenta") = DdlCuentaContableE.SelectedValue
dr("CodigoNombreCuenta") = DdlCuentaContableE.SelectedItem.Text dr("CodigoNombreCuenta") = DdlCuentaContableE.SelectedItem.Text
dr("ConceptoContable") = DdlConceptosContablesE.SelectedItem.Text dr("ConceptoContable") = DdlConceptosContablesE.SelectedItem.Text
@@ -1443,11 +1476,12 @@ Partial Class ContabilidadC_RegPrePolizaS
UpTotalAbono.Update() UpTotalAbono.Update()
End If End If
RegistraScript("$('#DivEditConcepto').modal('hide')", "hidemodal")
End If End If
UpPrePoliza.Update() UpPrePoliza.Update()
RegistraScript("$('#DivEditConcepto').modal('hide')", "hidemodal")
End Sub End Sub
Protected Sub GvMov_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles GvMov.RowDeleting Protected Sub GvMov_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles GvMov.RowDeleting
@@ -1833,21 +1867,6 @@ Partial Class ContabilidadC_RegPrePolizaS
LbAgregar.Text = "Agregar" LbAgregar.Text = "Agregar"
End Sub End Sub
Private Sub BtnContabilizar_Click(sender As Object, e As EventArgs) Handles BtnContabilizar.Click
Dim ObjConta As New ClsContabilidad
If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
Alert(String.Format("Prepóliza contabilizada. <br/><br/>Folio:<a Class=""Texto"" target='_blank' href=""/Contabilidad/RegPoliza.aspx?IdPoliza={0}"">Ver Póliza</a>", ObjConta.ContaIdPoliza), ModExtensiones.TipoMensaje.MsgInformacion)
Else
Alert($"Ocurrio un error al contabilizar {ObjConta.AlertaMensaje}", TipoMensaje.MsgAdvertencia)
End If
ObjConta.Dispose()
End Sub
#Region "COMPLEMENTO DE PAGO" #Region "COMPLEMENTO DE PAGO"
@@ -2247,7 +2266,29 @@ Partial Class ContabilidadC_RegPrePolizaS
End Function End Function
#End Region #End Region
Private Sub BtnContabilizar_Click(sender As Object, e As EventArgs) Handles BtnContabilizar.Click
Contabilizar()
End Sub
Private Sub Contabilizar()
Dim ObjConta As New ClsContabilidad
If IdPoliza > 0 Then 'si está bloqueada, lo desbloqueaprimero
ObjConta.UpdatePrePolizasDetalleBloquear(CvePrePoliza, False)
End If
If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, pIDPoliza:=If(IdPoliza > 0, IdPoliza, -1), Concepto:=TxtConcepto.Text, Fecha:=TxtFechaDocumento.Text.ToDateTime()) Then
Alert(String.Format("Prepóliza contabilizada. <br/><br/>Folio:<a Class=""Texto"" target='_blank' href=""/Contabilidad/RegPoliza.aspx?IdPoliza={0}"">Ver Póliza</a>", ObjConta.ContaIdPoliza), ModExtensiones.TipoMensaje.MsgInformacion)
Else
Alert($"Ocurrio un error al contabilizar {ObjConta.AlertaMensaje}", TipoMensaje.MsgAdvertencia)
End If
ObjConta.Dispose()
End Sub
#Region "Paquete Egresos" #Region "Paquete Egresos"

View File

@@ -69,7 +69,7 @@
<asp:UpdatePanel runat="server" ID="UpDatos" UpdateMode="Conditional"> <asp:UpdatePanel runat="server" ID="UpDatos" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<asp:GridView runat="server" ID="GvDatos" EmptyDataText="" ToolTip="" CssClass="table table-striped table-advance table-hover ScrollAD" <asp:GridView runat="server" ID="GvDatos" EmptyDataText="" ToolTip="" CssClass="table table-striped table-advance table-hover ScrollAD"
DataKeyNames="CveCuentaAsignacion,CveConceptoContable,CveCuenta,IdCuenta,CveProveedor,CveCliente,CvePersonal,CveClasificacion,CveAlmacen,PorcentajeIVA,CveConceptoNomina,CveBancoCuenta" AutoGenerateColumns="False" DataKeyNames="CveCuentaAsignacion,CveConceptoContable,CveCuenta,IdCuenta,CveProveedor,CveCliente,CvePersonal,CveClasificacion,CveAlmacen,PorcentajeIVA,CveConceptoNomina,CveBancoCuenta,CveActivoFijo" AutoGenerateColumns="False"
Style=" width:100%" GridLines="None"> Style=" width:100%" GridLines="None">
<Columns> <Columns>
<asp:BoundField DataField="ConceptoContable" ItemStyle-Width="150px" HeaderText="Concepto Contable" ItemStyle-HorizontalAlign="Left"/> <asp:BoundField DataField="ConceptoContable" ItemStyle-Width="150px" HeaderText="Concepto Contable" ItemStyle-HorizontalAlign="Left"/>
@@ -130,7 +130,7 @@
<div class="col-md-1" style="width:50%;text-align:left"> <div class="col-md-1" style="width:50%;text-align:left">
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:HiddenField ID="HdnCveCuentaAsignacion" runat="server" /> <asp:HiddenField ID="HdnCveCuentaAsignacion" runat="server" />
<asp:DropDownList ID="DdlCconceptosContables" CssClass="form-control input-sm select2me js-cuenta-programmatic select2me" runat="server" AppendDataBoundItems="true" DataTextField="ConceptoContable" DataValueField="CveConceptoContable" Width="240px" ValidationGroup="GrpModulo" Enabled="false"></asp:DropDownList> <asp:DropDownList ID="DdlCconceptosContables" CssClass="form-control input-sm select2me js-cuenta-programmatic select2me" runat="server" AppendDataBoundItems="true" DataTextField="ConceptoContable" DataValueField="CveConceptoContable" Width="240px" ValidationGroup="GrpModulo" AutoPostBack="true"></asp:DropDownList>
<label for="<%= DdlCconceptosContables.ClientID.ToString()%>">Concepto Contable: </label> <label for="<%= DdlCconceptosContables.ClientID.ToString()%>">Concepto Contable: </label>
</div> </div>
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
@@ -148,7 +148,7 @@
</div> </div>
<div class="form-group form-md-line-input input-iconright" id="divCliente" runat="server" visible="false"> <div class="form-group form-md-line-input input-iconright" id="divCliente" runat="server" visible="false">
<label for="<%= DdlClientes.ClientID.ToString()%>">Cliente: </label><br /> <label for="<%= DdlClientes.ClientID.ToString()%>">Cliente: </label><br />
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClientes" Width="90%" data-metodo="getcliente" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 100%;"></ADS:Dropdownlost> <ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClientes" Width="90%" data-metodo="getcliente" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 100%;"></ADS:Dropdownlost>
</div> </div>
<div class="form-group form-md-line-input input-iconright" id="divBancos" runat="server" visible="false"> <div class="form-group form-md-line-input input-iconright" id="divBancos" runat="server" visible="false">
<asp:DropDownList ID="DdlCuentaBancaria" CssClass="form-control input-sm select2me js-cuenta-programmatic select2me" runat="server" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta" Width="240px" ValidationGroup="GrpModulo" Enabled="false"></asp:DropDownList> <asp:DropDownList ID="DdlCuentaBancaria" CssClass="form-control input-sm select2me js-cuenta-programmatic select2me" runat="server" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta" Width="240px" ValidationGroup="GrpModulo" Enabled="false"></asp:DropDownList>
@@ -181,6 +181,10 @@
<asp:DropDownList ID="DdlActivoFijo" CssClass="form-control input-sm select2me js-cuenta-programmatic select2me" runat="server" AppendDataBoundItems="true" DataTextField="Descripcion" DataValueField="CveActivoFijo" Width="240px" ValidationGroup="GrpModulo" Enabled="false"></asp:DropDownList> <asp:DropDownList ID="DdlActivoFijo" CssClass="form-control input-sm select2me js-cuenta-programmatic select2me" runat="server" AppendDataBoundItems="true" DataTextField="Descripcion" DataValueField="CveActivoFijo" Width="240px" ValidationGroup="GrpModulo" Enabled="false"></asp:DropDownList>
<label for="<%= DdlActivoFijo.ClientID.ToString()%>">Activo Fijo: </label> <label for="<%= DdlActivoFijo.ClientID.ToString()%>">Activo Fijo: </label>
</div> </div>
<div class="form-group form-md-line-input input-iconright" id="divSubProyectos" runat="server" visible="false">
<asp:DropDownList ID="DdlSubProyectos" CssClass="form-control input-sm select2me js-cuenta-programmatic select2me" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="240px" ValidationGroup="GrpModulo" Enabled="false"></asp:DropDownList>
<label for="<%= DdlSubProyectos.ClientID.ToString()%>">Sub Proyectos: </label>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -79,6 +79,8 @@ Partial Class Contabilidad2_CatCuentasAsignaciones
DdlActivoFijo.DataSource = GlobalDTActivoFijos(UsuarioActual.CveEmpresa) DdlActivoFijo.DataSource = GlobalDTActivoFijos(UsuarioActual.CveEmpresa)
DdlSubProyectos.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
Dim ObjBancos As New ClsBancos Dim ObjBancos As New ClsBancos
If ObjBancos.GetBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) Then If ObjBancos.GetBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) Then
DdlCuentaBancaria.DataSource = ObjBancos.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) DdlCuentaBancaria.DataSource = ObjBancos.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
@@ -94,6 +96,7 @@ Partial Class Contabilidad2_CatCuentasAsignaciones
'DdlPersonal.DataBind() 'DdlPersonal.DataBind()
DdlClasificacion.DataBind() DdlClasificacion.DataBind()
DdlAlmacen.DataBind() DdlAlmacen.DataBind()
DdlSubProyectos.DataBind()
DdlCuentaBancaria.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlCuentaBancaria.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlConceptoNomina.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlConceptoNomina.Items.Insert(0, New ListItem("Seleccione", "-1"))
@@ -112,6 +115,10 @@ Partial Class Contabilidad2_CatCuentasAsignaciones
HdnCveCuentaAsignacion.Value = GvRow.DataKey("CveCuentaAsignacion").ToString HdnCveCuentaAsignacion.Value = GvRow.DataKey("CveCuentaAsignacion").ToString
If Dr IsNot Nothing Then If Dr IsNot Nothing Then
DdlCconceptosContables.Enabled = False
DdlSubProyectos.Enabled = False
DdlClasificacion.Enabled = False
DdlPersonal.Enabled = False
CveConceptoAsignacion = GvRow.DataKey("CveCuentaAsignacion").ToEntero CveConceptoAsignacion = GvRow.DataKey("CveCuentaAsignacion").ToEntero
DdlCconceptosContables.SelectedValueExist(GvRow.DataKey("CveConceptoContable")) DdlCconceptosContables.SelectedValueExist(GvRow.DataKey("CveConceptoContable"))
DdlCuenta.SelectedValueExist(GvRow.DataKey("CveCuenta")) DdlCuenta.SelectedValueExist(GvRow.DataKey("CveCuenta"))
@@ -126,33 +133,37 @@ Partial Class Contabilidad2_CatCuentasAsignaciones
Dim CveCliente As Integer = GvRow.DataKey("CveCliente").ToEntero Dim CveCliente As Integer = GvRow.DataKey("CveCliente").ToEntero
Dim CvePersonal As Integer = GvRow.DataKey("CvePersonal").ToEntero Dim CvePersonal As Integer = GvRow.DataKey("CvePersonal").ToEntero
RecargaConcepto(CveConceptoContable)
DdlClientes.ddl.SelectedValueExist(CveCliente)
DdlPersonal.ddl.SelectedValueExist(CvePersonal)
LbAgregar.Text = "Actualizar"
UpModalModulos.Update()
RegistraScript("$('#ModalCat').modal();")
End If
End Sub
Private Sub RecargaConcepto(CveConceptoContable As Integer)
Dim Dr As DataRow = GlobalDTContaConceptosContables(CveConceptoContable).FiltroPrimero("")
If Dr IsNot Nothing Then
If Dr("AplicaCliente").ToString = "True" Then If Dr("AplicaCliente").ToString = "True" Then
divCliente.Visible = True divCliente.Visible = True
If CveCliente > 0 Then DdlClientes.setEsWebService(True)
DdlClientes.setEsWebService(False)
Dim ObjCliente As New ClsClientes
If ObjCliente.GetClientes(-1, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) Then
DdlClientes.ddl.DataSource = ObjCliente.DtResultados
End If
DdlClientes.ddl.DataBind()
DdlClientes.ddl.SelectedValue = CveCliente
End If
End If End If
If Dr("AplicaProveedor").ToString = "True" Then If Dr("AplicaProveedor").ToString = "True" Then
divProveedor.Visible = True divProveedor.Visible = True
End If End If
If Dr("AplicaPersonal").ToString = "True" Then If Dr("AplicaPersonal").ToString = "True" Then
divPersonal.Visible = True divPersonal.Visible = True
If CvePersonal > 0 Then DdlPersonal.setEsWebService(True)
DdlPersonal.setEsWebService(False)
Dim ObjPersonal As New ClsRH
If ObjPersonal.GetPersonal(-1, "-1", "-1", "-1", "-1", -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, UsuarioActual.CveEmpresa) Then
DdlPersonal.ddl.DataSource = ObjPersonal.DtResultados
End If
DdlPersonal.ddl.DataBind()
DdlPersonal.ddl.SelectedValueExist(CvePersonal)
End If
End If End If
If Dr("AplicaImpuesto").ToString = "True" Then If Dr("AplicaImpuesto").ToString = "True" Then
@@ -172,20 +183,22 @@ Partial Class Contabilidad2_CatCuentasAsignaciones
divAlmacen.Visible = True divAlmacen.Visible = True
End If End If
If Dr("AplicaSubProyecto").ToString = "True" Then
divSubProyectos.Visible = True
End If
If Dr("AplicaActivoFijo").ToString = "True" Then If Dr("AplicaActivoFijo").ToString = "True" Then
divActivoFijo.Visible = True divActivoFijo.Visible = True
DdlActivoFijo.DataSource = GlobalDTActivoFijos(UsuarioActual.CveEmpresa)
DdlActivoFijo.DataBind()
' DdlActivoFijo.SelectedValueExist(GvRow.DataKey("CveActivoFijo"))
End If End If
If Dr("AplicaNomina").ToString = "True" Then If Dr("AplicaNomina").ToString = "True" Then
divConceptoNomina.Visible = True divConceptoNomina.Visible = True
End If End If
LbAgregar.Text = "Actualizar"
UpModalModulos.Update()
RegistraScript("$('#ModalCat').modal();")
End If End If
End Sub End Sub
Protected Sub EliminarRow(sender As Object, e As EventArgs) Protected Sub EliminarRow(sender As Object, e As EventArgs)
@@ -218,7 +231,10 @@ Partial Class Contabilidad2_CatCuentasAsignaciones
Protected Sub BtnAgregarAsignacion_Click(sender As Object, e As EventArgs) Handles BtnAgregarAsignacion.Click Protected Sub BtnAgregarAsignacion_Click(sender As Object, e As EventArgs) Handles BtnAgregarAsignacion.Click
LimpiarDatos() LimpiarDatos()
DdlCconceptosContables.Enabled = True
DdlSubProyectos.Enabled = True
DdlClasificacion.Enabled = True
DdlPersonal.Enabled = True
LbAgregar.Text = "Agregar" LbAgregar.Text = "Agregar"
UpModalModulos.Update() UpModalModulos.Update()
RegistraScript("$('#ModalCat').modal();") RegistraScript("$('#ModalCat').modal();")
@@ -249,13 +265,15 @@ Partial Class Contabilidad2_CatCuentasAsignaciones
If HdnCveCuentaAsignacion.Value.ToEntero <= 0 Then If HdnCveCuentaAsignacion.Value.ToEntero <= 0 Then
If Not ObjConta.AddCuentasAsignaciones(DdlCconceptosContables.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlCuenta.SelectedValue.ToEntero, TxtIdCuentaContable.Text.ToEntero, If Not ObjConta.AddCuentasAsignaciones(DdlCconceptosContables.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlCuenta.SelectedValue.ToEntero, TxtIdCuentaContable.Text.ToEntero,
DdlProveedor.SelectedValue.ToEntero, DdlClientes.SelectedValue.ToEntero, DdlPersonal.SelectedValue.ToEntero, DdlProveedor.SelectedValue.ToEntero, DdlClientes.SelectedValue.ToEntero, DdlPersonal.SelectedValue.ToEntero,
DdlClasificacion.SelectedValue.ToEntero, DdlAlmacen.SelectedValue.ToEntero, TxtPorcentajeIVA.Text.ToDecimal, CveBancoCuenta:=DdlCuentaBancaria.SelectedValue.ToEntero(), CveConceptoNomina:=DdlConceptoNomina.SelectedValue.ToEntero()) Then DdlClasificacion.SelectedValue.ToEntero, DdlAlmacen.SelectedValue.ToEntero, TxtPorcentajeIVA.Text.ToDecimal, CveBancoCuenta:=DdlCuentaBancaria.SelectedValue.ToEntero(),
CveConceptoNomina:=DdlConceptoNomina.SelectedValue.ToEntero(), CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero, CveActivoFijo:=DdlActivoFijo.SelectedValue.ToEntero) Then
ErrorString = "Error al agregar" ErrorString = "Error al agregar"
End If End If
ElseIf HdnCveCuentaAsignacion.Value.ToEntero > 0 Then ElseIf HdnCveCuentaAsignacion.Value.ToEntero > 0 Then
If Not ObjConta.UpdateCuentasAsignaciones(CveConceptoAsignacion, DdlCconceptosContables.SelectedValue.ToEntero, DdlCuenta.SelectedValue.ToEntero, TxtIdCuentaContable.Text.ToEntero, If Not ObjConta.UpdateCuentasAsignaciones(CveConceptoAsignacion, DdlCconceptosContables.SelectedValue.ToEntero, DdlCuenta.SelectedValue.ToEntero, TxtIdCuentaContable.Text.ToEntero,
DdlProveedor.SelectedValue.ToEntero, DdlClientes.SelectedValue.ToEntero, DdlPersonal.SelectedValue.ToEntero, DdlProveedor.SelectedValue.ToEntero, DdlClientes.SelectedValue.ToEntero, DdlPersonal.SelectedValue.ToEntero,
DdlClasificacion.SelectedValue.ToEntero, DdlAlmacen.SelectedValue.ToEntero, TxtPorcentajeIVA.Text.ToDecimal, CveBancoCuenta:=DdlCuentaBancaria.SelectedValue.ToEntero(), CveConceptoNomina:=DdlConceptoNomina.SelectedValue.ToEntero()) Then DdlClasificacion.SelectedValue.ToEntero, DdlAlmacen.SelectedValue.ToEntero, TxtPorcentajeIVA.Text.ToDecimal, CveBancoCuenta:=DdlCuentaBancaria.SelectedValue.ToEntero(),
CveConceptoNomina:=DdlConceptoNomina.SelectedValue.ToEntero(), CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero, CveActivoFijo:=DdlActivoFijo.SelectedValue.ToEntero) Then
ErrorString = "Error al actualizar" ErrorString = "Error al actualizar"
End If End If
End If End If
@@ -288,4 +306,8 @@ Partial Class Contabilidad2_CatCuentasAsignaciones
CargaDatosSistema() CargaDatosSistema()
UpDatos.Update() UpDatos.Update()
End Sub End Sub
Private Sub DdlCconceptosContables_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlCconceptosContables.SelectedIndexChanged
RecargaConcepto(DdlCconceptosContables.SelectedValue.ToEntero)
End Sub
End Class End Class

File diff suppressed because it is too large Load Diff

View File

@@ -221,7 +221,7 @@
Using ObjContabilidad As New ClsContabilidad Using ObjContabilidad As New ClsContabilidad
If ObjContabilidad.GetConta_PlantillasPolizas(-1, -1) Then Application("GlobalDTContaPlantillasPolizas") = ObjContabilidad.DtResultados Else Application("GlobalDTContaPlantillasPolizas") = Nothing If ObjContabilidad.GetConta_PlantillasPolizas(-1, -1) Then Application("GlobalDTContaPlantillasPolizas") = ObjContabilidad.DtResultados Else Application("GlobalDTContaPlantillasPolizas") = Nothing
If ObjContabilidad.GetConta_ConceptosContables() Then Application("GlobalDTContaConceptosContables") = ObjContabilidad.DtResultados Else Application("GlobalDTContaConceptosContables") = Nothing 'If ObjContabilidad.GetConta_ConceptosContables() Then Application("GlobalDTContaConceptosContables") = ObjContabilidad.DtResultados Else Application("GlobalDTContaConceptosContables") = Nothing
If ObjContabilidad.GetConta_PlantillasPolizasDetalle(-1, -1) Then Application("GlobalDTContaPlantillasPolizasDetalle") = ObjContabilidad.DtResultados Else Application("GlobalDTContaPlantillasPolizasDetalle") = Nothing If ObjContabilidad.GetConta_PlantillasPolizasDetalle(-1, -1) Then Application("GlobalDTContaPlantillasPolizasDetalle") = ObjContabilidad.DtResultados Else Application("GlobalDTContaPlantillasPolizasDetalle") = Nothing
End Using End Using

View File

@@ -71,6 +71,9 @@
</li> </li>
<li> <li>
<asp:HyperLink ID="HplCartaPorte" runat="server" Visible="false"><i class="fa fa-ad-pdf"></i> Descargar Carta Porte</asp:HyperLink> <asp:HyperLink ID="HplCartaPorte" runat="server" Visible="false"><i class="fa fa-ad-pdf"></i> Descargar Carta Porte</asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="HplCartaPorteTimbre" runat="server" Visible="false"><i class="fa fa-ad-pdf"></i> Descargar Carta Porte Timbrado</asp:HyperLink>
</li> </li>
<li> <li>
<asp:HyperLink ID="HplTraspaso" Target="_blank" runat="server" Visible="false"><i class="fa fa-truck" aria-hidden="true"></i> Traspaso Almacen</asp:HyperLink> <asp:HyperLink ID="HplTraspaso" Target="_blank" runat="server" Visible="false"><i class="fa fa-truck" aria-hidden="true"></i> Traspaso Almacen</asp:HyperLink>

View File

@@ -781,6 +781,12 @@ Partial Class Inventarios_EntradasSalidas
HplCartaPorte.Visible = True HplCartaPorte.Visible = True
HplCartaPorte.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=CARPO&CVEMOV={0}", CveMovimiento))) HplCartaPorte.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=CARPO&CVEMOV={0}", CveMovimiento)))
If UsuarioActual.CveRol = 1 Then
HplCartaPorteTimbre.Visible = True
HplCartaPorteTimbre.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=CARPOTIMBRE&CVEMOV={0}", CveMovimiento)))
End If
If UsuarioActual.CveRol = 1 Then If UsuarioActual.CveRol = 1 Then
LnkGenerarPDF.Visible = True LnkGenerarPDF.Visible = True
End If End If
@@ -4689,7 +4695,7 @@ Partial Class Inventarios_EntradasSalidas
If CvePS > 0 Then If CvePS > 0 Then
Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).Rows(0) Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).Rows(0)
If DrPS IsNot Nothing AndAlso String.IsNullOrEmpty(UM) Then If DrPS IsNot Nothing Then
CveUM = DrPS("CveUnidadMedida").ToString().ToEntero() CveUM = DrPS("CveUnidadMedida").ToString().ToEntero()
UM = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimeroValor("UnidadMedida", $"CveUnidadMedida={CveUM}") UM = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimeroValor("UnidadMedida", $"CveUnidadMedida={CveUM}")
End If End If

View File

@@ -1819,7 +1819,7 @@ Partial Class Inventarios_EntregaAlmacen
For Each Dr As DataRow In DtDatos.Rows For Each Dr As DataRow In DtDatos.Rows
FechaCaducidad = If(CBool(Dr("AplicaCaducidad")) AndAlso Dr("FechaCaducidad").ToString() <> "", Dr("FechaCaducidad").ToString().ToDate, MinFecha) FechaCaducidad = If(CBool(Dr("AplicaCaducidad")) AndAlso Dr("FechaCaducidad").ToString() <> "", Dr("FechaCaducidad").ToString().ToDate, MinFecha)
Lote = If(CBool(Dr("AplicaLote")), Dr("Lote").ToString(), "-1") Lote = If(CBool(Dr("AplicaLote")), Dr("Lote").ToString().Trim, "-1")
If Not ValidaLoteCaducidad Then If Not ValidaLoteCaducidad Then
FechaCaducidad = MinFecha FechaCaducidad = MinFecha

View File

@@ -296,6 +296,10 @@ Partial Class Inventarios_TraspasoAlmacen
dt.Columns.Add("Obs") dt.Columns.Add("Obs")
dt.Columns.Add("ImporteIVA", Type.GetType("System.Double")) dt.Columns.Add("ImporteIVA", Type.GetType("System.Double"))
dt.Columns.Add("PorcentajeIVA", Type.GetType("System.Double")) dt.Columns.Add("PorcentajeIVA", Type.GetType("System.Double"))
dt.Columns.Add("ClaveMaterialPeligroso")
dt.Columns.Add("ClaveEmbalaje")
dt.Columns.Add("Embalaje")
dt.Columns.Add("PesoKg", Type.GetType("System.Decimal"))
DtMovimientos = dt DtMovimientos = dt
@@ -663,42 +667,48 @@ Partial Class Inventarios_TraspasoAlmacen
Dim CveClasificacion As Integer Dim CveClasificacion As Integer
Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("") Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("")
If DrPS IsNot Nothing Then CveClasificacion = DrPS("CveClasificacion").ToString.ToEntero If DrPS IsNot Nothing Then
CveClasificacion = DrPS("CveClasificacion").ToString.ToEntero
Dim DrUM = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimero($"CveUnidadMedida = {CveUnidadMedida}")
Dim DrUM = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimero($"CveUnidadMedida = {CveUnidadMedida}") Dim registro As DataRow = DtMovimientos.NewRow
registro.Item("Cantidad") = Cantidad
registro.Item("CveUM") = CveUnidadMedida
registro.Item("UM") = DrUM("UnidadMedida")
registro.Item("UnidadMedida") = DrUM("UnidadMedida")
registro.Item("CvePS") = CvePS
registro.Item("PS") = DrPS("PSCodigo")
registro.Item("Observaciones") = Observaciones
registro.Item("Serie") = Serie
registro.Item("Lote") = Lote
If FechaCaducidad > MinFecha Then registro.Item("FechaCaducidad") = FechaCaducidad
registro.Item("CveClasificacion") = CveClasificacion
registro.Item("CveAF") = -1
registro.Item("EstatusExistencia") = "1"
registro.Item("CveSeccionAlmacen") = CveSeccionAlmacen
registro.Item("SeccionAlmacen") = SeccionAlmacen
registro.Item("CveSeccionAlmacenDestino") = CveSeccionAlmacenDestino
Dim registro As DataRow = DtMovimientos.NewRow registro.Item("TotalImporte") = 0
registro.Item("Cantidad") = Cantidad registro.Item("PU") = 0
registro.Item("CveUM") = CveUnidadMedida registro.Item("Descuento") = 0
registro.Item("UM") = DrUM("UnidadMedida") registro.Item("SATClaveUM") = DrPS("SATClaveUnidadMedida")
registro.Item("UnidadMedida") = DrUM("UnidadMedida") registro.Item("SATClaveProdServ") = DrPS("SATClavePS")
registro.Item("CvePS") = CvePS registro.Item("Noidentificacion") = DrPS("Codigo")
registro.Item("PS") = DrPS("PSCodigo") registro.Item("CuentaPredial") = ""
registro.Item("Observaciones") = Observaciones registro.Item("Obs") = ""
registro.Item("Serie") = Serie registro.Item("ImporteIVA") = 0
registro.Item("Lote") = Lote registro.Item("PorcentajeIVA") = 0
If FechaCaducidad > MinFecha Then registro.Item("FechaCaducidad") = FechaCaducidad registro("ClaveMaterialPeligroso") = DrPS("ClaveMaterialPeligroso")
registro.Item("CveClasificacion") = CveClasificacion registro("ClaveEmbalaje") = DrPS("ClaveEmbalaje")
registro.Item("CveAF") = -1 registro("PesoKg") = DrPS("PesoKg")
registro.Item("EstatusExistencia") = "1"
registro.Item("CveSeccionAlmacen") = CveSeccionAlmacen
registro.Item("SeccionAlmacen") = SeccionAlmacen
registro.Item("CveSeccionAlmacenDestino") = CveSeccionAlmacenDestino
registro.Item("TotalImporte") = 0 DtMovimientos.Rows.Add(registro)
registro.Item("PU") = 0 RegistraScript("playsonidito('beep-07.wav')")
registro.Item("Descuento") = 0
registro.Item("SATClaveUM") = DrPS("SATClaveUnidadMedida") End If
registro.Item("SATClaveProdServ") = DrPS("SATClavePS")
registro.Item("Noidentificacion") = DrPS("Codigo")
registro.Item("CuentaPredial") = ""
registro.Item("Obs") = ""
registro.Item("ImporteIVA") = 0
registro.Item("PorcentajeIVA") = 0
DtMovimientos.Rows.Add(registro)
RegistraScript("playsonidito('beep-07.wav')")
CargaGvDatos() CargaGvDatos()
If Limpia Then If Limpia Then
@@ -2587,7 +2597,7 @@ Partial Class Inventarios_TraspasoAlmacen
ObjFactura.ConvertirPesos = False ObjFactura.ConvertirPesos = False
ObjFactura.CveMoneda = 1 ObjFactura.CveMoneda = 1
ObjFactura.Moneda = GlobalDTMonedas.FiltroPrimeroValor("Moneda", $"CveMoneda = {ObjFactura.CveMoneda} ") ObjFactura.Moneda = GlobalDTMonedas.FiltroPrimeroValor("Moneda", $"CveMoneda = {ObjFactura.CveMoneda} ")
ObjFactura.MonedaSAT = "XXX" 'GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", "CveMoneda = 1") ObjFactura.MonedaSAT = GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", "CveMoneda = 1") '"XXX"
ObjFactura.MonedaAbreviatura = GlobalDTMonedas.FiltroPrimeroValor("Abreviatura", $"CveMoneda = {ObjFactura.CveMoneda} ") ObjFactura.MonedaAbreviatura = GlobalDTMonedas.FiltroPrimeroValor("Abreviatura", $"CveMoneda = {ObjFactura.CveMoneda} ")
ObjFactura.TipoDocto = "Tra" ObjFactura.TipoDocto = "Tra"
ObjFactura.RefDocto = "" ObjFactura.RefDocto = ""
@@ -2655,7 +2665,11 @@ Partial Class Inventarios_TraspasoAlmacen
ObjFactura.Inv_CveMovimiento = CveMovimientoTimbrado ObjFactura.Inv_CveMovimiento = CveMovimientoTimbrado
ObjFactura.Timbre = PreParaTimbreCartaPorte(ObjFactura) If UsuarioActual.Empresa.Funcionalidad(161) = "1" Then
ObjFactura.Timbre = PreParaTimbreCartaPorte(ObjFactura)
Else
ObjFactura.Timbre = PreParaTimbre(ObjFactura)
End If
End Sub End Sub
Private Function PreParaTimbreCartaPorte(Obj As Modelos.Factura) As CFDITimbre Private Function PreParaTimbreCartaPorte(Obj As Modelos.Factura) As CFDITimbre
@@ -2698,47 +2712,86 @@ Partial Class Inventarios_TraspasoAlmacen
CartaPorte.Mercancias.UnidadPeso = "" CartaPorte.Mercancias.UnidadPeso = ""
CartaPorte.Mercancias.CargoporTasacion = 0 CartaPorte.Mercancias.CargoporTasacion = 0
CartaPorte.FiguraTransporte.AutoTransporteFederal.PermSCT = "TPAF01" Dim Dr As DataRow = DtCamiones.FiltroPrimero(String.Format("CveCamion= {0}", DdlUnidadCamion.SelectedValue))
CartaPorte.FiguraTransporte.AutoTransporteFederal.NumPermisoSCT = "1234567890"
CartaPorte.FiguraTransporte.AutoTransporteFederal.NombreAseg = "GNP" If Dr IsNot Nothing Then
CartaPorte.FiguraTransporte.AutoTransporteFederal.NumPolizaSeguro = "P123" CartaPorte.FiguraTransporte.AutoTransporteFederal.PermSCT = Dr("TipoPermisoSCT").ToString '"TPAF01"
CartaPorte.FiguraTransporte.AutoTransporteFederal.Vehiculo.ConfigVehicular = "C2" CartaPorte.FiguraTransporte.AutoTransporteFederal.NumPermisoSCT = Dr("NumPermisoSCT").ToString
CartaPorte.FiguraTransporte.AutoTransporteFederal.Vehiculo.PlacaVM = "WTF757A" CartaPorte.FiguraTransporte.AutoTransporteFederal.NombreAseg = Dr("NombreAseguradora").ToString
CartaPorte.FiguraTransporte.AutoTransporteFederal.Vehiculo.AnioModeloVM = 2007 CartaPorte.FiguraTransporte.AutoTransporteFederal.NumPolizaSeguro = Dr("NumPolizaSeguro").ToString
CartaPorte.FiguraTransporte.AutoTransporteFederal.Vehiculo.ConfigVehicular = Dr("ConfigCartaPorte").ToString '"C2"
CartaPorte.FiguraTransporte.AutoTransporteFederal.Vehiculo.PlacaVM = Dr("Placa").ToString
CartaPorte.FiguraTransporte.AutoTransporteFederal.Vehiculo.AnioModeloVM = Dr("Anio").ToString.ToEntero
End If
Dim CveSubProyectoOrigen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenOrigen.SelectedValue.ToEntero).FiltroPrimeroValor("CveSubProyecto", "").ToEntero
Dim DomOrigen As CFDICartaPorteDomicilio = Nothing
If CveSubProyectoOrigen > 0 Then
Dim drr As DataRow = GlobalDTSubProyectos(-1, CveSubProyecto:=CveSubProyectoOrigen).FiltroPrimero("")
DomOrigen = New CFDICartaPorteDomicilio With {.Calle = drr("Calle").ToString,
.Colonia = drr("Colonia").ToString,
.CP = drr("CP").ToString,
.Estado = drr("Estado").ToString,
.Pais = drr("Pais").ToString,
.Municipio = drr("Municipio").ToString,
.Localidad = drr("Localidad").ToString}
End If
Dim CveSubProyectoDestino As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenDestino.SelectedValue.ToEntero).FiltroPrimeroValor("CveSubProyecto", "").ToEntero
Dim DomDestino As CFDICartaPorteDomicilio = Nothing
If CveSubProyectoOrigen > 0 Then
Dim drr As DataRow = GlobalDTSubProyectos(-1, CveSubProyecto:=CveSubProyectoOrigen).FiltroPrimero("")
DomDestino = New CFDICartaPorteDomicilio With {.Calle = drr("Calle").ToString,
.Colonia = drr("Colonia").ToString,
.CP = drr("CP").ToString,
.Estado = drr("Estado").ToString,
.Pais = drr("Pais").ToString,
.Municipio = drr("Municipio").ToString,
.Localidad = drr("Localidad").ToString}
End If
Dim DomOrigen As New CFDICartaPorteDomicilio With {.Calle = "calle",
.Colonia = "",
.CP = "45200",
.Estado = "JAL",
.Pais = "MEX",
.Localidad = ""}
Dim DomDestino As New CFDICartaPorteDomicilio With {.Calle = "calle destino",
.Colonia = "",
.CP = "45200",
.Estado = "JAL",
.Pais = "MEX",
.Localidad = ""}
Dim Ubica As New CFDICartaPorteUbicaciones Dim Ubica As New CFDICartaPorteUbicaciones
Ubica.TipoEstacion = "01" Ubica.TipoEstacion = "01"
Ubica.DistanciaRecorrida = 6 Ubica.DistanciaRecorrida = 6
Ubica.Origen = New CFDICartaPorteUbicacionOrigen With {.RFCRemitente = "CAMJ841219I33", Ubica.Origen = New CFDICartaPorteUbicacionOrigen With {.RFCRemitente = UsuarioActual.Empresa.RFC,
.FechaHoraSalida = "2021-08-23T11:13:01", .FechaHoraSalida = Now.ToString("yyyy-MM-ddTH:mm:ss"),' "2021-08-23T11:13:01",
.NombreRemitente = "Empresa", .NombreRemitente = UsuarioActual.Empresa.Empresa,
.Domicilio = DomOrigen} .Domicilio = DomOrigen}
Ubica.Destino = New CFDICartaPorteUbicacionDestino With {.RFCDestinatario = "CAMJ841219I33", Ubica.Destino = New CFDICartaPorteUbicacionDestino With {.RFCDestinatario = UsuarioActual.Empresa.RFC,'"CAMJ841219I33",
.FechaHoraProgLlegada = "2021-08-23T11:13:01", .FechaHoraProgLlegada = TxtFechaEntrega.Text.ToDate.ToString("yyyy-MM-ddT23:59:59"),
.NombreDestinatario = "Empresa dest", .NombreDestinatario = UsuarioActual.Empresa.Empresa,
.Domicilio = DomDestino} .Domicilio = DomDestino}
CartaPorte.Ubicaciones.Add(Ubica) CartaPorte.Ubicaciones.Add(Ubica)
CartaPorte.FiguraTransporte.ClaveTransporte = "01" CartaPorte.FiguraTransporte.ClaveTransporte = "01"
CartaPorte.FiguraTransporte.Operadores.Add(New CFDICartaPorteOperador With {.RFCOperador = "CAMJ841219I33",
.Domicilio = Nothing, Dim ObjAcar As New ClsAcarreos()
.NombreOperador = "juan Perez",
.NumLicencia = "Num Lic", If ObjAcar.GetChofer(DdlChofer.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, 1, -1) Then
.NumRegidTribOperador = "", Dim dro As DataRow = ObjAcar.DtResultados.Rows(0)
.ResidenciaFiscalOperador = ""}) If dro IsNot Nothing Then
Dim DomicilioOperador As New CFDICartaPorteDomicilio With {.Calle = dro("Domicilio").ToString,
.NumeroExterior = dro("NumeroExterior").ToString,
.NumeroInterior = dro("NumeroInterior").ToString,
.Colonia = dro("Colonia").ToString,
.Municipio = dro("Ciudad").ToString,
.Estado = dro("Estado").ToString,
.CP = dro("CP").ToString}
CartaPorte.FiguraTransporte.Operadores.Add(New CFDICartaPorteOperador With {.RFCOperador = dro("RFC").ToString,
.NombreOperador = dro("Chofer").ToString,
.NumLicencia = dro("Licencia").ToString,
.NumRegidTribOperador = dro("NumRegidTribOperador").ToString,
.ResidenciaFiscalOperador = dro("ResidenciaFiscalOperador").ToString,
.Domicilio = DomicilioOperador})
End If
End If
ObjAcar.Dispose()
'concepto único 'concepto único
@@ -2768,18 +2821,19 @@ Partial Class Inventarios_TraspasoAlmacen
End If End If
Dim conceptoCarta As New CFDICartaPorteMercancia With { Dim conceptoCarta As New CFDICartaPorteMercancia With {
.BienesTransp = drr("SATClaveProdServ").ToString, .BienesTransp = drr("SATClaveProdServ").ToString,
.ClaveSTCC = "01334", .ClaveSTCC = "", 'para metodo ferroviario
.Cantidad = drr("Cantidad").ToString.ToDecimal, .Cantidad = drr("Cantidad").ToString.ToDecimal,
.Descripción = tPS, .Descripción = tPS,
.ClaveUnidad = drr("SATClaveUM").ToString, .ClaveUnidad = drr("SATClaveUM").ToString,
.Unidad = drr("UM").ToString, .Unidad = drr("UM").ToString,
.Dimensiones = "", .Dimensiones = "",
.MaterialPeligroso = "", .MaterialPeligroso = If(drr("ClaveMaterialPeligroso").ToString <> "", "Sí", "No"),
.Embalaje = "", .ClaveMaterialPeligroso = drr("ClaveMaterialPeligroso").ToString,
.DescripEmbalaje = "", .Embalaje = drr("ClaveEmbalaje").ToString,
.PesoenKg = 203, .DescripEmbalaje = drr("Embalaje").ToString,
.PesoenKg = drr("PesoKg").ToString.ToDecimal,
.ValorMercancia = drr("PU").ToString.ToDecimal, .ValorMercancia = drr("PU").ToString.ToDecimal,
.Moneda = "MXN", 'tempral .Moneda = "MXN", 'temporal
.FraccionArrancelaria = "", .FraccionArrancelaria = "",
.UUIDComercioExt = "" .UUIDComercioExt = ""
} }
@@ -2795,6 +2849,75 @@ Partial Class Inventarios_TraspasoAlmacen
Return Timbre Return Timbre
End Function End Function
Private Function PreParaTimbre(Obj As Modelos.Factura) As CFDITimbre
Dim Timbre As New CFDITimbre
Timbre.Comprobante.TipoComprobante = "T"
Timbre.Comprobante.Folio = Obj.Folio.ToString
Timbre.Comprobante.Serie = Obj.Serie
Timbre.Comprobante.Fecha = Obj.Fecha
Timbre.Comprobante.FormadePago = Obj.FormaPagoSAT33
Timbre.Comprobante.CondicionesdePago = ""
Timbre.Comprobante.MetodoPago = Obj.ClaveMetodoPagoSAT
Timbre.Comprobante.Subtotal = Obj.SubTotal
Timbre.Comprobante.Descuentos = Obj.Descuento
Timbre.Comprobante.Moneda = Obj.MonedaSAT
Timbre.Comprobante.TipoCambio = If(Obj.CveMoneda = 1, "1", Obj.TipoCambio.ToString)
Timbre.Comprobante.Total = Obj.Total
Timbre.Comprobante.LugarExpedicion = Obj.SubProyecto.CP
Timbre.Comprobante.Confirmacion = ""
Timbre.Receptor.RFC = "XAXX010101000"
Timbre.Receptor.Nombre = UsuarioActual.Empresa.Empresa
Timbre.Receptor.UsoCFDI = "P01"
Dim totSubTotal As Decimal = Obj.SubTotal
Dim totIVA As Decimal = Obj.IVA
Dim totRetIVA As Decimal = Obj.RetIVA
Dim totRetISR As Decimal = Obj.RetISR
Dim i As Integer = 1
'DETALLES
Dim tPS As String = ""
For Each drr As DataRow In Obj.DtDetalle.Rows
If drr("PS").ToString.Length = 1 Then
tPS = drr("Obs").ToString
Else
If drr("PS").ToString.Length = 0 Then
tPS = ""
Else
tPS = String.Format("{0} {1}", drr("PS"), drr("Obs"))
End If
End If
'CONDICIONANTE, ESPECIAL
If UsuarioActual.CveEmpresa = 15 Then drr("UM") = "" 'LES COMENTAN QUE NO DEBE IR LA ETIQUETA DE LA UNIDAD EN EL PRODUCTO
Dim concepto As New CFDIConceptos With {.Cantidad = drr("Cantidad").ToString.ToDecimal,
.Descripcion = tPS,
.ValorUnitario = drr("PU").ToString.ToDecimal,
.Importe = drr("TotalImporte").ToString.ToDecimal,
.Descuento = drr("Descuento").ToString.ToDecimal,
.Unidad = drr("UM").ToString,
.ClaveUnidad = drr("SATClaveUM").ToString,
.ClaveProdServ = drr("SATClaveProdServ").ToString,
.Noidentificacion = drr("Noidentificacion").ToString,
.CuentaPredial = drr("CuentaPredial").ToString}
'VERIFICA SUMA SUBTOTALES
If i = Obj.DtDetalle.Rows.Count AndAlso totSubTotal <> concepto.Importe Then 'PROCESO DE AJUSTA DE DECIMALES
concepto.Importe = totSubTotal
End If
totSubTotal = totSubTotal - concepto.Importe
'SIEMPRE ESTAMOS AGREGANDO EL IVA
'concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "T", .Base = concepto.Importe - concepto.Descuento, .TasaOCuota = drr("PorcentajeIVA").ToString.ToDecimal, .Impuesto = "002", .Importe = drr("ImporteIVA").ToString.ToDecimal})
Timbre.Conceptos.Add(concepto)
i += 1
Next
Return Timbre
End Function
Private Sub PrepararTimbrado(ByRef FM As Modelos.FemsaFactura, ByRef TmpDT7Eleven As DataTable, ByRef TmpDTComplementosTimbrado As DataTable) Private Sub PrepararTimbrado(ByRef FM As Modelos.FemsaFactura, ByRef TmpDT7Eleven As DataTable, ByRef TmpDTComplementosTimbrado As DataTable)
FM.AplicaFEMSA = False FM.AplicaFEMSA = False
FM.FEMSA_NumSociedad = "" FM.FEMSA_NumSociedad = ""

View File

@@ -4640,18 +4640,18 @@ Partial Class PV
End If End If
Row("IVA") = Row("PorcentajeIVA") Row("IVA") = Row("PorcentajeIVA")
Row("ImporteIVA") = Math.Round(Row("PorcentajeIVA").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales) Row("ImporteIVA") = (Row("PorcentajeIVA").ToString.ToDecimal * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
Row("ImporteRetIVA") = Math.Round(ClienteRetIVA * TotalCalculableImpuestos, NumeroDecimales) Row("ImporteRetIVA") = (ClienteRetIVA * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
Row("ImporteRetISR") = Math.Round(ClienteRetISR * TotalCalculableImpuestos, NumeroDecimales) Row("ImporteRetISR") = (ClienteRetISR * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
Row("PorcentajeRetIVA") = ClienteRetIVA Row("PorcentajeRetIVA") = ClienteRetIVA
Row("PorcentajeRetISR") = ClienteRetISR Row("PorcentajeRetISR") = ClienteRetISR
Row("PorcentajeIEPS") = DrPS("IEPSPorcentaje") Row("PorcentajeIEPS") = DrPS("IEPSPorcentaje")
Row("ImporteIEPS") = Math.Round(DrPS("IEPSPorcentaje").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales) Row("ImporteIEPS") = (DrPS("IEPSPorcentaje").ToString.ToDecimal * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
Row("IEPS") = Row("ImporteIEPS") Row("IEPS") = Row("ImporteIEPS")
Row("Descuento") = Math.Round(Descuento, NumeroDecimales) Row("Descuento") = (Descuento).RoundSQL(NumeroDecimales)
Row("TipoDescuento") = HdnTipoDescuento.Value Row("TipoDescuento") = HdnTipoDescuento.Value
Row("Total") = (Cantidad * PU) Row("Total") = (Cantidad * PU)
Row("TotalImporte") = Math.Round(Cantidad * PU, NumeroDecimales) Row("TotalImporte") = (Cantidad * PU).RoundSQL(NumeroDecimales)
'Row("AsientoContableVentas") = DrPS("AsientoContableVentas") 'Row("AsientoContableVentas") = DrPS("AsientoContableVentas")
' Row("IdCtaContVentas") = IdCtaContable ' Row("IdCtaContVentas") = IdCtaContable
' Row("AplicaParaConcepto") = AplicaParaConcepto ' Row("AplicaParaConcepto") = AplicaParaConcepto
@@ -5110,12 +5110,12 @@ Partial Class PV
Dim LastDr As DataRow = Nothing Dim LastDr As DataRow = Nothing
For Each Dr As DataRow In TmpDT.Rows For Each Dr As DataRow In TmpDT.Rows
Descuento = Dr("Total").ToString.ToDecimal * Porcentaje Descuento = Dr("Total").ToString.ToDecimal * Porcentaje
Dr("Descuento") = Math.Round(Descuento, NumeroDecimales) Dr("Descuento") = (Descuento).RoundSQL(NumeroDecimales)
Dim TotalCalculableImpuestos As Decimal = (Dr("Cantidad").ToString.ToDecimal * (Dr("PU").ToString.ToDecimal)) - Dr("Descuento").ToString.ToDecimal Dim TotalCalculableImpuestos As Decimal = (Dr("Cantidad").ToString.ToDecimal * (Dr("PU").ToString.ToDecimal)) - Dr("Descuento").ToString.ToDecimal
Dr("ImporteIVA") = Math.Round(Dr("PorcentajeIVA").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales) Dr("ImporteIVA") = (Dr("PorcentajeIVA").ToString.ToDecimal * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
Dr("ImporteRetIVA") = Math.Round(ClienteRetIVA * TotalCalculableImpuestos, NumeroDecimales) Dr("ImporteRetIVA") = (ClienteRetIVA * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
Dr("ImporteRetISR") = Math.Round(ClienteRetISR * TotalCalculableImpuestos, NumeroDecimales) Dr("ImporteRetISR") = (ClienteRetISR * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
Dr("ImporteIEPS") = Math.Round(Dr("PorcentajeIEPS").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales) Dr("ImporteIEPS") = (Dr("PorcentajeIEPS").ToString.ToDecimal * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
Dr("IEPS") = Dr("ImporteIEPS") Dr("IEPS") = Dr("ImporteIEPS")
LastDr = Dr LastDr = Dr
Next Next

View File

@@ -991,6 +991,39 @@
</div> </div>
</div> </div>
<br /> <br />
<div class="portlet xspadding light bordered" id="divCartaPorte" runat="server" visible="false">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-briefcase font-green"></i>
<span class="caption-subject bold uppercase">Carta Porte</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
</div>
</div>
<div class="portlet-body">
<div class="row">
<label class="col-md-4 truncate">Material Peligroso:</label>
<div class="col-md-8">
<ADS:Dropdownlost ID="DdlMaterialPeligroso" runat="server" CssStyle="width: 100%;" DataTextField="ClaveMaterialPeligroDescripcion" DataValueField="CveMaterialPeligroso"></ADS:Dropdownlost>
</div>
</div>
<div class="row">
<label class="col-md-4 truncate">Embalaje:</label>
<div class="col-md-8">
<ADS:Dropdownlost ID="DdlEmbalaje" runat="server" CssStyle="width: 100%;" DataTextField="ClaveEmbalajeDescripcion" DataValueField="CveEmbalaje"></ADS:Dropdownlost>
</div>
</div>
<div class="row">
<label class="col-md-4 truncate">Peso en Kg:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtPesoKg" runat="server" Width="60px"></asp:TextBox>
</div>
</div>
</div>
</div>
<br />
<asp:UpdatePanel ID="UpSeccionAlmacen" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpSeccionAlmacen" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<div id="DivSeccionAlmacen" runat="server" visible="false"> <div id="DivSeccionAlmacen" runat="server" visible="false">

View File

@@ -799,6 +799,20 @@ Partial Class ProductosyServicios
If ObjProductosServicios.ClaveSATUnidadAduanaDescripcion.ToString <> Nothing Then If ObjProductosServicios.ClaveSATUnidadAduanaDescripcion.ToString <> Nothing Then
LblUnidadAduana.Text = ObjProductosServicios.ClaveSATUnidadAduanaDescripcion.ToString LblUnidadAduana.Text = ObjProductosServicios.ClaveSATUnidadAduanaDescripcion.ToString
End If End If
If ObjProductosServicios.CveMaterialPeligroso > 0 Then
DdlMaterialPeligroso.SelectedValue = ObjProductosServicios.CveMaterialPeligroso.ToString
DdlMaterialPeligroso.SelectedText = GlobalDTMaterialPeligroso(ObjProductosServicios.CveMaterialPeligroso).FiltroPrimeroValor("ClaveMaterialPeligrosoDescripcion")
End If
If ObjProductosServicios.CveEmbalaje > 0 Then
DdlEmbalaje.SelectedValue = ObjProductosServicios.CveEmbalaje.ToString
DdlEmbalaje.SelectedText = GlobalDTEmbalajes(ObjProductosServicios.CveEmbalaje).FiltroPrimeroValor("ClaveEmbalajeDescripcion")
End If
If ObjProductosServicios.PesoKg > 0 Then
TxtPesoKg.Text = ObjProductosServicios.PesoKg.ToString
End If
DdlTipoPSDes.SelectedValueExist(ObjProductosServicios.CveClasificacionDetalle.ToString) DdlTipoPSDes.SelectedValueExist(ObjProductosServicios.CveClasificacionDetalle.ToString)
DdlUnidadMedida.SelectedValue = ObjProductosServicios.CveUnidadMedida.ToString DdlUnidadMedida.SelectedValue = ObjProductosServicios.CveUnidadMedida.ToString
CveUnidadMedida = ObjProductosServicios.CveUnidadMedida.ToString.ToEntero CveUnidadMedida = ObjProductosServicios.CveUnidadMedida.ToString.ToEntero
@@ -940,6 +954,8 @@ Partial Class ProductosyServicios
LnkUnificar.Visible = True LnkUnificar.Visible = True
ChkEsOutSourcing.Checked = ObjProductosServicios.EsOutSourcing ChkEsOutSourcing.Checked = ObjProductosServicios.EsOutSourcing
ChkPrecioLibre.Checked = ObjProductosServicios.PrecioLibre ChkPrecioLibre.Checked = ObjProductosServicios.PrecioLibre
Else Else
Alert("El Producto o Servicio Solicitado no existe, por favor revise su búsqueda.", TipoMensaje.MsgAdvertencia) Alert("El Producto o Servicio Solicitado no existe, por favor revise su búsqueda.", TipoMensaje.MsgAdvertencia)
RegistraScript("$('#C_Tab_TabPaquetes_tab').css('display' , 'none')") RegistraScript("$('#C_Tab_TabPaquetes_tab').css('display' , 'none')")
@@ -979,6 +995,18 @@ Partial Class ProductosyServicios
Public Sub CargaDdlFraccionArancelaria() Public Sub CargaDdlFraccionArancelaria()
DdlFraccionArancelaria.setEsWebService(True) DdlFraccionArancelaria.setEsWebService(True)
DdlFraccionArancelaria.Attributes.Add("data-metodo", "getfraccionarancelaria") DdlFraccionArancelaria.Attributes.Add("data-metodo", "getfraccionarancelaria")
If UsuarioActual.Empresa.Funcionalidad(161) = "1" Then
divCartaPorte.Visible = True
DdlMaterialPeligroso.setEsWebService(True)
DdlMaterialPeligroso.Attributes.Add("data-metodo", "getsatmatpeligroso")
DdlEmbalaje.setEsWebService(True)
DdlEmbalaje.Attributes.Add("data-metodo", "getsatembalajes")
End If
End Sub End Sub
Private Sub VerificaRequiereSerieLote() Private Sub VerificaRequiereSerieLote()
If UsuarioActual.CveEmpresa.Contiene(80, 72) And DdlClasificacion.SelectedIndex > 0 Then If UsuarioActual.CveEmpresa.Contiene(80, 72) And DdlClasificacion.SelectedIndex > 0 Then
@@ -1301,7 +1329,8 @@ Partial Class ProductosyServicios
CveClasificacionDetalle:=DdlTipoPSDes.SelectedValue.ToEntero, CveTamaño:=CveTamaño, CveClasificacionDetalle:=DdlTipoPSDes.SelectedValue.ToEntero, CveTamaño:=CveTamaño,
CveModelo:=DdlModelo.SelectedValue.ToEntero(), CveMedida:=DdlMedida.SelectedValue.ToEntero(), CveRinTamaño:=DdlRin.SelectedValue.ToEntero(), CveModelo:=DdlModelo.SelectedValue.ToEntero(), CveMedida:=DdlMedida.SelectedValue.ToEntero(), CveRinTamaño:=DdlRin.SelectedValue.ToEntero(),
ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString, ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString,
ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked, TiempoCaducidad:=TiempoCaducidad, CvePSAdicionalVigencia:=DdlPSAdicionalVigencia.SelectedValue.ToEntero(), PrecioLibre:=ChkPrecioLibre.Checked) > 0 Then ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked, TiempoCaducidad:=TiempoCaducidad, CvePSAdicionalVigencia:=DdlPSAdicionalVigencia.SelectedValue.ToEntero(), PrecioLibre:=ChkPrecioLibre.Checked,
CveMaterialPeligroso:=DdlMaterialPeligroso.SelectedValue.ToEntero, CveEmbalaje:=DdlEmbalaje.SelectedValue.ToEntero, PesoKg:=TxtPesoKg.Text.ToDecimal) > 0 Then
ViewState("CvePS") = ObjProductosServicios.CvePS ViewState("CvePS") = ObjProductosServicios.CvePS
For Each GVR As GridViewRow In GvImpuestosLocales.Rows For Each GVR As GridViewRow In GvImpuestosLocales.Rows
If GVR.FCCheckBox("ChkDeduccion").Checked Then If GVR.FCCheckBox("ChkDeduccion").Checked Then
@@ -1350,7 +1379,8 @@ Partial Class ProductosyServicios
CveModelo:=DdlModelo.SelectedValue.ToEntero(), CveMedida:=DdlMedida.SelectedValue.ToEntero(), CveRinTamaño:=DdlRin.SelectedValue.ToEntero(), CveModelo:=DdlModelo.SelectedValue.ToEntero(), CveMedida:=DdlMedida.SelectedValue.ToEntero(), CveRinTamaño:=DdlRin.SelectedValue.ToEntero(),
ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString, ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString,
ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked, ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked,
AplicaSerie:=ChkSerie.Checked, AplicaLote:=ChkLote.Checked, AplicaCaducidad:=ChkCaducidad.Checked, AplicaSeccion:=ChkSeccion.Checked, TiempoCaducidad:=TiempoCaducidad, CvePSAdicionalVigencia:=DdlPSAdicionalVigencia.SelectedValue.ToEntero(), PrecioLibre:=ChkPrecioLibre.Checked) Then AplicaSerie:=ChkSerie.Checked, AplicaLote:=ChkLote.Checked, AplicaCaducidad:=ChkCaducidad.Checked, AplicaSeccion:=ChkSeccion.Checked, TiempoCaducidad:=TiempoCaducidad, CvePSAdicionalVigencia:=DdlPSAdicionalVigencia.SelectedValue.ToEntero(), PrecioLibre:=ChkPrecioLibre.Checked,
CveMaterialPeligroso:=DdlMaterialPeligroso.SelectedValue.ToEntero, CveEmbalaje:=DdlEmbalaje.SelectedValue.ToEntero, PesoKg:=TxtPesoKg.Text.ToDecimal) Then
If Not ObjProductosServicios.LimpiaImpuestosLocales(CvePS) Then If Not ObjProductosServicios.LimpiaImpuestosLocales(CvePS) Then
TieneError = True TieneError = True
@@ -2211,6 +2241,8 @@ Partial Class ProductosyServicios
#End Region #End Region
#Region " ECOMMERCE " #Region " ECOMMERCE "
Private Sub InicializaEcommerce() Private Sub InicializaEcommerce()
AplicaEcommerce = False AplicaEcommerce = False

View File

@@ -2630,6 +2630,8 @@ Partial Class Ventas
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
LnkAgregarCliente.Visible = True LnkAgregarCliente.Visible = True
ChkEnviarFactura.Checked = False
ChkEnviarFactura.Enabled = False
End If End If
End If End If
@@ -2786,6 +2788,12 @@ Partial Class Ventas
'CUANDO SEA COTIZACION Y SEA COMPUPROVEEDORES (EMPRESA 72) NO DEBE ENVIAR CORREO AL CLIENTE 'CUANDO SEA COTIZACION Y SEA COMPUPROVEEDORES (EMPRESA 72) NO DEBE ENVIAR CORREO AL CLIENTE
EnviarCorreoCliente = True EnviarCorreoCliente = True
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso DdlTipoComprobante.SelectedValue = "Cot" Then
EnviarCorreoCliente = False
ChkEnviarFactura.Enabled = False
End If
If UsuarioActual.CveEmpresa = 72 AndAlso DdlTipoComprobante.SelectedValue = "Cot" Then If UsuarioActual.CveEmpresa = 72 AndAlso DdlTipoComprobante.SelectedValue = "Cot" Then
ChkEnviarFactura.Checked = False ChkEnviarFactura.Checked = False
ChkEnviarFactura.Visible = False ChkEnviarFactura.Visible = False
@@ -10689,7 +10697,7 @@ Partial Class Ventas
Dim concepto As New CFDIConceptos With {.Cantidad = drr("Cantidad").ToString().ToDecimal, Dim concepto As New CFDIConceptos With {.Cantidad = drr("Cantidad").ToString().ToDecimal,
.Descripcion = tPS, .Descripcion = tPS,
.ValorUnitario = drr("PU").ToString().ToDecimal, .ValorUnitario = drr("PU").ToString().ToDecimal,
.Importe = If(UsuarioActual.Empresa.CvePAC = 3, drr("Total").ToString().ToDecimal, drr("TotalImporte").ToString().ToDecimal), .Importe = If(UsuarioActual.Empresa.CvePAC = 3, drr("Total").ToString().ToDecimal.RoundSQL(2), drr("TotalImporte").ToString().ToDecimal),
.Descuento = drr("Descuento").ToString().ToDecimal.RoundSQL(2), .Descuento = drr("Descuento").ToString().ToDecimal.RoundSQL(2),
.Unidad = drr("UM").ToString(), .Unidad = drr("UM").ToString(),
.ClaveUnidad = drr("SATClaveUM").ToString(), .ClaveUnidad = drr("SATClaveUM").ToString(),
@@ -12049,67 +12057,90 @@ Partial Class Ventas
CveSubProyectoContabilizar = CveSubProyectoVenta CveSubProyectoContabilizar = CveSubProyectoVenta
If importeMovimiento <> 0 Then If importeMovimiento <> 0 Then
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, ImporteAnticipo, Referencia, 11, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=row2.DataKey("CveVenta").ToEntero(), CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=ImporteAnticipo * tipoCambio, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=SeContabiliza) Then
ErrorPrepoliza = True 'SI LA NC ES EN DOLARES Y PERO VIENE DE UN ANTICIPO EN PESOS
Exit For If (Not UsuarioActual.CveEmpresa.Contiene(72, 80, 146)) AndAlso ObjFactura.CveMoneda = 2 AndAlso row2.DataKey("CveMoneda").ToString().ToEntero() = 1 Then
Else
ViewState("SeGuardoPrePoliza") = True If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, ImporteAnticipo * tipoCambio, Referencia, 11, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=row2.DataKey("CveVenta").ToEntero(), CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=ImporteAnticipo * tipoCambio, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=SeContabiliza, TipoCambio:=tipoCambio) Then
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, importeMovimiento, Referencia, 2, Concepto, FechaMovimiento, ObjFactura.Cliente.IdCtaContClientes, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=ObjFactura.CveCliente, ImporteMX:=importeMovimiento, ImporteME:=If(Dr("TCCambioValuacion").ToString().ToDecimal = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, CveIE:=CveIEAnticipo, CveVentaAmortizacion:=ObjFactura.CveVenta, TipoCambio:=Dr("TCCambioValuacion").ToString().ToDecimal, TipoCambioPago:=tipoCambio) Then
ErrorPrepoliza = True ErrorPrepoliza = True
Exit For Exit For
End If End If
'se hace acreditamiento de impuestos
'IVA X TRASLADAR
Dim EsAnticipoEspecial As Boolean = False
If UsuarioActual.CveEmpresa.Contiene(1, 119) Then EsAnticipoEspecial = True 'Dim IdCtaContableComplementariaAntic = IdCtaContableClienteComplementaria
If EsAnticipoEspecial Then Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 292, NombreCliente, Dr("Folio").ToString, FolioIE.ToString())
Dim PorcentajeImpuestoPago As Decimal = TmpDT.MAX("PorcentajeIVA").ToDecimal
'' si se esta aplicando NC por amortizaion, se trasladan impuestos
If EsNCAmortizacion Then
Dim IngresoIVA As Decimal = TxtIVA.Text.ToDecimal
Dim IngresoIEPS As Decimal = TxtIEPS.Text.ToDecimal
Dim IngresoTotal As Decimal = TxtTotal.Text.ToDecimal
If IngresoIVA > 0 Then 'Dim ImporteComplementaria = ((importeMovimiento * tipoCambio) - importeMovimiento).RoundSQL
'If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, importeMovimiento, Concepto, 227, Concepto, FechaMovimiento, IdCtaContableComplementariaAntic, -1, CveVenta:=row2.DataKey("CveVenta").ToString().ToEntero(), CveCliente:=CveCliente, CveVentaAmortizacion:=ObjFactura.CveVenta, ImporteMX:=ImporteComplementaria, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), TipoCambio:=tipoCambio, CveSubProyecto:=CveSubProyectoContabilizar) Then
' ErrorPrepoliza = True
' Exit For
'End If
IdCtaIVAXTrasladar = If(IdCtaIVAXTrasladar > 0, IdCtaIVAXTrasladar, UsuarioActual.Empresa.IdCuentaIVAxTrasladar) If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, importeMovimiento, Referencia, 292, Concepto, FechaMovimiento, ObjFactura.Cliente.IdCtaContMonedaExtranjera, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=ObjFactura.CveCliente, ImporteMX:=importeMovimiento, ImporteME:=If(Dr("TCCambioValuacion").ToString().ToDecimal = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, CveIE:=CveIEAnticipo, CveVentaAmortizacion:=ObjFactura.CveVenta, TipoCambio:=Dr("TCCambioValuacion").ToString().ToDecimal, TipoCambioPago:=tipoCambio) Then
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 13, NombreCliente, Dr("Folio").ToString, FolioIE.ToString()) ErrorPrepoliza = True
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, (importeMovimiento * IngresoIVA) / IngresoTotal, Referencia, 13, Concepto, Fecha, IdCtaIVAXTrasladar, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIVA) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, PorcentajeImpuesto:=PorcentajeImpuestoPago) Then Exit For
ErrorPrepoliza = True End If
Exit For
End If
'IVA PAGADO
IdCtaIVATrasladado = If(IdCtaIVATrasladado > 0, IdCtaIVATrasladado, UsuarioActual.Empresa.IdCuentaIVATrasladado)
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 61, NombreCliente, Dr("Folio").ToString, FolioIE.ToString())
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, (importeMovimiento * IngresoIVA) / IngresoTotal, Referencia, 61, Concepto, Fecha, IdCtaIVATrasladado, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIVA) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, PorcentajeImpuesto:=PorcentajeImpuestoPago) Then
ErrorPrepoliza = True
Exit For
End If
End If
Else
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, ImporteAnticipo, Referencia, 11, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=row2.DataKey("CveVenta").ToEntero(), CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=ImporteAnticipo * tipoCambio, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=SeContabiliza) Then
ErrorPrepoliza = True
Exit For
Else
ViewState("SeGuardoPrePoliza") = True
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, importeMovimiento, Referencia, 2, Concepto, FechaMovimiento, ObjFactura.Cliente.IdCtaContClientes, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=ObjFactura.CveCliente, ImporteMX:=importeMovimiento, ImporteME:=If(Dr("TCCambioValuacion").ToString().ToDecimal = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, CveIE:=CveIEAnticipo, CveVentaAmortizacion:=ObjFactura.CveVenta, TipoCambio:=Dr("TCCambioValuacion").ToString().ToDecimal, TipoCambioPago:=tipoCambio) Then
ErrorPrepoliza = True
Exit For
End If
'se hace acreditamiento de impuestos
'IVA X TRASLADAR
Dim EsAnticipoEspecial As Boolean = False
If IngresoIEPS > 0 Then If UsuarioActual.CveEmpresa.Contiene(1, 119) Then EsAnticipoEspecial = True
'IEPS X TRASLADAR If EsAnticipoEspecial Then
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 38, NombreCliente, Dr("Folio").ToString, FolioIE.ToString()) Dim PorcentajeImpuestoPago As Decimal = TmpDT.MAX("PorcentajeIVA").ToDecimal
If IngresoIEPS > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, (importeMovimiento * IngresoIEPS) / IngresoTotal, Referencia, 38, Concepto, Fecha, UsuarioActual.Empresa.IdCuentaIEPSxTrasladar, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIEPS) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar) Then '' si se esta aplicando NC por amortizaion, se trasladan impuestos
ErrorPrepoliza = True If EsNCAmortizacion Then
Exit For Dim IngresoIVA As Decimal = TxtIVA.Text.ToDecimal
Dim IngresoIEPS As Decimal = TxtIEPS.Text.ToDecimal
Dim IngresoTotal As Decimal = TxtTotal.Text.ToDecimal
If IngresoIVA > 0 Then
IdCtaIVAXTrasladar = If(IdCtaIVAXTrasladar > 0, IdCtaIVAXTrasladar, UsuarioActual.Empresa.IdCuentaIVAxTrasladar)
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 13, NombreCliente, Dr("Folio").ToString, FolioIE.ToString())
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, (importeMovimiento * IngresoIVA) / IngresoTotal, Referencia, 13, Concepto, Fecha, IdCtaIVAXTrasladar, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIVA) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, PorcentajeImpuesto:=PorcentajeImpuestoPago) Then
ErrorPrepoliza = True
Exit For
End If
'IVA PAGADO
IdCtaIVATrasladado = If(IdCtaIVATrasladado > 0, IdCtaIVATrasladado, UsuarioActual.Empresa.IdCuentaIVATrasladado)
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 61, NombreCliente, Dr("Folio").ToString, FolioIE.ToString())
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, (importeMovimiento * IngresoIVA) / IngresoTotal, Referencia, 61, Concepto, Fecha, IdCtaIVATrasladado, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIVA) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, PorcentajeImpuesto:=PorcentajeImpuestoPago) Then
ErrorPrepoliza = True
Exit For
End If
End If End If
'IEPS PAGADO
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 39, NombreCliente, Dr("Folio").ToString, FolioIE.ToString()) If IngresoIEPS > 0 Then
If IngresoIEPS > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, (importeMovimiento * IngresoIEPS) / IngresoTotal, Referencia, 39, Concepto, Fecha, UsuarioActual.Empresa.IdCuentaIEPSTrasladado, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIEPS) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar) Then 'IEPS X TRASLADAR
ErrorPrepoliza = True Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 38, NombreCliente, Dr("Folio").ToString, FolioIE.ToString())
Exit For If IngresoIEPS > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, (importeMovimiento * IngresoIEPS) / IngresoTotal, Referencia, 38, Concepto, Fecha, UsuarioActual.Empresa.IdCuentaIEPSxTrasladar, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIEPS) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar) Then
ErrorPrepoliza = True
Exit For
End If
'IEPS PAGADO
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 39, NombreCliente, Dr("Folio").ToString, FolioIE.ToString())
If IngresoIEPS > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, (importeMovimiento * IngresoIEPS) / IngresoTotal, Referencia, 39, Concepto, Fecha, UsuarioActual.Empresa.IdCuentaIEPSTrasladado, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIEPS) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar) Then
ErrorPrepoliza = True
Exit For
End If
End If End If
End If End If
End If End If
End If End If
End If End If
End If End If
End If End If
@@ -12487,7 +12518,7 @@ Partial Class Ventas
Next Next
If UsuarioActual.Empresa.Funcionalidad(344) = "1" Then If UsuarioActual.Empresa.Funcionalidad(344) = "1" AndAlso ObjFactura.TipoDocto = "Egs" Then
Dim ListaNC As List(Of Modelos.Factura) = Nothing Dim ListaNC As List(Of Modelos.Factura) = Nothing
If NCDescuento Then If NCDescuento Then
@@ -13287,6 +13318,7 @@ Partial Class Ventas
'El almacen general es el Primer Almacen de Material en la Sucursal 'El almacen general es el Primer Almacen de Material en la Sucursal
If Not TraspasoAlmacen(ObjInventario, ObjVentas, CveRemision, ObjConta, True, 9) Then If Not TraspasoAlmacen(ObjInventario, ObjVentas, CveRemision, ObjConta, True, 9) Then
OcurrioError = True OcurrioError = True
ErrorList.Add("Ocurrió un error al verificar inventario de remisiones.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico")
Exit For Exit For
End If End If
Next Next
@@ -13462,11 +13494,13 @@ Partial Class Ventas
'If TotalCosto <> 0 Then 'If TotalCosto <> 0 Then
If Not ObjConta.AddPrePolizasDetalle(factura.CvePrePoliza, TipoMovto68, TotalCosto, factura.SerieFolio, 68, factura.SerieFolio, factura.Fecha, IdCtaContable, -1, CveVenta:=factura.CveVenta, CveCliente:=factura.CveCliente, CveMovimientoAlmacen:=CveMovimientoInventario, ImporteMX:=TotalCosto, CveCuenta:=CveCuenta, CveSubProyecto:=factura.CveSubProyecto) Then If Not ObjConta.AddPrePolizasDetalle(factura.CvePrePoliza, TipoMovto68, TotalCosto, factura.SerieFolio, 68, factura.SerieFolio, factura.Fecha, IdCtaContable, -1, CveVenta:=factura.CveVenta, CveCliente:=factura.CveCliente, CveMovimientoAlmacen:=CveMovimientoInventario, ImporteMX:=TotalCosto, CveCuenta:=CveCuenta, CveSubProyecto:=factura.CveSubProyecto) Then
OcurrioError = True OcurrioError = True
ErrorList.Add("Ocurrió un error al guardar movimiento de almacen.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico")
End If End If
'End If 'End If
Else Else
OcurrioError = True OcurrioError = True
ErrorList.Add("Ocurrió un error al consultar los movimientos de almacen.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico")
End If End If
factura.Inv_CveMovimiento = CveMovimientoInventario factura.Inv_CveMovimiento = CveMovimientoInventario
factura.Inv_ValorInventario = ValorInventario factura.Inv_ValorInventario = ValorInventario
@@ -13481,6 +13515,7 @@ Partial Class Ventas
If DebeGenerarMovimiento AndAlso UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso UsuarioActual.Empresa.Funcionalidad(567) = "1" AndAlso factura.TipoDocto.Contiene("Ing", "Egs", "Rem") Then If DebeGenerarMovimiento AndAlso UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso UsuarioActual.Empresa.Funcionalidad(567) = "1" AndAlso factura.TipoDocto.Contiene("Ing", "Egs", "Rem") Then
If Not (ObjInventario.GetInv_Mov(factura.CveVenta, UsuarioActual.CveEmpresa) AndAlso ObjInventario.DtResultados.Rows.Count > 0) Then If Not (ObjInventario.GetInv_Mov(factura.CveVenta, UsuarioActual.CveEmpresa) AndAlso ObjInventario.DtResultados.Rows.Count > 0) Then
OcurrioError = True OcurrioError = True
ErrorList.Add("Ocurrió un error al verificar inventario.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico")
End If End If
End If End If
@@ -14082,7 +14117,13 @@ Partial Class Ventas
Dim ObjMovtos As New ClsMovimientos() Dim ObjMovtos As New ClsMovimientos()
If ObjMovtos.GetAnticiposNCIxCCliente(CveCliente) Then If ObjMovtos.GetAnticiposNCIxCCliente(CveCliente) Then
GVAnticipos.DataSource = ObjMovtos.DtResultados.FiltraParametros($"Saldo > 0 AND SaldoSubtotal > 0 {If(CveVenta < 0, $"AND Tipo = 'Ant'{If(DdlTipoComprobante.SelectedValue = "Ing", $" AND CveMoneda ={DdlMoneda.SelectedValue.ToEntero()}", "")} ", "")} {If(DdlTipoComprobante.SelectedValue = "Ant", "AND Tipo = 'NC'", "")}")
Dim DtMovtos = ObjMovtos.DtResultados.FiltraParametros($"Saldo > 0 AND SaldoSubtotal > 0 {If(CveVenta < 0, $"AND Tipo = 'Ant' ", "")} {If(DdlTipoComprobante.SelectedValue = "Ant", "AND Tipo = 'NC'", "")}")
If UsuarioActual.CveEmpresa.Contiene(72, 80, 146) Then
DtMovtos = DtMovtos.FiltraParametros($"{If(CveVenta < 0, $"Tipo = 'Ant'{If(DdlTipoComprobante.SelectedValue = "Ing", $" AND CveMoneda ={DdlMoneda.SelectedValue.ToEntero()}", "")} ", "")}")
End If
GVAnticipos.DataSource = DtMovtos
If ObjMovtos.DtResultados.SUM("Saldo", "Saldo > 0 AND SaldoSubtotal > 0 AND Tipo = 'Ant'") > 0 Then If ObjMovtos.DtResultados.SUM("Saldo", "Saldo > 0 AND SaldoSubtotal > 0 AND Tipo = 'Ant'") > 0 Then
HdnTieneAnticipos.Value = "1" HdnTieneAnticipos.Value = "1"
End If End If
@@ -16019,7 +16060,7 @@ Partial Class Ventas
UpnTools.Update() UpnTools.Update()
tdTelefonoGen.Visible = False tdTelefonoGen.Visible = False
tdTxtTelefonoGen.Visible = False tdTxtTelefonoGen.Visible = False
If UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 122, 145) Then If UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 122, 140, 145) Then
ChkEnviarFactura.Checked = False ChkEnviarFactura.Checked = False
End If End If
@@ -21376,7 +21417,7 @@ Partial Class Ventas
End If End If
If CveVenta > 0 AndAlso (SaldoVenta = TxtTotal.Text.ToDecimal OrElse DdlTipoComprobante.SelectedValue = "Dev") Then 'And (DdlTipoComprobante.SelectedValue.Contiene({"Rem", "Ped"}) Or (DdlTipoComprobante.SelectedValue.Contiene({"Ing"}) And TxtFecha.Text.ToDate.Month = Now.Month And TxtFecha.Text.ToDate.Year = Now.Year)) Then If CveVenta > 0 AndAlso (SaldoVenta = TxtTotal.Text.ToDecimal OrElse DdlTipoComprobante.SelectedValue = "Dev" OrElse (DdlTipoComprobante.SelectedValue = "Ped" AndAlso TmpDT IsNot Nothing AndAlso TmpDT.COUNT("CveContratoDetalle", "CveContratoDetalle > 0") > 0)) Then 'And (DdlTipoComprobante.SelectedValue.Contiene({"Rem", "Ped"}) Or (DdlTipoComprobante.SelectedValue.Contiene({"Ing"}) And TxtFecha.Text.ToDate.Month = Now.Month And TxtFecha.Text.ToDate.Year = Now.Year)) Then
If Not DevolucionAlmacen = 2 Then If Not DevolucionAlmacen = 2 Then
'If UsuarioActual.Empresa.Funcionalidad(555) = "1" Then 'If UsuarioActual.Empresa.Funcionalidad(555) = "1" Then
@@ -31109,9 +31150,9 @@ Partial Class Ventas
If resp.Count > 0 Then If resp.Count > 0 Then
Dim Msg As New StringBuilder() Dim Msg As New StringBuilder()
Msg.AppendFormat("Mensaje Póliza Virtual: {0}", resp(0)("Descripcion").ToString()) Msg.AppendFormat("Mensaje Póliza Virtual: {0} - Código: {1}", resp(0)("Descripcion").ToString(), resp(0)("Codigo"))
If resp(0)("Codigo").ToString().Contiene("500", "501", "502", "503", "504", "505", "506", "507", "508") Then If resp(0)("Codigo").ToString().Contiene("500", "501", "502", "503", "504", "505", "506", "507", "508", "510") Then
Retorno = True Retorno = True
Dim ObjAcum As New ClsAcumuladores Dim ObjAcum As New ClsAcumuladores
If ObjAcum.UpdateEnvioPolizaVirutal(CvePolizaVirtual, True, Now, obj.product_unique_code) Then If ObjAcum.UpdateEnvioPolizaVirutal(CvePolizaVirtual, True, Now, obj.product_unique_code) Then