This commit is contained in:
2025-02-18 09:22:34 -07:00
18 changed files with 950 additions and 788 deletions

View File

@@ -6785,9 +6785,6 @@ Public Class ClsVentas
End Function
Public Function AddMedicoEspecialidad(Especialidad As String, Estatus As Boolean, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
@@ -6808,7 +6805,6 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function UpdateMedicoEspecialidad(CveMedicoEspecialidad As Integer, Especialidad As String, Estatus As Boolean, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
@@ -6829,7 +6825,6 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function RemoveMedicoEspecialidad(CveMedicoEspecialidad As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
@@ -6851,7 +6846,6 @@ Public Class ClsVentas
#End Region
#Region "S U B E S P E C I A L I D A D E S"
Public Function GetMedicosSubEspecialidades(CveMedicoSubEspecialidad As Integer, CveEmpresa As Integer, Estatus As Integer) As Boolean
Dim Retorno As Boolean = False
@@ -6873,10 +6867,6 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function AddMedicoSubEspecialidad(CveMedicoEspecialidad As Integer, SubEspecialidad As String, Estatus As Boolean, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
@@ -6896,7 +6886,6 @@ Public Class ClsVentas
OnError("Ocurrió un error al guardar la SubEspecialidad.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function UpdateMedicoSubEspecialidad(CveMedicoSubEspecialidad As Integer, CveMedicoEspecialidad As Integer, SubEspecialidad As String, Estatus As Boolean, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
@@ -6942,9 +6931,7 @@ Public Class ClsVentas
#End Region
#Region "MEDICO CLIENTE SUCURALES"
#Region "MEDICO CLIENTE SUCURSALES"
Public Function GetMedicosClientesSucursales(CveMedico As Integer, CveEmpresa As Integer) As Boolean
@@ -7025,7 +7012,6 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function RemoveMedicosClientesSucursales(CveMedicoClienteSucursal As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
@@ -7047,7 +7033,7 @@ Public Class ClsVentas
#End Region
#Region "PRODEDIMIENTOS"
#Region "PROCEDIMIENTOS"
Public Function GetProcedimientos(CveProcedimiento As Integer, CveEmpresa As Integer, Estatus As Integer) As Boolean
@@ -7137,8 +7123,6 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function AddProcedimientoProducto(CveProcedimiento As Integer, CvePS As Integer, Autogenerado As Boolean, Estatus As Boolean, CveUsuario As Integer, Cantidad As Decimal) As Boolean
Dim Retorno As Boolean = False
@@ -7161,8 +7145,6 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function UpdateProcedimientoProducto(CveProcedimientoProducto As Integer, CvePS As Integer, Autogenerado As Boolean, Estatus As Boolean, CveUsuario As Integer, Cantidad As Decimal) As Boolean
Dim Retorno As Boolean = False
@@ -7185,8 +7167,6 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function SincronizacionProcedimientoProducto(CveProcedimiento As Integer, CveVenta As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
@@ -7232,7 +7212,6 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function RemoveProcedimientoProducto(CveProcedimientoProducto As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
@@ -7250,10 +7229,6 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function GetProcedimientoVentas(CveProcedimiento As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
@@ -7273,7 +7248,6 @@ Public Class ClsVentas
End Function
#End Region
#Region "VENTAS MEDICAS COMISIONES"
@@ -7356,7 +7330,6 @@ Public Class ClsVentas
#End Region
#Region "VENTAS MEDICAS COMISIONES ESPECIALES"
Public Function GetComisionesMedicasEspeciales(CveMedico As Integer, CvePS As Integer, CveEmpresa As Integer) As Boolean
@@ -7434,7 +7407,7 @@ Public Class ClsVentas
#End Region
#Region "DEVOLUICON"
#Region "DEVOLUCION"
Public Function UpdateVentasDetalleCantidadDevolucion(CveVentaDetalle As Integer, CantidadDevolucion As Decimal) As Boolean
Dim Retorno As Boolean = False
@@ -7481,6 +7454,26 @@ Public Class ClsVentas
End Function
#End Region
Public Function UpdateVentaAdicional(CveVenta As Integer, Opcion As String, Valor As String, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentaAdicionalUpdate")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveVenta", SqlDbType.Int).Value = CveVenta
.Add("@Opcion", SqlDbType.VarChar).Value = Opcion
.Add("@Valor", SqlDbType.VarChar).Value = Valor
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al actualizar el adicional de la venta.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function GetVentasMedicasIndicadoresRep(Grupo As Integer, FechaI As Date, FechaF As Date, CveCliente As Integer, CveMedico As Integer, CveProcedimiento As Integer, CveEmpresa As Integer, CveVendedor As Integer) As Boolean

View File

@@ -1306,43 +1306,14 @@ Namespace Modelos
ObjFactura.FechaEjecucion = DateTime.Today
ObjFactura.UsuarioCreo = UsuarioActual.Usuario
ObjFactura.TipoDocumento = ObjFactura.TipodeComprobante
'Totales, Y se llena TmpDTImpuestos
'CLIENTE
ObjFactura.CveCliente = CveCliente
ObjFactura.SetCliente()
'Dim ObjCliente As New ClsClientes
'If ObjCliente.GetClientes(ObjFactura.CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, -1, TipoCliente:=-1) Then
' If ObjCliente.DtResultados.Rows.Count > 0 Then
' ObjFactura.CveFormaPago33 = ObjCliente.CveFormaPago33
' ObjFactura.FormaPago33 = ClsPaginas.GlobalDTVtaFormaPago.FiltroPrimeroValor("FormaPago", String.Format("CveFormaPago = {0}", ObjCliente.CveFormaPago33))
' ObjFactura.FormaPagoSAT33 = ClsPaginas.GlobalDTVtaFormaPago.FiltroPrimeroValor("ClaveFormaPagoSAT", String.Format("CveFormaPago = {0}", ObjCliente.CveFormaPago33))
' ObjFactura.CveMetodoPago33 = ObjCliente.CveMetodoPago33
' ObjFactura.MetodoPago33 = ClsPaginas.GlobalDTVtaMetodoPago.FiltroPrimeroValor("MetodoPago", String.Format("CveMetodoPago = {0}", ObjCliente.CveMetodoPago33))
' ObjFactura.ClaveMetodoPagoSAT = ClsPaginas.GlobalDTVtaMetodoPago.FiltroPrimeroValor("ClaveMetodoPagoSAT", String.Format("CveMetodoPago = {0}", ObjCliente.CveMetodoPago33))
' ObjFactura.CveUsoCFDI = ObjCliente.CveUsoCFDI
' ObjFactura.UsoCFDI = ClsPaginas.GlobalDTSATUsosCFDI.FiltroPrimeroValor("Descripcion", String.Format("CveUsoCFDI = {0}", ObjCliente.CveUsoCFDI))
' ObjFactura.ClaveUsoCFDI = ClsPaginas.GlobalDTSATUsosCFDI.FiltroPrimeroValor("UsoCFDI", String.Format("CveUsoCFDI = {0}", ObjCliente.CveUsoCFDI))
' End If
'End If
''If ObjCliente.GetSucursales(ObjFactura.CveCliente) Then
'' If ObjCliente.DtResultados.Rows.Count > 0 Then
'' ObjFactura.CveClienteSucursal = If(String.IsNullOrEmpty(ObjCliente.DtResultados.FiltroPrimeroValor("CveClienteSucursal", "Estatus = 'Activo'")), -1, ObjCliente.DtResultados.FiltroPrimeroValor("CveClienteSucursal", "Estatus = 'Activo'").ToEntero())
'' Else
'' ObjFactura.CveClienteSucursal = -1
'' End If
''End If
'ObjCliente.Dispose()
ObjFactura.CveSubProyecto = CveSubProyecto.ToEntero
ObjFactura.SetSubProyecto()
ObjFactura.SetSubProyectoMatriz()
ObjFactura.CveSubProyectoCobranza = CveSubProyecto.ToEntero
ObjFactura.CveSubProyectoEjecucion = CveSubProyecto.ToEntero

View File

@@ -1524,7 +1524,7 @@
</div>
<br />
<asp:GridView ID="GVDevolucion" runat="server" DataKeyNames="CveMovimientoDetalle,CveAlmacen,Total,PU,Cantidad,CvePS,CveUM,UM,CveClasificacion,Clasificacion,PS,CveTipoPS,PUExtranjero" ShowFooter="true" GridLines="None" AutoGenerateColumns="false" EmptyDataText="Aun no hay registros." ShowHeaderWhenEmpty="True" Width="100%" CssClass="table table-striped table-hover Widthall">
<asp:GridView ID="GVDevolucion" runat="server" DataKeyNames="CveMovimientoDetalle,CveAlmacen,Total,PU,Cantidad,CvePS,CveUM,UM,CveClasificacion,Clasificacion,CodigoPS,CveTipoPS,PUExtranjero" ShowFooter="true" GridLines="None" AutoGenerateColumns="false" EmptyDataText="Aun no hay registros." ShowHeaderWhenEmpty="True" Width="100%" CssClass="table table-striped table-hover Widthall">
<Columns>
<asp:TemplateField HeaderText="Cantidad" ItemStyle-Width="60px" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>

View File

@@ -1439,12 +1439,18 @@ Partial Class Compras_Compras
End If
If DdlTipoComprobante.SelectedValue = "NC" Then
'paneldevolucion.Visible = True
Pnlalmaceninventarios.Visible = False
'cargaddldevoluciones(CveProveedor, TxtSubTotal2.Text.ToDouble)
InicializaAplicaNCFact()
DivReembolso.Visible = False
RBLPago.Items(2).Enabled = False
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then
ConfiguraseleccionRNC()
Else
InicializaAplicaNCFact()
End If
'paneldevolucion.Visible = True
'cargaddldevoluciones(CveProveedor, TxtSubTotal2.Text.ToDouble)
End If
If DdlTipoComprobante.SelectedValue = "DEV" Then
@@ -1579,7 +1585,6 @@ Partial Class Compras_Compras
'RFVSubProyecto.Enabled = True
End If
'VALIDA Usuario TIPO REMESA
If UsuarioActual.TienePermisoProceso(108) Then
RBLPago.Enabled = False
@@ -1672,10 +1677,6 @@ Partial Class Compras_Compras
DdlTipoComprobante.SelectedValueExist("DEV")
End If
If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 AndAlso DdlTipoComprobante.SelectedValue = "NC" Then
ConfiguraseleccionRemisionNotaCredito()
End If
If Not CveCompra > 0 Then
LnkProrrateoGasolina.Visible = True
InicializaDTProrrateoGasolina()
@@ -1791,7 +1792,7 @@ Partial Class Compras_Compras
'End Sub
Private Sub ConfiguraseleccionRemisionNotaCredito()
Private Sub ConfiguraseleccionRNC()
Dim AutoSelRNC As Boolean = False
DdlTipoComprobante_SelectedIndexChanged(Nothing, Nothing)
@@ -2011,8 +2012,10 @@ Partial Class Compras_Compras
SubTotalConceptos = TmpDT.SUMD("Total").RoundSQL
If Not TmpDT.Columns.Contains("Amortizacion") Then TmpDT.Columns.Add("Amortizacion", GetType(Decimal))
If Not TmpDT.Columns.Contains("AplicaSerie") Then TmpDT.Columns.Add(New DataColumn("AplicaSerie", GetType(Boolean)) With {.DefaultValue = False})
If Not TmpDT.Columns.Contains("AplicaLote") Then TmpDT.Columns.Add(New DataColumn("AplicaLote", GetType(Boolean)) With {.DefaultValue = False})
If Not TmpDT.Columns.Contains("AplicaCaducidad") Then TmpDT.Columns.Add(New DataColumn("AplicaCaducidad", GetType(Boolean)) With {.DefaultValue = False})
If Not TmpDT.Columns.Contains("Serie") Then TmpDT.Columns.Add("Serie", GetType(String))
If Not TmpDT.Columns.Contains("Lote") Then TmpDT.Columns.Add("Lote", GetType(String))
If Not TmpDT.Columns.Contains("FechaCaducidad") Then TmpDT.Columns.Add("FechaCaducidad", GetType(Date))
@@ -2121,7 +2124,10 @@ Partial Class Compras_Compras
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("DEV"))
DdlTipoCompra.Items.Remove(DdlTipoCompra.Items.FindByValue("6"))
DdlTipoCompra.Items.Remove(DdlTipoCompra.Items.FindByValue("11"))
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then DdlTipoCompra.Items.Add(New ListItem("Recolección", "14"))
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
DdlTipoCompra.Items.Add(New ListItem("Recolección", "14"))
DdlTipoCompra.Items.Add(New ListItem("Apoyo sin virtual", "16"))
End If
Case "E"
DdlTipoComprobante.SelectedValue = "NC"
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Fac"))
@@ -2841,6 +2847,10 @@ Partial Class Compras_Compras
CvePrePoliza = dr("CvePrePoliza").ToString.ToEntero
EstatusAlmacen = dr("EstatusAlmacen").ToString.ToEntero
DdlTipoCompra.SelectedValueExist(dr("CveTipoCompra"))
If DdlTipoCompra.SelectedValue = "16" Then
DdlTipoCompra.Items.Add(New ListItem("Apoyo sin virtual", "16"))
DdlTipoCompra.SelectedValue = dr("CveTipoCompra").ToString
End If
TipoCompraOriginal = dr("CveTipoCompra").ToString.ToEntero
CveTipoConcepto = dr("CveTipoConcepto").ToString.ToEntero
ChkEsNoDeducible.Checked = dr("NoDeducible").ToString.ToEntero > 0
@@ -5559,12 +5569,15 @@ Partial Class Compras_Compras
Dim TmpDr As DataRow = TmpDT.Select($"Consec = {Row("Consec").ToString}")(0)
TmpDr("CveCompraDetalle") = ObjCompras.CveCompraDetalle
' Si no es un movimiento de almacen va a tronar
Try
Dim InvDr As DataRow = DtInv.Select($"Consec = {Row("Consec").ToString}")(0)
InvDr("CveCompraDetalle") = ObjCompras.CveCompraDetalle
Catch ex As Exception
End Try
Dim drs As DataRow() = DtInv.Select($"Consec = {Row("Consec").ToString}")
If drs.Count > 0 Then drs(0)("CveCompraDetalle") = ObjCompras.CveCompraDetalle
'' Si no es un movimiento de almacen va a tronar
'Try
' Dim InvDr As DataRow = DtInv.Select($"Consec = {Row("Consec").ToString}")(0)
' InvDr("CveCompraDetalle") = ObjCompras.CveCompraDetalle
'Catch ex As Exception
'End Try
End If
@@ -6540,7 +6553,6 @@ Partial Class Compras_Compras
End If
AlmacenSoloExistencia = True
End If
Dr.AcceptChanges()
Next
End If
@@ -6583,7 +6595,6 @@ Partial Class Compras_Compras
Dim CvePrePoliza2Almacen As Integer = ObjConta.AddPrePolizas("Compras/Registrar/Almacen", If(EsContado And CvePlantillaPrePoliza = 1, 2, CvePlantillaPrePoliza), ImporteCompra, TxtTotal.Text.ToDouble, DdlMoneda.SelectedValue.ToEntero, NowADS(), ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=FolioFijo, ReglaFolioPoliza:=ObjCompras.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, DdlTipoTransaccionCaja.SelectedValue, UsuarioActual.CveEmpresa), CveTipoPoliza:=ObjConta.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, DdlTipoTransaccionCaja.SelectedValue, UsuarioActual.CveEmpresa))
If CvePrePoliza2Almacen > 0 Then
Dim ImpPrepoliza As Decimal = 0D
Dim ImpPrepolizaMN As Decimal = 0D
@@ -6604,16 +6615,13 @@ Partial Class Compras_Compras
Else
ErrorPrepoliza = True
End If
Else
'SI ES GASTO CON ALMACEN NO DEBE CONTABILIZAR CONCEPTO 68
If CveMovimientoInventario > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMN.RoundSQL(2), importeMN.RoundSQL(2), 68, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=ContabilizableAlmacen) Then
ErrorPrepoliza = True
End If
End If
'SI ES GASTO CON ALMACEN REGISTRA EL CONCEPTO 95
If DdlTipoCompra.SelectedValue = "10" Or EntradaComoGastoConAlmacen Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMN.RoundSQL(2), importeMN.RoundSQL(2), 95, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=False) Then
@@ -6831,7 +6839,7 @@ Partial Class Compras_Compras
If RegistraConcepto225 Then
importeMovimiento = TmpDT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total"), $"ISNULL(TipoAF,0) <> 2 And ISNULL(AplicaCostoIndirecto,0) <> 1 And ISNULL(CveTipoPS,0) = 2").ToString.ToDecimal
importeMovimiento = TmpDT.SUM("Total") 'TmpDT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total"), $"ISNULL(TipoAF,0) <> 2 And ISNULL(AplicaCostoIndirecto,0) <> 1 And ISNULL(CveTipoPS,0) = 2").ToString.ToDecimal
importeMN = importeMovimiento * tipoCambioActual * Multiplicador
'no es necesario, ya se está interpretandoe l usado como producto
@@ -6851,8 +6859,6 @@ Partial Class Compras_Compras
End If
Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text}"
If importeMovimiento > 0 Or TxtTotal.Text.ToDecimal = 0 Then
RegistroCuentaPuente = True
Dim ImporteTransito As Decimal = 0
@@ -6870,8 +6876,6 @@ Partial Class Compras_Compras
End If
End If
Next
Dim importeMNTemp As Decimal = 0
Dim CveCompraAmortizacion As Integer = -1
@@ -6902,7 +6906,6 @@ Partial Class Compras_Compras
End If
End If
'si se marca que no se va a recibir, falta validación
If Not ErrorMovInv AndAlso Not ObjCompras.UpdateEstatusAlmacen(CveCompra, 1, UsuarioActual.CveUsuario) Then
ErrorMovInv = True
@@ -6923,20 +6926,28 @@ Partial Class Compras_Compras
End If
End If
Else
Dim DiferenciaDevolucion As Decimal = If(DdlMoneda.SelectedValue.ToEntero <> 1, (importeMovimiento * TxtTC.Text.ToDecimal), importeMovimiento) - TotalRealDevolucion
If TotalRealDevolucion <> 0 Then
Dim tCveCompra As Integer = CveCompra
Dim tCveCompraAmortizacion As Integer = -1
If Math.Abs(DiferenciaDevolucion) > 0 Then
Dim tMovto As Boolean = False
Dim tConceptoDiferencia As Integer = 69
If UsuarioActual.CveEmpresa = 119 Then
tMovto = True
Else
DiferenciaDevolucion = -DiferenciaDevolucion
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, DiferenciaDevolucion, DiferenciaDevolucion, 69, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, DiferenciaDevolucion), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=tCveClasif) Then
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then ' las devoluciones, que tengan descuento por rnc, debe de descontar del saldo de la factura aplicada
tConceptoDiferencia = 272
tCveCompraAmortizacion = tCveCompra
If ObjConta.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) Then
tCveCompra = ObjConta.DtResultados.FiltroPrimeroValor("CveCompraAmortizacion", "CveConceptoContable = 60").ToEntero 'a aplicación de la nc
End If
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, DiferenciaDevolucion, DiferenciaDevolucion, tConceptoDiferencia, Referencia, Concepto, CveCompra:=tCveCompra, CveCompraAmortizacion:=tCveCompraAmortizacion, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, DiferenciaDevolucion), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=tCveClasif) Then
ErrorPrepoliza = True
End If
End If
@@ -7014,8 +7025,6 @@ Partial Class Compras_Compras
End If
End If
'ChkNCInvNC
If Not RegistroCuentaPuente AndAlso Not ChkNCInvNC.Checked Then
'GASTO
If UsuarioActual.CveEmpresa = 119 Then
@@ -7040,20 +7049,7 @@ Partial Class Compras_Compras
If AgregaMercanciaInventario Then
DT = DT.FiltraParametros("ISNULL(CveTipoPS,0) <> 2")
End If
Dim DTDistinct As DataTable = DT.Copy
'If UsuarioActual.Empresa.Funcionalidad(126) = "1" Then
' For Each drowdis As DataRow In DTDistinct.Rows
' If drowdis("CveTipoGasto").ToString = "" Then
' drowdis("CveTipoGasto") = 0
' End If
' If drowdis("TipoGasto").ToString.Trim = "" Then
' drowdis("TipoGasto") = "ND"
' End If
' Next
' DTDistinct = DTDistinct.FiltraParametros("ISNULL(TipoAF, 0) <> 2", "", {"CveClasificacion", "Clasificacion", "SubProyecto", "CveSubProyecto", "CveTipoGasto", "TipoGasto"})
'Else
For Each drowdis As DataRow In DTDistinct.Rows
If drowdis("CveTipoGasto").ToString = "" Then
@@ -7258,7 +7254,7 @@ Partial Class Compras_Compras
End If
Next
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then
If UsuarioActual.Empresa.Funcionalidad(574) = "1" AndAlso DdlTipoCompra.SelectedValue = "15" Then
Dim TotalSaldo As Decimal = TxtTotal.Text.ToDecimal
For Each gvRow As GridViewRow In GvRNC.Rows
@@ -10918,17 +10914,17 @@ Partial Class Compras_Compras
TmpDT.Columns.Add("DifPSSat", GetType(Integer))
TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer))
TmpDT.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer))
TmpDT.Columns.Add("TemporadaCuadro", GetType(String))
TmpDT.Columns.Add("AplicaSerie", GetType(Boolean))
TmpDT.Columns.Add("AplicaLote", GetType(Boolean))
TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean))
TmpDT.Columns.Add("Serie", GetType(String))
TmpDT.Columns.Add("Lote", GetType(String))
TmpDT.Columns.Add("FechaCaducidad", GetType(Date))
TmpDTOriginal = New DataTable
TmpDTOriginal.Columns.Add("Consec", GetType(Integer))
TmpDTOriginal.Columns.Add("Cantidad", GetType(Decimal))
@@ -11038,8 +11034,10 @@ Partial Class Compras_Compras
TmpDTOriginal.Columns.Add("CveCultivoCuadroDetalle", GetType(Double))
TmpDTOriginal.Columns.Add("TemporadaCuadro", GetType(String))
TmpDTOriginal.Columns.Add("AplicaSerie", GetType(Boolean))
TmpDTOriginal.Columns.Add("AplicaLote", GetType(Boolean))
TmpDTOriginal.Columns.Add("AplicaCaducidad", GetType(Boolean))
TmpDTOriginal.Columns.Add("Serie", GetType(String))
TmpDTOriginal.Columns.Add("Lote", GetType(String))
TmpDTOriginal.Columns.Add("FechaCaducidad", GetType(Date))
@@ -13876,9 +13874,14 @@ Partial Class Compras_Compras
'si no esta vinculado a nc simplemente me lo brinco
If realizadevolucion Then
'si el subtotal es iwal a la nc lo guardo si no marco error
If subtotal > subtotaldevolucion - 1 AndAlso subtotal < subtotaldevolucion + 1 Then
'si el subtotal es igual a la nc lo guardo si no marco error
Dim tTolerancia As Decimal = 0
Dim tAjustaUltimo As Boolean = True
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then
tTolerancia = Math.Abs(TxtSubTotal2.Text.ToDecimal - subtotaldevolucion)
tAjustaUltimo = False
End If
If Math.Abs(subtotal - subtotaldevolucion) <= tTolerancia Then
CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacen, 13, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra, -1, -1, -1, Modulo:="Comp/G1")
If CveMovimientoEntrada <= 0 Then
ErrorMovInv = True
@@ -13894,17 +13897,16 @@ Partial Class Compras_Compras
PU = Dr.DataKey("PU").ToString.ToDecimal
PUExtranjero = Dr.DataKey("PUExtranjero").ToString.ToDecimal
ii += 1
If CantidadRenglones = ii Then
If CantidadRenglones = ii AndAlso tAjustaUltimo Then
Dim dif As Decimal = subtotal - Acumulado
PU = (((Dr.FCTextBox("TxtCantidad").Text.ToDecimal * Dr.DataKey("PU").ToString.ToDecimal)) + dif) / Dr.FCTextBox("TxtCantidad").Text.ToDecimal
PU = (((Dr.FCTextBox("TxtCantidad").Text.ToDecimal * Dr.DataKey("PU").ToDecimal)) + dif) / Dr.FCTextBox("TxtCantidad").Text.ToDecimal
End If
If ObjInventario.GetExistenciasProducto(Dr.DataKey("CvePS").ToString.ToEntero, Dr.DataKey("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, CveAlmacen,
FechaMovto:=TxtFecha.Text.ToDateTime.AddHours(NowADS().Hour).AddMinutes(NowADS().Minute).AddSeconds(NowADS().Second).ToString("yyyy/MM/dd HH:mm")) Then
Dim tFechaExistencia As DateTime = TxtFecha.Text.ToDateTime.AddHours(NowADS().Hour).AddMinutes(NowADS().Minute).AddSeconds(NowADS().Second)
If ObjInventario.GetExistenciasProducto(Dr.DataKey("CvePS").ToEntero, Dr.DataKey("CveUM").ToEntero, UsuarioActual.CveEmpresa, CveAlmacen,
FechaMovto:=tFechaExistencia.ToString("yyyy/MM/dd HH:mm")) Then
Dim Existencia As Decimal = ObjInventario.DtResultados.FiltroPrimeroValor("ExistenciaFinal", String.Format("CveAlmacen = {0}", CveAlmacen)).ToDecimal
If Dr.FCTextBox("TxtCantidad").Text.ToDouble > Existencia Then
Alert($"No hay existencia suficiente del producto {Dr.DataKey("PS").ToString} en la fecha:{TxtFecha.Text}", TipoMensaje.MsgAdvertencia)
Alert($"No hay existencia suficiente del producto: <br/> - {Dr.DataKey("CodigoPS")} en la fecha: {tFechaExistencia.ToString("yyyy/MM/dd HH:mm")}", TipoMensaje.MsgAdvertencia)
ErrorMovInv = True
Exit For
End If
@@ -14003,7 +14005,6 @@ Partial Class Compras_Compras
Dim subtotaldevolucion As Decimal = 0
Dim realizadevolucion As Boolean = False
'Calculo los subtotales para comparar con la NC
Dim cantidad As Decimal = 0D
@@ -14018,11 +14019,13 @@ Partial Class Compras_Compras
'si no esta vinculado a nc simplemente me lo brinco
If realizadevolucion Then
'si el subtotal es iwal a la nc lo guardo si no marco error
If TxtSubTotal2.Text.ToDouble > subtotaldevolucion - 1 AndAlso TxtSubTotal2.Text.ToDouble < subtotaldevolucion + 1 Then
'si el subtotal es igual a la nc lo guardo si no marco error
'si tiene FNC574, se ajustará la diferencia a un concepto como RNC
Dim tTolerancia As Decimal = 1
'si tiene la funcionalidad ajustará en un producto la diferencia
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then tTolerancia = Math.Abs(TxtSubTotal2.Text.ToDecimal - subtotaldevolucion)
If Math.Abs(TxtSubTotal2.Text.ToDecimal - subtotaldevolucion) <= tTolerancia Then
VinculaDevolucion()
Else
Alert("El Total de la NC debe ser igual al total de la devolucion", TipoMensaje.MsgAdvertencia)
End If
@@ -14053,15 +14056,17 @@ Partial Class Compras_Compras
Dim IVAPorcentajeCompra As Decimal = Math.Round((IVACompra / SubTotalCompra), 2)
Dim Contador As Integer = 0
Dim Consec As Integer = 0
Dim tAjusteUltimo As Boolean = True
For Each gvr As GridViewRow In GVDevolucion.Rows
If gvr.FCTextBox("TxtCantidad").Text.ToDecimal > 0 Then
Contador += 1
End If
Next
Dim CveSubProyectoContrato As String = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenDevolucion.SelectedValue.ToEntero).FiltroPrimeroValor("CveSubProyecto")
Dim SubProyecto As String = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyectoContrato.ToEntero).FiltroPrimeroValor("SubProyecto")
Dim Total As Decimal = 0
Dim CveSubProyectoDev As String = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenDevolucion.SelectedValue.ToEntero).FiltroPrimeroValor("CveSubProyecto")
Dim SubProyecto As String = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyectoDev.ToEntero).FiltroPrimeroValor("SubProyecto")
'Iteramos el GridView de la OC
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then tAjusteUltimo = False
For Each gvr As GridViewRow In GVDevolucion.Rows
If gvr.FCTextBox("TxtCantidad").Text.ToDecimal > 0 Then
@@ -14073,7 +14078,7 @@ Partial Class Compras_Compras
Dim UM As String = gvr.DataKey("UM").ToString
Dim CveClasificacion As Integer = gvr.DataKey("CveClasificacion").ToString.ToEntero
Dim Clasificacion As String = gvr.DataKey("Clasificacion").ToString
Dim PS As String = gvr.DataKey("PS").ToString
Dim PS As String = gvr.DataKey("CodigoPS").ToString
Dim CveTipoPS As Integer = gvr.DataKey("CveTipoPS").ToString.ToEntero
Dim CveProyecto As String = "-1"
@@ -14081,14 +14086,14 @@ Partial Class Compras_Compras
Dim Proyecto As String = "Seleccione"
Dim Obs As String = ""
Dim PU As Decimal = gvr.DataKey("PU").ToString.ToDecimal
Dim Total As Decimal = gvr.FCTextBox("TxtTotalDevolucion").Text.ToDecimal
Total = gvr.FCTextBox("TxtTotalDevolucion").Text.ToDecimal
Dim IVA As Decimal = IVAPorcentajeCompra 'Math.Round(Total * IVAPorcentajeCompra, 2)
Dim Descuento As Decimal = 0
Acumulado += (PU * Cantidad)
Consec += 1
If Consec = Contador Then 'SubTotalCompra < Acumulado Then
If Consec = Contador AndAlso tAjusteUltimo Then 'SubTotalCompra < Acumulado Then
'ajusta el valor
Dim dif As Decimal = SubTotalCompra - Acumulado
If dif <> 0 Then
@@ -14096,10 +14101,26 @@ Partial Class Compras_Compras
Total = Cantidad * PU
End If
End If
AddPS(Cantidad, CveUM, UM, CveClasificacion, Clasificacion, CvePS, PS, CveTipoPS, CveSubProyectoContrato, SubProyecto, Proyecto, CveProyecto, Obs, PU, Total, IVA, 0, 0, 0, 0, Descuento, -1, False)
AddPS(Cantidad, CveUM, UM, CveClasificacion, Clasificacion, CvePS, PS, CveTipoPS, CveSubProyectoDev, SubProyecto, Proyecto, CveProyecto, Obs, PU, Total, IVAPorcentajeCompra, 0, 0, 0, 0, Descuento, -1, False, CveAlmacen:=DdlAlmacenDevolucion.SelectedValue.ToEntero)
End If
Next
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then
Dim CvePS_RNC As Integer = UsuarioActual.Empresa.Funcionalidad(580).ToEntero
If CvePS_RNC = 0 Then
Alert("producto utilizado para diferencia no definido.")
Exit Sub
End If
Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePS_RNC).FiltroPrimero("")
Dim PS As String = PSRow("PSCodigo").ToString
Dim tDif As Decimal = TxtSubTotal2.Text.ToDecimal - Total
AddPS(1, PSRow("CveUnidadMedida").ToString.ToEntero, PSRow("UnidadMedida").ToString,
PSRow("CveClasificacion").ToString.ToEntero, PSRow("Clasificacion").ToString, CvePS_RNC, PS, 1, CveSubProyectoDev.ToString, SubProyecto, "", "-1", "", tDif, tDif, IVAPorcentajeCompra, 0, 0, 0, 0, 0)
End If
AddPS2()
BtnGuardar.Enabled = True
@@ -14115,7 +14136,6 @@ Partial Class Compras_Compras
ImgClasificacion.Visible = False
LbAgregar.Visible = False
UpPSS.Update()
'CargaGvInv()
@@ -14137,7 +14157,6 @@ Partial Class Compras_Compras
End If
GvOC1.DataBind()
' TmpDT = OrdenarTablas("CvePS", DTOCTemp, TmpDT)
GvOC2.DataSource = TmpDT
GvOC2.DataBind()
@@ -14491,19 +14510,13 @@ Partial Class Compras_Compras
End If
End If
If Not TmpDT.Columns.Contains("AplicaLote") Then
TmpDT.Columns.Add("AplicaLote", GetType(Boolean))
End If
If Not TmpDT.Columns.Contains("AplicaCaducidad") Then
TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean))
End If
If Not TmpDT.Columns.Contains("Lote") Then
TmpDT.Columns.Add("Lote", GetType(String))
End If
If Not TmpDT.Columns.Contains("FechaCaducidad") Then
TmpDT.Columns.Add("FechaCaducidad", GetType(Date))
End If
If Not TmpDT.Columns.Contains("AplicaLote") Then TmpDT.Columns.Add("AplicaLote", GetType(Boolean))
If Not TmpDT.Columns.Contains("AplicaCaducidad") Then TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean))
If Not TmpDT.Columns.Contains("Lote") Then TmpDT.Columns.Add("Lote", GetType(String))
If Not TmpDT.Columns.Contains("FechaCaducidad") Then TmpDT.Columns.Add("FechaCaducidad", GetType(Date))
If ObjInventario.GetInv_ComprasMov(CveCompra, UsuarioActual.CveEmpresa) Then
If ObjInventario.DtResultados.Rows.Count > 0 Then
@@ -16721,7 +16734,6 @@ Partial Class Compras_Compras
End If
End If
UPCondicionesPago.Update()
End Sub
@@ -18169,7 +18181,7 @@ Partial Class Compras_Compras
Case "A" 'ADD
Dim SATClavePS As Integer = -1
Dim PSRow As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimero("")
Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimero("")
If PSRow IsNot Nothing Then
SATClavePS = PSRow("SATClavePS").ToString.ToEntero
End If
@@ -18258,13 +18270,11 @@ Partial Class Compras_Compras
Optional PSCodigo As String = "-", Optional PSDescripcion As String = "-", Optional CantidadF As Double = -1, Optional EntregaDirecta As Integer = -1, Optional OtrosGastos As Decimal = 0,
Optional CveSATPS As Integer = -1, Optional CargaXml As Boolean = False, Optional CveTipoGasto As Integer = -1, Optional TipoGasto As String = "", Optional PorcentajeIVA As Decimal = 0,
Optional PorcentajeIEPS As Decimal = 0, Optional PorcentajeRetIVA As Decimal = 0, Optional PorcentajeRetISR As Decimal = 0, Optional NoDeducible As Boolean = False, Optional CveContratoDetalle As Integer = -1, Optional CveCultivoCuadroDetalle As Integer = -1,
Optional CveSATPSActualizado As Boolean = False, Optional TemporadaCuadro As String = "", Optional CodigoPS As String = "") As Integer
Optional CveSATPSActualizado As Boolean = False, Optional TemporadaCuadro As String = "", Optional CodigoPS As String = "", Optional CveAlmacen As Integer = -1) As Integer
Dim Row As DataRow = Nothing
If Not TmpDT.Columns.Contains("CodigoPS") Then
TmpDT.Columns.Add("CodigoPS")
End If
If Not TmpDT.Columns.Contains("CodigoPS") Then TmpDT.Columns.Add("CodigoPS")
Row = TmpDT.NewRow()
Dim Retorno As Integer = 0
@@ -18425,8 +18435,13 @@ Partial Class Compras_Compras
Row("CveContratoDetalle") = CveContratoDetalle
Row("AplicaSerie") = DrPS("AplicaSerie")
Row("AplicaLote") = DrPS("AplicaLote")
Row("AplicaCaducidad") = DrPS("AplicaCaducidad")
Row("CveCultivoCuadroDetalle") = CveCultivoCuadroDetalle
Row("TemporadaCuadro") = TemporadaCuadro
If CveAlmacen > 0 Then Row("CveAlmacen") = CveAlmacen
If UsuarioActual.Empresa.UsaAC Then
Row("CveProgramaOperativo") = DdlACGeneral1.SelectedValue.ToEntero
@@ -19430,7 +19445,7 @@ Partial Class Compras_Compras
For Each Dr As DataRow In Dt.Rows
Dim Total As Decimal = ObjInventario.DtResultados.FiltraParametros($"CveClasificacion = {Dr("CveClasificacion")}").SUM("Total").RoundSQL() ' * (If(EsCancelacion, -1, 1))
If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaSalida, Not TipoMovtoAlmacen, Total, Total, 95, LblFolio.Text, Obs, 0, CveMovimientoAlmacen:=CveMovimientoSalida, CveClasificacion:=Dr("CveClasificacion").ToString.ToEntero, CveSubProyecto:=tCveSubProyecto, Contabilizable:=EsContabilizable) Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaSalida, Not TipoMovtoAlmacen, Total, Total, 259, LblFolio.Text, Obs, 0, CveMovimientoAlmacen:=CveMovimientoSalida, CveClasificacion:=Dr("CveClasificacion").ToString.ToEntero, CveSubProyecto:=tCveSubProyecto, Contabilizable:=EsContabilizable) Then
Respuesta = False
End If
Next
@@ -20749,6 +20764,8 @@ Partial Class Compras_Compras
End If
End If
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then 'cuando es emp DIAZ
If DdlTipoCompra.SelectedValue = "15" Then 'Remisión de nota de crédito
If DdlTipoComprobante.SelectedValue = "NC" Then
@@ -20759,6 +20776,12 @@ Partial Class Compras_Compras
'DdlRemisionNotaCredito.SelectedValueExist(-1)
DdlTipoCompra.SelectedValueExist(-1)
End If
Else
'SE ACTIVA DE NUEVO PARA LA SELECCIÓN
HLAplicaNCFact.Visible = True
InicializaAplicaNCFact()
If CveFactura > 0 Then NCSeleccionFacturasRelacionadas(UUIDSList)
End If
End If
End Sub
@@ -22038,12 +22061,12 @@ Partial Class Compras_Compras
Dim respuesta As Boolean = True
Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal
Dim CvePS_RNC As Integer = UsuarioActual.Empresa.Funcionalidad(580).ToEntero
Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePS_RNC).FiltroPrimero("")
Dim CvePSRNC As Integer = UsuarioActual.Empresa.Funcionalidad(580).ToEntero
Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePSRNC).FiltroPrimero("")
Dim CveSubProyectoPrincipal As Integer = AsignarSubProyectoPrincipal()
Dim SubProyecto As String = ""
If Not CvePS_RNC > 0 Then
If Not CvePSRNC > 0 Then
Alert("No esta definido el producto de Remisión de Nota de Crédito.", TipoMensaje.MsgAdvertencia)
Return False
End If
@@ -22056,7 +22079,6 @@ Partial Class Compras_Compras
SubProyecto = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyectoPrincipal).FiltroPrimeroValor("SubProyecto")
If PSRow IsNot Nothing Then
Dim CompraRNC As New ClsCompraManagerCompras(UsuarioActual) With {
.TipoDocto = "RNC",
.CveProveedor = CveProveedor,
@@ -22090,7 +22112,7 @@ Partial Class Compras_Compras
Dim IVARNC As Decimal = (Importe * PorcentajeIVA).RoundSQL(2)
Dim TotalRNC As Decimal = If(RedondearSaldado, (Importe + IVARNC).RoundSQL(2), (Importe + IVARNC))
CompraRNC.ConfiguraRegistroRapido(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNC, IVARNC, TotalRNC, PorcentajeIVA, TipoCambio:=TipoCambioOriginal)
CompraRNC.ConfiguraRegistroRapido(CvePSRNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNC, IVARNC, TotalRNC, PorcentajeIVA, TipoCambio:=TipoCambioOriginal)
If CompraRNC.AddCompra(sqltransaccion) Then
Dim tImporteRNC = TotalRNC ' le agrego el importe del iva
Dim Pago As New CompraPago
@@ -22850,7 +22872,7 @@ Public Class ClsCompraManagerCompras
Public Property CveMetodoPago As Integer
Public Property MetodoPago As String
Public Property DocumentosRelacionadosUUIDSList As List(Of String) = New List(Of String)
Public Property DocumentosRelacionadosUUIDSList As HashSet(Of String) = New HashSet(Of String)
Public ReadOnly Property DocumentosRelacionadosUUIDSString As String
Get
Return GeneraStringDoctosRelacionados()
@@ -23069,7 +23091,7 @@ Public Class ClsCompraManagerCompras
If TipoComprobante.ToUpper = "E" AndAlso (CFDIVersion = EnumCFDIVersion.v33 OrElse CFDIVersion = EnumCFDIVersion.v40) Then
Dim UUIDS As String = ""
Dim UUIDSLista As New List(Of String)
Dim UUIDSLista As New HashSet(Of String)
Dim nodeCFDIRelacionados As XmlNode
nodeCFDIRelacionados = XMLDoc.SelectSingleNode(String.Format("//{0}:CfdiRelacionados", Prefijo), namespaces)
@@ -23222,6 +23244,8 @@ Public Class ClsCompraManagerCompras
If Not TmpDT.Columns.Contains("AplicaCaducidad") Then TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean))
If Not TmpDT.Columns.Contains("AplicaSerie") Then TmpDT.Columns.Add("AplicaSerie", GetType(Boolean))
If Not TmpDT.Columns.Contains("Lote") Then TmpDT.Columns.Add("Lote", GetType(String))
If Not TmpDT.Columns.Contains("FechaCaducidad") Then TmpDT.Columns.Add("FechaCaducidad", GetType(Date))
@@ -23454,7 +23478,6 @@ Public Class ClsCompraManagerCompras
TmpDT.Columns.Add("SATClaveUnidadMedida", GetType(String))
TmpDT.Columns.Add("CveSATPSActualizado", GetType(Integer))
'Tipo de Gasto
TmpDT.Columns.Add("CveTipoGasto", GetType(Integer))
TmpDT.Columns.Add("TipoGasto", GetType(String))
@@ -23462,26 +23485,23 @@ Public Class ClsCompraManagerCompras
TmpDT.Columns.Add("ImporteSinImpuestos", GetType(Double))
TmpDT.Columns.Add("ImporteConImpuestos", GetType(Double))
TmpDT.Columns.Add("NoDeducible", GetType(Boolean))
TmpDT.Columns.Add("DifPSSat", GetType(Integer))
TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer))
TmpDT.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer))
TmpDT.Columns.Add("TemporadaCuadro", GetType(String))
TmpDT.Columns.Add("NoIdentificacion", GetType(String))
TmpDT.Columns.Add("AplicaSerie", GetType(Boolean))
TmpDT.Columns.Add("AplicaLote", GetType(Boolean))
TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean))
TmpDT.Columns.Add("Serie", GetType(String))
TmpDT.Columns.Add("Lote", GetType(String))
TmpDT.Columns.Add("FechaCaducidad", GetType(Date))
TmpDT.AcceptChanges()
End Sub
Private Function AjustesValidacion() As Boolean
Dim respuesta As Boolean = True

