-- bloqueo de remisiones sin surtir

This commit is contained in:
2023-09-20 19:05:03 -07:00
parent 17e13a8dfd
commit 24fd2489c8
2 changed files with 37 additions and 33 deletions

View File

@@ -5335,7 +5335,7 @@
<Columns> <Columns>
<asp:TemplateField> <asp:TemplateField>
<ItemTemplate> <ItemTemplate>
<asp:CheckBox ID="Chk" runat="server" Enabled='<%#If(Eval("Habilitado").ToString <> "", CBool(Eval("Habilitado").ToString), False)%>' Checked='<%#If(Eval("Aplicado").ToString <> "", CBool(Eval("Aplicado").ToString), False)%>' /> <asp:CheckBox ID="Chk" runat="server" Enabled='<%#If(Eval("Habilitado").ToString <> "", CBool(Eval("Habilitado").ToString), False)%>' ToolTip='<%#If(Eval("Habilitado").ToString <> "", "Debe de surtirla para facturarla.", "")%>' Checked='<%#If(Eval("Aplicado").ToString <> "", CBool(Eval("Aplicado").ToString), False)%>' />
</ItemTemplate> </ItemTemplate>
<ItemStyle Width="8px" HorizontalAlign="Center" /> <ItemStyle Width="8px" HorizontalAlign="Center" />
<ControlStyle Width="8px" /> <ControlStyle Width="8px" />
@@ -5355,7 +5355,7 @@
<Columns> <Columns>
<asp:TemplateField> <asp:TemplateField>
<ItemTemplate> <ItemTemplate>
<asp:CheckBox ID="Chk" runat="server" Checked='<%#If(Eval("Aplicado").ToString <> "", CBool(Eval("Aplicado").ToString), False)%>' /> <asp:CheckBox ID="Chk" runat="server" Enabled='<%#If(Eval("Habilitado").ToString <> "", CBool(Eval("Habilitado").ToString), False)%>' ToolTip='<%#If(Eval("Habilitado").ToString <> "", "Debe de surtirla para facturarla.", "")%>' Checked='<%#If(Eval("Aplicado").ToString <> "", CBool(Eval("Aplicado").ToString), False)%>' />
</ItemTemplate> </ItemTemplate>
<ItemStyle Width="8px" HorizontalAlign="Center" /> <ItemStyle Width="8px" HorizontalAlign="Center" />
<ControlStyle Width="8px" /> <ControlStyle Width="8px" />
@@ -5368,7 +5368,7 @@
Cantidad Cantidad
</HeaderTemplate> </HeaderTemplate>
<ItemTemplate> <ItemTemplate>
<asp:TextBox ID="TxtCantidadRem" runat="server" Text='<%#Eval("Cantidad", "{0:#,###.#####}").ToString%>' MaxLength="12" Width="46px" Height="24px"></asp:TextBox> <asp:TextBox ID="TxtCantidadRem" runat="server" style="text-align:right;" Text='<%#Eval("Cantidad", "{0:#,###.#####}").ToString%>' MaxLength="12" Width="46px" Height="24px"></asp:TextBox>
<asp:RangeValidator ID="RVCantRem" runat="server" Type="Double" MinimumValue="0" MaximumValue='<%#Eval("Cantidad").ToString%>' ErrorMessage="Cantidad Excedida" ControlToValidate="TxtCantidadRem" Display="None" ValidationGroup="GprGvRemPS"></asp:RangeValidator> <asp:RangeValidator ID="RVCantRem" runat="server" Type="Double" MinimumValue="0" MaximumValue='<%#Eval("Cantidad").ToString%>' ErrorMessage="Cantidad Excedida" ControlToValidate="TxtCantidadRem" Display="None" ValidationGroup="GprGvRemPS"></asp:RangeValidator>
<ajax:ValidatorCalloutExtender ID="VCECantidad3" runat="server" HighlightCssClass="vco" TargetControlID="RVCantRem" Width="300px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="VCECantidad3" runat="server" HighlightCssClass="vco" TargetControlID="RVCantRem" Width="300px"></ajax:ValidatorCalloutExtender>
</ItemTemplate> </ItemTemplate>

View File