View File

@@ -33,6 +33,10 @@
.ajax__tab_xp .ajax__tab_body {
font-size: 12px !important;
}
.addropzone {
min-height: 170px;
}
</style>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
@@ -933,33 +937,24 @@
<asp:UpdatePanel runat="server" ID="UpModalProrrateoGasolina" UpdateMode="Conditional">
<ContentTemplate>
<%-- <div class="row">
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<ADS:Dropdownlost runat="server" ID="DdlPSProrrateoGasolina" CssStyle="width:100%" CssClass="form-control input-sm DdlPS" CssClassDdl="select2me" DataTextField="PSCodigo" DataValueField="CvePS" />
<label for="<%= DdlPSProrrateoGasolina.ClientID.ToString()%>">
Productos / Servicio:
<label>
</div>
</div>
</div>--%>
<div class="row" style="margin-top:10px">
<div class="col-md-4">
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlSubProyectoProrrateoGasolina" CssClass=" form-control input-sm select2me" runat="server" Width="100%" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto">
<asp:ListItem Selected="true" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<%--<asp:RequiredFieldValidator ID="RfvDdlSubProyectoProrrateoGasolina" runat="server" ControlToValidate="DdlSubProyectoProrrateoGasolina" CssClass="help-block errorimput" InitialValue="-1"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo es necesario, por favor ingréselo." ValidationGroup="GprAgregaPSProrateo">
</asp:RequiredFieldValidator>--%>
<label runat="server" id="Label10" for="<%= DdlSubProyectoProrrateoGasolina.ClientID.ToString()%>">
<asp:Label runat="server" id="LblSubProyectoProrrateoGasolina"></asp:Label>:
<asp:Label runat="server" ID="LblSubProyectoProrrateoGasolina"></asp:Label>:
</label>
</div>
</div>
<div class="col-md-4">
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtPrecioProrrateoGasolina" ClientIDMode="Static" runat="server" CssClass=" form-control " CausesValidation="true" MaxLength="12" ValidationGroup="GprAgregaPSProrateo"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FilTxtPrecioProrrateoGasolina" runat="server" TargetControlID="TxtPrecioProrrateoGasolina" FilterType="Custom, Numbers" ValidChars="." />
@@ -969,12 +964,9 @@
<label for="<%= TxtPrecioProrrateoGasolina.ClientID.ToString()%>">Porcentaje:</label>
</div>
</div>
<div class="col-md-4" style="margin-top:10px;text-align:right">
<asp:LinkButton ID="LnkAgregarProrrateoGasolina" OnClick="LnkAgregarProrrateoGasolina_Click" runat="server" Text="Agregar" CssClass="btn btn-primary" ValidationGroup="GprAgregaPSProrateo" > </asp:LinkButton>
</div>
</div>
<div class="row" style="margin-top:10px">
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" ID="LblTotalProrrateoGasolina" CssClass="form-control" Text="100%"></asp:Label>
@@ -989,6 +981,43 @@
</div>
</div>
<div class="row">
<div class="col-md-12" style="margin-top:10px;text-align:center">
<asp:LinkButton ID="LnkAgregarProrrateoGasolina" OnClick="LnkAgregarProrrateoGasolina_Click" runat="server" Text="Agregar" CssClass="btn btn-primary" ValidationGroup="GprAgregaPSProrateo" > </asp:LinkButton>
</div>
</div>
</div>
<div class="col-md-6">
<div class="row">
<div class="col-md-6" style="text-align:right">
<asp:LinkButton runat="server" ID="LnkDecargaPlatilla" OnClick="LnkDecargaPlatilla_Click" CssClass="btn btn-warning"><i class="fa fa-arrow-down" aria-hidden="true"></i> Formato</asp:LinkButton>
</div>
<div class="col-md-6" style="text-align:left">
<asp:Button Text="Agregar" CssClass="btn btn-success" ID="BrnAgregarPlantilla" OnClick="BrnAgregarPlantilla_Click" runat="server" />
</div>
</div>
<div class="row">
<div class="col-md-21" style="margin-left: 5px; margin-right: 5px;">
<asp:TextBox ID="TxtExcel" CssClass="ADSdropzone hidden" Text="" data-maxFile="1" runat="server"></asp:TextBox>
</div>
</div>
</div>
</div>
<div class="row" style="margin-top:10px">
</div>
<div class="row" style="margin-top:10px">
</div>
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvProrrateoGasolina" runat="server" AutoGenerateColumns="false" GridLines="none" BorderWidth="0" Width="100%"
@@ -1018,6 +1047,9 @@
</div>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkDecargaPlatilla" />
</Triggers>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
@@ -1565,9 +1597,6 @@
<ajax:TabPanel runat="server" HeaderText="Historial" ID="TabHistorial">
<ContentTemplate>
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GVSolicitudesHistorial" runat="server" GridLines="None" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" AutoGenerateColumns="False" OnRowDataBound="GVSolicitudesHistorial_RowDataBound"
@@ -1634,26 +1663,11 @@
</asp:GridView>
</div>
</div>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
</div>
</div>