@@ -5583,6 +5583,11 @@ Partial Class Ventas
If TmpDT.SUM("CantidadFacturadaRem") < TmpDT.SUM("Cantidad") Then If TmpDT.SUM("CantidadFacturadaRem") < TmpDT.SUM("Cantidad") Then
BtnsFacturar.Visible = True BtnsFacturar.Visible = True
'E119, bloquear la facturación de remisiones que no estén surtidas
If UsuarioActual.CveEmpresa = 119 AndAlso DbRowVenta("SaldoAlmacen").ToString.ToDecimal = 0 Then
BtnsFacturar.Visible = False
End If
LBFacturarAnticipo.Visible = UsuarioActual.TienePermisoProceso(274) LBFacturarAnticipo.Visible = UsuarioActual.TienePermisoProceso(274)
'ACTIVA CONVERSION DE MONEDA 'ACTIVA CONVERSION DE MONEDA
@@ -12486,7 +12491,21 @@ Partial Class Ventas
Dim i As Integer = 1 Dim i As Integer = 1
'detalles 'detalles
Dim tPS As String = "" Dim tPS As String
If UsuarioActual.CveEmpresa = 119 Then
Dim ObjPed As New ClsInventarios
If ObjPed.GetVentasPedimento(CveVenta, UsuarioActual.CveEmpresa) Then
Dim dttped As DataTable = ObjPed.DtResultados
If Not Obj.DtDetalle.Columns.Contains("NumeroPedimento") Then
Obj.DtDetalle.Columns.Add("NumeroPedimento", Type.GetType("System.String"))
End If
For Each drt As DataRow In Obj.DtDetalle.Rows
Dim Pedimento As String = dttped.FiltroPrimeroValor("Pedimento", $"CveVentaDetalle = {drt("CveVentaDetalle")}")
drt("NumeroPedimento") = Pedimento
Next
End If
ObjPed.Dispose()
End If
For Each drr As DataRow In Obj.DtDetalle.Rows For Each drr As DataRow In Obj.DtDetalle.Rows
If drr("PS").ToString().Length = 1 Then If drr("PS").ToString().Length = 1 Then
@@ -12520,7 +12539,8 @@ Partial Class Ventas
.Noidentificacion = drr("Noidentificacion").ToString(), .Noidentificacion = drr("Noidentificacion").ToString(),
.CuentaPredial = drr("CuentaPredial").ToString(), .CuentaPredial = drr("CuentaPredial").ToString(),
.ImporteGravaIVAAdicional = drr("ImporteIEPS").ToString().ToDecimal, .ImporteGravaIVAAdicional = drr("ImporteIEPS").ToString().ToDecimal,
.ObjetoImpuesto = drr("CodigoObjetoImpuesto").ToString()} .ObjetoImpuesto = drr("CodigoObjetoImpuesto").ToString(),
.NumeroPedimento = drr("NumeroPedimento").ToString}
'verifica suma subtotales 'verifica suma subtotales
If i = Obj.DtDetalle.Rows.Count AndAlso totSubTotal.RoundSQL(2) <> concepto.Importe.RoundSQL(2) AndAlso Math.Abs(totSubTotal.RoundSQL(2) - concepto.Importe.RoundSQL(2)) <= 0.01 Then 'proceso de ajusta de decimales If i = Obj.DtDetalle.Rows.Count AndAlso totSubTotal.RoundSQL(2) <> concepto.Importe.RoundSQL(2) AndAlso Math.Abs(totSubTotal.RoundSQL(2) - concepto.Importe.RoundSQL(2)) <= 0.01 Then 'proceso de ajusta de decimales
concepto.Importe = totSubTotal concepto.Importe = totSubTotal
@@ -13768,8 +13788,6 @@ Partial Class Ventas
Dim CveSubProyectoContabilizar As Integer Dim CveSubProyectoContabilizar As Integer
Dim SeContabiliza As Boolean = True Dim SeContabiliza As Boolean = True
Dim SimplificarPrePoliza As Boolean = False
If (UsuarioActual.Empresa.Funcionalidad(343) = "1" AndAlso ObjFactura.TipoDocto = "Ant") Or (ChkAntEspecial.Checked AndAlso ObjFactura.TipoDocto = "Ant") Then If (UsuarioActual.Empresa.Funcionalidad(343) = "1" AndAlso ObjFactura.TipoDocto = "Ant") Or (ChkAntEspecial.Checked AndAlso ObjFactura.TipoDocto = "Ant") Then
SeContabiliza = False SeContabiliza = False
End If End If
@@ -14696,8 +14714,6 @@ Partial Class Ventas
End If End If
End If End If
SimplificarPrePoliza = True
Else Else
'BANCOS 'BANCOS
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 30, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString()) Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 30, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString())
@@ -14864,11 +14880,11 @@ Partial Class Ventas
End If End If
'Simplificacion de PrePolizas 'Simplificacion de PrePolizas
If ObjFactura.TipoDocto.Contiene("Egs", "Dev") OrElse SimplificarPrePoliza Then 'If ObjFactura.TipoDocto.Contiene("Egs", "Dev") OrElse SimplificarPrePoliza Then
If Not ObjConta.PrePolizaSimplificacion(ObjFactura.CvePrePoliza, UsuarioActual.CveEmpresa) Then ' If Not ObjConta.PrePolizaSimplificacion(ObjFactura.CvePrePoliza, UsuarioActual.CveEmpresa) Then
Alert("No se pudo simplificar los movimientos", TipoMensaje.MsgError) ' Alert("No se pudo simplificar los movimientos", TipoMensaje.MsgError)
End If ' End If
End If 'End If
Dim ModalidadRefacturacion As Integer = UsuarioActual.Empresa.Funcionalidad(586).ToEntero() Dim ModalidadRefacturacion As Integer = UsuarioActual.Empresa.Funcionalidad(586).ToEntero()
@@ -15921,7 +15937,6 @@ Partial Class Ventas
Dim ContaIdPoliza As Integer = 0 Dim ContaIdPoliza As Integer = 0
'Dim ConceptoAmortizacion As Integer = 0 'Dim ConceptoAmortizacion As Integer = 0
'Dim UsaComplementariaClientes As Boolean = True 'Dim UsaComplementariaClientes As Boolean = True
Dim SimplificaPrePoliza As Boolean = True
''[IPP] PARCHE TEMPORAL PARA ANTICIPOS DE JAM ''[IPP] PARCHE TEMPORAL PARA ANTICIPOS DE JAM
'If FechaMaxima < "01/01/2018".ToDate And UsuarioActual.CveEmpresa = 119 Then 'If FechaMaxima < "01/01/2018".ToDate And UsuarioActual.CveEmpresa = 119 Then
@@ -16050,7 +16065,6 @@ Partial Class Ventas
'Pago.CveConceptoPago = 251 'Pago.CveConceptoPago = 251
ErrorConta = AplicaPrePolizaPagoVenta(VentaActual, Pago, CvePrePoliza, ObjConta) ErrorConta = AplicaPrePolizaPagoVenta(VentaActual, Pago, CvePrePoliza, ObjConta)
SimplificaPrePoliza = False
End If End If
Case "66" Case "66"
@@ -16084,12 +16098,9 @@ Partial Class Ventas
'Pago.CveVentaAmortizacion = gvr.DataKey("CveVenta").ToEntero() 'Pago.CveVentaAmortizacion = gvr.DataKey("CveVenta").ToEntero()
'Pago.Referencia = gvr.DataKey("Folio") 'Pago.Referencia = gvr.DataKey("Folio")
'importeMovimiento = ((gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / TxtTotal.Text.ToDecimal) * TxtIVA.Text.ToDecimal) 'importeMovimiento = ((gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / TxtTotal.Text.ToDecimal) * TxtIVA.Text.ToDecimal)
'importeMN = Math.Round(importeMovimiento * tipoCambioPago, 2, MidpointRounding.AwayFromZero) 'importeMN = Math.Round(importeMovimiento * tipoCambioPago, 2, MidpointRounding.AwayFromZero)
''Agregamos el 92 ''Agregamos el 92
'importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal 'gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal - ((gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / gvr.DataKey("TotalAnticipo" & gvr.RowIndex).ToDecimal) * gvr.DataKey("IVAAnticipo").ToDecimal) 'importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal 'gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal - ((gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / gvr.DataKey("TotalAnticipo" & gvr.RowIndex).ToDecimal) * gvr.DataKey("IVAAnticipo").ToDecimal)
'importeMN = Math.Round(importeMovimiento * tipoCambioPago, 2, MidpointRounding.AwayFromZero) 'importeMN = Math.Round(importeMovimiento * tipoCambioPago, 2, MidpointRounding.AwayFromZero)
@@ -16104,10 +16115,6 @@ Partial Class Ventas
ErrorConta = True ErrorConta = True
End If End If
If Not ErrorConta AndAlso SimplificaPrePoliza AndAlso Not ObjConta.PrePolizaSimplificacion(CvePrePoliza, UsuarioActual.CveEmpresa) Then
Alert("No se pudo simplificar los movimientos", TipoMensaje.MsgError)
End If
If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 3) Then If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 3) Then
If ObjConta.ValorPolizaDescuadre > 0 Then If ObjConta.ValorPolizaDescuadre > 0 Then
GuardaLogAD($"Ventas/Ventas-Anticipos | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") GuardaLogAD($"Ventas/Ventas-Anticipos | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
@@ -18851,6 +18858,7 @@ Partial Class Ventas
TmpDT.Columns.Add("NumTurnos", GetType(Decimal)) TmpDT.Columns.Add("NumTurnos", GetType(Decimal))
TmpDT.Columns("NumTurnos").DefaultValue = 0 TmpDT.Columns("NumTurnos").DefaultValue = 0
TmpDT.Columns.Add("NumeroPedimento", GetType(String))
End Sub End Sub
Private Sub CreaDTmpC() Private Sub CreaDTmpC()
@@ -27499,7 +27507,7 @@ Partial Class Ventas
If AplicarRNC Then If AplicarRNC Then
TmpDTRNCBonificacionesSeleccionadas.Rows.Add(RowBonificacion.ItemArray) TmpDTRNCBonificacionesSeleccionadas.Rows.Add(RowBonificacion.ItemArray)
Else Else
For Each RowEliminar In Me.TmpDTRNCBonificacionesSeleccionadas.Select(SbFiltro.ToString()) For Each RowEliminar As DataRow In Me.TmpDTRNCBonificacionesSeleccionadas.Select(SbFiltro.ToString())
RowEliminar.Delete() RowEliminar.Delete()
Next Next
End If End If
@@ -27825,13 +27833,13 @@ Partial Class Ventas
If Not AplicaNuevoDocumento Then If Not AplicaNuevoDocumento Then
If AplicaNCMasiva Then If AplicaNCMasiva Then
If NCDescuento Then If NCDescuento Then
For Each RNC In ListaNCDesc For Each RNC As Modelos.Factura In ListaNCDesc
DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero()), True, MissingSchemaAction.Ignore) DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero()), True, MissingSchemaAction.Ignore)
Next Next
'SI HAY RNC DE BONIFICACION SE AGREGAN 'SI HAY RNC DE BONIFICACION SE AGREGAN
If ListaNCBonificacion IsNot Nothing AndAlso ListaNCBonificacion.Count > 0 Then If ListaNCBonificacion IsNot Nothing AndAlso ListaNCBonificacion.Count > 0 Then
For Each RNC In ListaNCBonificacion For Each RNC As Modelos.Factura In ListaNCBonificacion
DtImpuestosBonificacion.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero()), True, MissingSchemaAction.Ignore) DtImpuestosBonificacion.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero()), True, MissingSchemaAction.Ignore)
Next Next
End If End If
@@ -27874,13 +27882,13 @@ Partial Class Ventas
End If End If
Else Else
If ListaRemisionesNC IsNot Nothing Then If ListaRemisionesNC IsNot Nothing Then
For Each RNC In ListaRemisionesNC For Each RNC As Modelos.Factura In ListaRemisionesNC
DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero(), AplicaNCUsado:=(UsuarioActual.CveEmpresa = 140)), True, MissingSchemaAction.Ignore) DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero(), AplicaNCUsado:=(UsuarioActual.CveEmpresa = 140)), True, MissingSchemaAction.Ignore)
Next Next
End If End If
If ListaNCBonificacion IsNot Nothing Then If ListaNCBonificacion IsNot Nothing Then
For Each RNC In ListaNCBonificacion For Each RNC As Modelos.Factura In ListaNCBonificacion
DtImpuestosBonificacion.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero(), AplicaNCUsado:=(UsuarioActual.CveEmpresa = 140)), True, MissingSchemaAction.Ignore) DtImpuestosBonificacion.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero(), AplicaNCUsado:=(UsuarioActual.CveEmpresa = 140)), True, MissingSchemaAction.Ignore)
Next Next
End If End If
@@ -33250,11 +33258,7 @@ Partial Class Ventas
GvPS.DataSource = TmpDT GvPS.DataSource = TmpDT
GvPS.DataBind() GvPS.DataBind()
End If End If
End If End If
UpPS.Update() UpPS.Update()
@@ -35072,7 +35076,7 @@ Partial Class Ventas
End If End If
Dim CveSubProyecto As Integer = DdlSubProyectoDatos.SelectedValue.ToEntero() Dim CveSubProyecto As Integer = DdlSubProyectoDatos.SelectedValue.ToEntero()
Dim CveProyecto = GlobalDTSubProyectos(-1, CveSubProyecto:=CveSubProyecto, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveProyecto", "").ToEntero() Dim CveProyecto As Integer = GlobalDTSubProyectos(-1, CveSubProyecto:=CveSubProyecto, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveProyecto", "").ToEntero()
Dim Proyecto As String = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, CveProyecto, UsuarioActual.CveEmpresa, -1).FiltroPrimeroValor("Proyecto", "").ToString() Dim Proyecto As String = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, CveProyecto, UsuarioActual.CveEmpresa, -1).FiltroPrimeroValor("Proyecto", "").ToString()