View File

@@ -5587,13 +5587,13 @@ Partial Class Compras_eFacturas
If DdlSubProyectoProrrateoGasolina.SelectedValue.ToEntero > 0 Then
AgregarProrrateoGasolina(DdlSubProyectoProrrateoGasolina.SelectedValue.ToEntero, DdlSubProyectoProrrateoGasolina.SelectedItem.Text, CvePs, CveUM, UM, CveClasificacion, Clasificacion)
AgregarProrrateoGasolina(DdlSubProyectoProrrateoGasolina.SelectedValue.ToEntero, DdlSubProyectoProrrateoGasolina.SelectedItem.Text, CvePs, CveUM, UM, CveClasificacion, Clasificacion, TxtPrecioProrrateoGasolina.Text.ToDecimal)
Else
DTProrrateoTmp.Rows.Clear()
For Each item As ListItem In DdlSubProyectoProrrateoGasolina.Items
If item.Value.ToEntero > 0 Then
AgregarProrrateoGasolina(item.Value.ToEntero, item.Text, CvePs, CveUM, UM, CveClasificacion, Clasificacion)
AgregarProrrateoGasolina(item.Value.ToEntero, item.Text, CvePs, CveUM, UM, CveClasificacion, Clasificacion, TxtPrecioProrrateoGasolina.Text.ToDecimal)
End If
Next
End If
@@ -5605,7 +5605,7 @@ Partial Class Compras_eFacturas
End Sub
Private Sub AgregarProrrateoGasolina(CveSubProyecto As Integer, SubProyecto As String, CvePS As Integer, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String)
Private Sub AgregarProrrateoGasolina(CveSubProyecto As Integer, SubProyecto As String, CvePS As Integer, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String, Porcentaje As Decimal)
''' este prco3eso compratira todo esto se debe de llevar a la genracion de la factura por porcentaje
@@ -5615,7 +5615,7 @@ Partial Class Compras_eFacturas
Dim RetIVAOriginal As Decimal = 0D 'TxtRetIVA.Text.ToDecimal
Dim TotalOriginal As Decimal = 1
Dim totalParcialDeseado As Decimal = TxtPrecioProrrateoGasolina.Text.ToDecimal
Dim totalParcialDeseado As Decimal = Porcentaje
Dim PorcentajeCalculado As Decimal = totalParcialDeseado / TotalOriginal
Dim subtotalParcial As Decimal = SubTotalOriginal * PorcentajeCalculado
@@ -5643,7 +5643,7 @@ Partial Class Compras_eFacturas
nRow("Total") = totalParcialDeseado.RoundSQL(4)
nRow("PorcentajeIVA") = (ivaParcial / subtotalParcial).RoundSQL(4)
nRow("Porcentaje") = TxtPrecioProrrateoGasolina.Text.ToDecimal '((totalParcialDeseado.RoundSQL(4) * 100) / TotalOriginal).RoundSQL(2)
nRow("Porcentaje") = Porcentaje '((totalParcialDeseado.RoundSQL(4) * 100) / TotalOriginal).RoundSQL(2)
'nRow("RetIVAPorcentaje") = (retIvaParcial / subtotalParcial).RoundSQL(4)
'nRow("RetISRPorcentaje") = (retIsrParcial / subtotalParcial).RoundSQL(4)
@@ -6213,6 +6213,113 @@ Partial Class Compras_eFacturas
End Sub
Protected Sub LnkDecargaPlatilla_Click(sender As Object, e As EventArgs)
Dim rutaArchivoPlantilla As String = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\CargaProrrateoPorcentaje.xlsx"
Dim nombreArchivo As String = "CargaProrrateoPorcentaje.xlsx"
' Configurar la respuesta HTTP
Response.Clear()
Response.ContentType = "application/octet-stream"
Response.AppendHeader("Content-Disposition", "attachment; filename=" & nombreArchivo)
Dim contenido As Byte() = System.IO.File.ReadAllBytes(rutaArchivoPlantilla)
Response.BinaryWrite(contenido)
Response.Flush()
Response.End()
End Sub
Protected Sub BrnAgregarPlantilla_Click(sender As Object, e As EventArgs)
If TxtExcel.getfiles().Archivos.Count > 0 Then
Dim file As Archivo = TxtExcel.getfiles().Archivos(0)
Dim Directorio As String = Server.MapPath("~") & file.path
Dim Tipo As String = If(file.Extension.Contiene("xlsx", "xlsx", "xlsm", "xlsb"), "EXCEL", "CSV")
Dim DTPlantilla As DataTable = ReadExcelFile(Directorio + file.filename, True)
ProcesaPlantilla(DTPlantilla)
Else
Alert("No existe el archivo.Favor de subir un archivo csv o excel a la plataforma", TipoMensaje.MsgError)
End If
End Sub
Function ProcesaPlantilla(DTPlantilla As DataTable) As Boolean
Dim CvePs As Integer = DdlPS.SelectedValue.ToEntero
If Not CvePs > 0 Then
Alert("Debe seleccionar un producto", TipoMensaje.MsgAdvertencia)
Return False
End If
Dim PsRow As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePs).FiltroPrimero("")
If PsRow Is Nothing Then
Alert("No se encontro el producto", TipoMensaje.MsgAdvertencia)
Return False
End If
Dim CveUM As Integer = PsRow("CveUM").ToString.ToEntero
Dim UM As String = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimeroValor("UnidadMedida", $" CveUnidadMedida = {CveUM} ")
Dim CveClasificacion As Integer = PsRow("CveClasificacion").ToString.ToEntero
Dim Clasificacion As String = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Clasificacion", $" CveClasificacion = {CveClasificacion} ")
Dim TotalPorcentaje As Decimal
Dim ErrorProceso As Boolean = False
Dim SbSubProyectosNoencontrados As New StringBuilder
For Each dRow As DataRow In DTPlantilla.Rows
If dRow("Porcentaje").ToString.ToDecimal < 0 Then
Alert("No se admiten porcentajes negativos.", TipoMensaje.MsgAdvertencia)
Return False
End If
TotalPorcentaje = TotalPorcentaje + dRow("Porcentaje").ToString.ToDecimal
Next
TotalPorcentaje = TotalPorcentaje.RoundSQL
If TotalPorcentaje <> 100 Then
Alert($"La suma de porcentaje es diferente de 100%, el porcetaje actual es de {TotalPorcentaje}%", TipoMensaje.MsgAdvertencia)
Return False
End If
If Not DTPlantilla.Columns.Contains("CveSubProyecto") Then
DTPlantilla.Columns.Add("CveSubProyecto", GetType(Integer))
End If
For Each dRow As DataRow In DTPlantilla.Rows
Dim CveSubProyecto As Integer = GlobalDTSubProyectos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $" SubProyecto = '{dRow("CentroCosto").ToString}' ").ToEntero
If CveSubProyecto > 0 Then
dRow("CveSubProyecto") = CveSubProyecto
Else
ErrorProceso = True
SbSubProyectosNoencontrados.AppendLine($"{dRow("CentroCosto").ToString}<br>")
End If
Next
If ErrorProceso AndAlso SbSubProyectosNoencontrados.Length > 0 Then
Alert($"No se encontraron los siguientes centros de costo <br>{SbSubProyectosNoencontrados.ToString}", TipoMensaje.MsgAdvertencia)
End If
For Each dRow As DataRow In DTPlantilla.Rows
AgregarProrrateoGasolina(dRow("CveSubProyecto").ToString.ToEntero, dRow("CentroCosto").ToString, CvePs, CveUM, UM, CveClasificacion, Clasificacion, dRow("Porcentaje").ToString.ToDecimal)
Next
TxtExcel.Text = "[]"
Return True
End Function
End Class

View File

@@ -87,6 +87,10 @@
<li>
<asp:LinkButton ID="LnkExcel" runat="server" Visible="true" data-target="#DivCargaExcel"><i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Cargar Excel</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="BtnQuitarContabilidad" runat="server" Text="Quitar Contabilidad" Visible="false"
data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" OnClick="BtnQuitarContabilidad_Click" />
</li>
</ContentTemplate>
</asp:UpdatePanel>

View File

@@ -312,6 +312,10 @@ Partial Class ContabilidadC_RegPrePolizaS
Contabilizar()
End If
If Request("quitaconta") IsNot Nothing Then
Quitacontabilidad()
End If
End If
Exit Sub
@@ -508,6 +512,10 @@ Partial Class ContabilidadC_RegPrePolizaS
GvPrePoliza.Columns(7).Visible = True
End If
If UsuarioActual.CveRol = 1 OrElse UsuarioActual.CveUsuario = 2296 Then
BtnQuitarContabilidad.Visible = True
End If
If DtMovimientos.FiltraParametros("CveConceptoContable IN (2,292)").Rows.Count > 0 AndAlso DtMovimientos.FiltraParametros("CveConceptoContable IN (30)").Rows.Count = 0 Then
LnkComplementoPago.Visible = True
End If
@@ -2892,5 +2900,31 @@ Partial Class ContabilidadC_RegPrePolizaS
Protected Sub LnkEmitirComplemento_Click(sender As Object, e As EventArgs)
GeneraTimbre(CvePrePoliza)
End Sub
Protected Sub BtnQuitarContabilidad_Click(sender As Object, e As EventArgs)
Quitacontabilidad()
End Sub
Private Sub Quitacontabilidad()
Dim tieneerror As Boolean = False
Dim oculta As Boolean = False
Dim ObjConta As New ClsContabilidad()
ObjConta.IniciaTransacSQL()
'If GvPrePoliza.Rows.Count = 0 Then oculta = True
For Each gvr As GridViewRow In GvPrePoliza.Rows
If Not ObjConta.UpdateContabilizable(gvr.DataKey("CvePrePolizaDetalle").ToEntero, oculta) Then
tieneerror = True
End If
Next
If Not tieneerror Then
ObjConta.Commit()
Alert("limpieza")
Else
ObjConta.RollBack()
End If
ObjConta.Dispose()
End Sub
End Class

View File

@@ -169,7 +169,7 @@
</asp:TemplateField>
<asp:BoundField DataFormatString="{0:N2}" DataField="SubProyectoGeneral" HeaderText="Total" ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" />
<asp:BoundField DataFormatString="{0:N2}" DataField="SubProyectoNA" HeaderText="Sin SubProyecto" ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" />
<asp:BoundField DataFormatString="{0:N2}" DataField="SubProyectoNA" HeaderText="Sin SubProyecto" ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" Visible="false" />
<asp:BoundField DataFormatString="{0:N2}" DataField="SubProyectoNAPorcentaje" HeaderText="%" ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="50px" />
<asp:BoundField DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" />

Binary file not shown.

View File

@@ -6,8 +6,6 @@ Imports System.Data.SqlClient
Imports System.IO
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class Inventarios_EntregaAlmacen
Inherits ClsPaginas
@@ -699,8 +697,8 @@ Partial Class Inventarios_EntregaAlmacen
Dim drvs As DataRow = objV.DtResultados.FiltroPrimero("")
LtlRegistra.Text = drvs("VendedorNombre").ToString
If drvs("Saldo").ToString.ToDecimal > 0 AndAlso (drvs("CondicionesPago").ToString = "0" Or drvs("TipoDocto").ToString = "Rem") Then
'subproyecto e-commerce, si se permite surtir, sin tener registro de pago. cvesubproyecto:12849
If drvs("Saldo").ToString.ToDecimal > 0 AndAlso drvs("CveSubProyecto").ToString <> "12849" AndAlso (drvs("CondicionesPago").ToString = "0" OrElse drvs("TipoDocto").ToString = "Rem") Then
Alert("El documento NO se encuentra pagado", TipoMensaje.MsgError)
BtnGuardar.Visible = False
End If

View File

@@ -619,8 +619,7 @@ Partial Class Inventarios_Remanufactura
AtencionA:=factura.AtencionA, TelefonoGenerico:="", CveContrato:=factura.CveContrato, CveVentaPadre:=factura.CveVentaPadre, Det_FechaOrdenCompra:=factura.Det_FechaOrdenCompra, Det_OrdenCompra:=factura.Det_OrdenCompra, otros:=factura.Otros,
Entrega:="", Vigencia:=MinFecha,
CveAlmacenTraspasoDestino:=CveAlmacenTraspasoDestino, CveAlmacenTraspasoOrigen:=CveAlmacenTraspasoOrigen, CveDireccionEnvio:=-1, CveOC:=-1, IEPS:=factura.IEPSTC, Serie:=factura.Serie, CveCondicionEntrega:=-1,
PedidoContrato:="", CveSubProyecto:=CveSubProyecto, CveSubProyectoCobranza:=CveSubProyecto, CveSubProyectoEjecucion:=CveSubProyecto, CveFormaPago33:=factura.CveFormaPago,
CveMetodoPago:=factura.CveMetodoPago, CveUsoCFDI:=factura.CveUsoCFDI) Then
PedidoContrato:="", CveSubProyecto:=CveSubProyecto, CveSubProyectoCobranza:=CveSubProyecto, CveSubProyectoEjecucion:=CveSubProyecto, CveFormaPago33:=factura.CveFormaPago, CveUsoCFDI:=factura.CveUsoCFDI) Then
ErrorList.Add("Ocurrió un error al Generar la Venta.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico")
End If

View File

@@ -744,7 +744,7 @@
selectHelper: true,
select: selectDate,
editable: true,
minTime: "07:00:00",
minTime: "06:00:00",
maxTime: "23:00:00",
events: {
url: '/Ashx/CargaEventos.ashx',

View File

@@ -2763,7 +2763,7 @@ Partial Class Clientes
RequiereOC:=ChkRequiereOC.Checked, LT:=LT, LG:=LG, EsDistribuidor:=ChkEsDistribuidor.Checked, TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero(), CargoUsado:=ChkCargoUsado.Checked, BonificacionUsado:=ChkBonificacionUsado.Checked, CveTipoRetencion:=DdlTipoRetencion.SelectedValue.ToEntero(), CorreoEntregaCompras:=TxtCorreoEntregaCompras.Text, CorreoEntregaAlmacen:=TxtCorreoEntregaAlmacen.Text, CveSATEstado:=DdlEstadoSAT.SelectedValue.ToEntero(),
CveAdminTrayecto:=If(DdlAdminTrayecto.SelectedValue.ToEntero() <= 0, 0, DdlAdminTrayecto.SelectedValue.ToEntero()),
NoDesglosaIVA:=Not ChkNoDesglosaIVA.Checked, CveRegimenFiscal:=DdlRegimenFiscal.SelectedValue.ToEntero, RegimenSociedad:=TxtRegimenSociedad.Text, TipoPersona:=TipoPersona, RepresentanteLegal:=TxtRepresentanteLegal.Text, ComExtCalle:=TxtComExtCalle.Text.Trim(), ComExtNumExt:=TxtComExtNumero.Text.Trim(), ComExtCP:=TxtComExtCP.Text.Trim(), FechaLimiteCredito:=FechaLimiteCredito,
Genero:=GeneroCliente, CveAlmacenAsignado:=DdlAlmacenAsignado.SelectedValue.ToEntero, CveAlmacenAlterno:=DdlAlmacenAlterno.SelectedValue.ToEntero, UsaProductoAlterno:=ChkProductoAlterno.Checked,
Genero:=GeneroCliente, CveAlmacenAsignado:=DdlAlmacenAsignado.SelectedValue.ToEntero, CveAlmacenConsignacion:=DdlAlmacenConsignacion.SelectedValue.ToEntero, CveAlmacenAlterno:=DdlAlmacenAlterno.SelectedValue.ToEntero, UsaProductoAlterno:=ChkProductoAlterno.Checked,
EnQuebranto:=ChkEnQuebranto.Checked, EnDemanda:=ChkEnDemanda.Checked, CreditoRegistroFirmas:=TxtNombreFirmas.Text.Trim, EsFilial:=ChkEsFilial.Checked, GastosEnvio:=TxtGastosEnvio.Text.ToDecimal, Aseguradora:=ChkAseguradora.Checked, CveSubProyectoCobranza:=DdlSubProyectoCobranza.SelectedValue.ToEntero()) Then
If Not ObjClientes.LimpiaImpuestosLocales(Me.CveCliente) Then
@@ -6259,6 +6259,9 @@ Partial Class Clientes
DdlAlmacenAsignado.SelectedValue = Nothing
DdlAlmacenAsignado.ClearSelection()
DdlAlmacenAsignado.Items.Clear()
DdlAlmacenConsignacion.SelectedValue = Nothing
DdlAlmacenConsignacion.ClearSelection()
DdlAlmacenConsignacion.Items.Clear()
DdlAlmacenAlterno.SelectedValue = Nothing
DdlAlmacenAlterno.ClearSelection()
DdlAlmacenAlterno.Items.Clear()
@@ -6267,6 +6270,9 @@ Partial Class Clientes
DdlAlmacenAsignado.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa)
DdlAlmacenAsignado.DataBind()
DdlAlmacenAsignado.Items.Insert(0, New ListItem("-", "-1"))
DdlAlmacenConsignacion.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa)
DdlAlmacenConsignacion.DataBind()
DdlAlmacenConsignacion.Items.Insert(0, New ListItem("-", "-1"))
DdlAlmacenAlterno.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa)
DdlAlmacenAlterno.DataBind()
DdlAlmacenAlterno.Items.Insert(0, New ListItem("-", "-1"))

View File

@@ -180,13 +180,15 @@
<asp:BoundField HeaderText="$ E. Médica" DataField="ComisionMedico" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Fecha Pago" DataField="FechaPago" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:dd/MM/yyyy}" ControlStyle-Width="100px" />
<asp:TemplateField HeaderText="Pagada" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:CheckBox ID="ChkPagada" Visible='<%# If(Eval("CveVenta").ToString <> "", True, False) %>' Checked='<%#If(Eval("Num1").ToString = "1", True, False) %>' AutoPostBack ="true" runat="server" OnCheckedChanged="ChkPagada_CheckedChanged"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>

View File

@@ -2,6 +2,7 @@
Option Strict On
Imports System.Data
Imports System.Data.SqlClient
Imports Extensiones
Partial Class Ventas_RepComisionesSMS
@@ -47,6 +48,7 @@ Partial Class Ventas_RepComisionesSMS
DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor)
DdlVendedor.Enabled = False
GvDatos.Columns(16).Visible = False 'gerente
GvDatos.Columns(19).Visible = False 'pagada
End If
DdlMedico.DataSource = GlobalDTMedicos(UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True' ")
@@ -62,6 +64,7 @@ Partial Class Ventas_RepComisionesSMS
GvDatos.Columns(16).Visible = False 'gerente
GvDatos.Columns(17).Visible = False 'ed.medica
GvDatos.Columns(18).Visible = False 'fecha pago
GvDatos.Columns(19).Visible = False 'pagada
End If
End Sub
@@ -91,10 +94,8 @@ Partial Class Ventas_RepComisionesSMS
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
CargaDatos()
End Sub
#Region "EXCEL"
@@ -115,7 +116,6 @@ Partial Class Ventas_RepComisionesSMS
#End Region
Protected Sub LnkComisiones_Click(sender As Object, e As EventArgs)
CargaComisiones()
RegistraScript("$('#DvModalComisiones').modal('show');")
@@ -124,24 +124,18 @@ Partial Class Ventas_RepComisionesSMS
Private Sub CargaComisiones()
DTDatos = New DataTable
GvComisiones.DataSource = Nothing
Dim objVentas As New ClsVentas
If objVentas.GetComisionesMedicas(UsuarioActual.CveEmpresa) Then
GvComisiones.DataSource = objVentas.DtResultados
DTDatos = objVentas.DtResultados
End If
objVentas.Dispose()
GvComisiones.DataBind()
UpDvModalComisiones.Update()
End Sub
Protected Sub BtnGuardarComisiones_Click(sender As Object, e As EventArgs)
Dim objVentas As New ClsVentas
@@ -162,7 +156,6 @@ Partial Class Ventas_RepComisionesSMS
Dim ComisionVendedorGV As Decimal = (GvRow.FCTextBox("TxtComisionVendedor").Text.ToDecimal / 100).RoundSQL(4)
Dim ComisionTecnicoGV As Decimal = (GvRow.FCTextBox("TxtComisionTecnico").Text.ToDecimal / 100).RoundSQL(4)
If ComisionMedicoDT <> ComisionMedicoGV Or ComisionVendedorDT <> ComisionVendedorGV Or ComisionTecnicoDT <> ComisionTecnicoGV Or ComisionGerenteDT <> ComisionGerenteGV Then
If Not objVentas.AddUpdateComisionesMedicas(GvRow.DataKey("CvePS").ToEntero, UsuarioActual.CveEmpresa, ComisionMedicoGV, ComisionVendedorGV, ComisionTecnicoGV, ComisionGerenteGV) Then
TieneError = True
@@ -194,14 +187,12 @@ Partial Class Ventas_RepComisionesSMS
e.Row.FCTextBox("TxtComisionMedico").Text = e.Row.DataKey("ComisionMedico").ToDecimal.ToString("###.00")
End If
If e.Row.DataKey("ComisionGerente").ToDecimal = 0 Then
e.Row.FCTextBox("TxtComisionGerente").Text = ""
Else
e.Row.FCTextBox("TxtComisionGerente").Text = (e.Row.DataKey("ComisionGerente").ToDecimal * 100).ToString("###.00")
End If
If e.Row.DataKey("ComisionVendedor").ToDecimal = 0 Then
e.Row.FCTextBox("TxtComisionVendedor").Text = ""
Else
@@ -214,8 +205,6 @@ Partial Class Ventas_RepComisionesSMS
e.Row.FCTextBox("TxtComisionTecnico").Text = (e.Row.DataKey("ComisionTecnico").ToDecimal * 100).ToString("###.00")
End If
End If
End Sub
@@ -379,4 +368,14 @@ Partial Class Ventas_RepComisionesSMS
End If
End Sub
Protected Sub ChkPagada_CheckedChanged(sender As Object, e As EventArgs)
Dim chk As CheckBox = DirectCast(sender, CheckBox)
Dim gvr As GridViewRow = DirectCast(chk.NamingContainer, GridViewRow)
Using ObjVenta As New ClsVentas
If ObjVenta.UpdateVentaAdicional(gvr.DataKey("CveVenta").ToEntero, "NUM1", If(chk.Checked, "1", "0"), UsuarioActual.CveEmpresa) Then
CargaDatos()
End If
End Using
End Sub
End Class

View File

@@ -655,6 +655,18 @@
<asp:Label runat="server" ID="LblTipoVenta"></asp:Label>
</td>
</tr>
<tr runat="server" id="TrVentasMedicas5" visible="false">
<td >
<b>Educ. Médica:</b>
</td>
<td runat="server">
<asp:TextBox ID="TxtEducMedica" runat="server" Style="width: 130px" MaxLength="50"></asp:TextBox>
</td>
<td >
</td>
<td runat="server">
</td>
</tr>
</table>
</div>
</div>

View File

@@ -14536,6 +14536,7 @@ Partial Class Ventas
CveMedico = DdlMedico.SelectedValue.ToEntero
CveProcedimiento = DdlProcedimiento.SelectedValue.ToEntero
CveTipoVentaGuardar = If(SeEstaFActurandoVentaMedica, CveTipoVenta, RBLTipoVenta.SelectedValue.ToEntero)
factura.Alfa2 = TxtEducMedica.Text.Trim
'CveAlmacenTraspasoDestino
End If
@@ -39751,6 +39752,7 @@ Partial Class Ventas
TrVentasMedicas1.Visible = True
TrVentasMedicas2.Visible = True
TrVentasMedicas3.Visible = True
TrVentasMedicas5.Visible = True
For Each item As ListItem In RBLTipoVenta.Items
item.Text = $"&nbsp {item.Text}"
@@ -39759,6 +39761,7 @@ Partial Class Ventas
If Opcion = "Cot" Then
'TrVentasMedicas2.Visible = False
TrVentasMedicas3.Visible = False
TrVentasMedicas5.Visible = False
Else
RegistraScript("$('#DvModalTipoVenta').modal({ backdrop: 'static', keyboard: false });")
End If
@@ -40361,7 +40364,7 @@ Partial Class Ventas
If resp.Verificado Then
Dim CancelacionAcuse = resp.CancelacionAcuse
Using ObjVentas As New ClsVentas
If Not ObjVentas.UpdateCancelaVenta(CveVenta, Now, CancelacionAcuse, UsuarioActual.CveEmpresa, CvePACCancelacion, -1, EstadoCancelacion:="", CveEstadoCancelacion:=-1) Then
If Not ObjVentas.UpdateCancelaVenta(CveVenta, Now, CancelacionAcuse, UsuarioActual.CveEmpresa, CvePACCancelacion, 0, EstadoCancelacion:="", CveEstadoCancelacion:=0) Then
Alert("Ocurrió un error al guardar el estatus de cancelación")
End If
End Using