diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index 85a36307a..34e86a88a 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -2008,7 +2008,7 @@ Public Class ClsInventarios Return Retorno End Function - Public Function RepNotasSinAlmacen(Opcion As Integer, CveClienteProveedor As Integer, FechaIni As Date, FechaFin As Date, TipoDocumento As String, CveSubProyecto As Integer, CveEmpresa As Integer) As Boolean + Public Function RepNotasSinAlmacen(Opcion As Integer, CveClienteProveedor As Integer, FechaIni As Date, FechaFin As Date, TipoDocumento As String, CveSubProyecto As Integer, CveEmpresa As Integer, CveUsuario As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Inv_RepNotasSinAlmacen") @@ -2021,6 +2021,7 @@ Public Class ClsInventarios .Add("@Opcion", SqlDbType.Int).Value = Opcion .Add("@TipoDocumento", SqlDbType.VarChar).Value = TipoDocumento .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario End With Try diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 80ac46373..b9250d79c 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -3943,12 +3943,13 @@ Namespace Modelos CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then ErrorPrepoliza = True End If + End If End If 'SI ES PAGO CON DEVOLUCION - If ObjFactura.CveTipoAmortizacionAnticipo = 4 Then + If Not ErrorPrepoliza AndAlso ObjFactura.CveTipoAmortizacionAnticipo = 4 Then If row2("CveConceptoContable").ToString().ToEntero = 277 Then importeMovimiento = row2("Importe").ToString().ToDecimal() @@ -3972,10 +3973,15 @@ Namespace Modelos End If End If + If ErrorPrepoliza Then + Exit For + End If + Next End If - If sumaAmorticaciones <> 0 Then + + If Not ErrorPrepoliza AndAlso sumaAmorticaciones <> 0 Then If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, sumaAmorticaciones, sumaAmorticaciones * tipoCambio, 251, Referencia, Concepto, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then diff --git a/Bancos/Devoluciones.aspx b/Bancos/Devoluciones.aspx index d63c1c52f..512e5d298 100644 --- a/Bancos/Devoluciones.aspx +++ b/Bancos/Devoluciones.aspx @@ -160,7 +160,7 @@
- +
diff --git a/Bancos/Devoluciones.aspx.cs b/Bancos/Devoluciones.aspx.cs index bc166e690..67049b026 100644 --- a/Bancos/Devoluciones.aspx.cs +++ b/Bancos/Devoluciones.aspx.cs @@ -24,6 +24,7 @@ public partial class Bancos_Devoluciones : ClsPaginas TxtComisiones.Attributes.Add("disabled", "disabled"); TxtTotal.Attributes.Add("disabled", "disabled"); TipoDevolucion.SelectedValue = "1"; + CargarCentrosDeCosto(null, null, null, LblSubProyecto); } } diff --git a/Bancos/PagoAcreedor.aspx b/Bancos/PagoAcreedor.aspx index 56deee488..eeca92ae5 100644 --- a/Bancos/PagoAcreedor.aspx +++ b/Bancos/PagoAcreedor.aspx @@ -101,8 +101,7 @@
- - +
@@ -249,8 +248,8 @@
-
-
SubProyecto +
+
diff --git a/Bancos/PagoAcreedor.aspx.cs b/Bancos/PagoAcreedor.aspx.cs index de1d871ad..2605d9662 100644 --- a/Bancos/PagoAcreedor.aspx.cs +++ b/Bancos/PagoAcreedor.aspx.cs @@ -50,6 +50,8 @@ public partial class Bancos_PagoAcreedor : ClsPaginas txtFechaI.Text = NowADS().FirstDayOfMonth().ToShortDateString(); txtFechaF.Text = NowADS().ToShortDateString(); TxtImporte.Attributes.Add("disabled", "disabled"); + CargarCentrosDeCosto(null, null, null, LblSubProyecto); + LblSubProyecto2.Text = LblSubProyecto.Text; } } diff --git a/Bancos/PagoDeudor.aspx b/Bancos/PagoDeudor.aspx index 6e9e0970b..09e008c7e 100644 --- a/Bancos/PagoDeudor.aspx +++ b/Bancos/PagoDeudor.aspx @@ -121,8 +121,8 @@
-
- +
+
@@ -304,8 +304,8 @@
-
- +
+
diff --git a/Bancos/PagoDeudor.aspx.cs b/Bancos/PagoDeudor.aspx.cs index 46a3b1198..e2af4114e 100644 --- a/Bancos/PagoDeudor.aspx.cs +++ b/Bancos/PagoDeudor.aspx.cs @@ -54,6 +54,8 @@ public partial class Bancos_PagoDeudor : ClsPaginas TxtTCDolaresPrestamo.Text = get_GlobalTipoCambio(TxtFechaPrestamo.Text.ToDateTime()).FormatoNumero(4); TxtTCDolaresPago.Text = get_GlobalTipoCambio(TxtFechaDocumento.Text.ToDateTime()).FormatoNumero(4); TxtImporte.Attributes.Add("disabled", "disabled"); + CargarCentrosDeCosto(null, null, null, LblSubProyecto); + LblSubProyecto2.Text = LblSubProyecto.Text; } } diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx index 0f27f7a23..b105b0f5c 100644 --- a/Compras/Compras.aspx +++ b/Compras/Compras.aspx @@ -4576,7 +4576,9 @@ <%-- --%> - +
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 43dd8ba46..6e9e486a6 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -1406,6 +1406,9 @@ Partial Class Compras_Compras End If + + CargarCentrosDeCosto(Nothing, Nothing, Nothing, LblSubProyecto) + 'Carga Proveedor If Request("CveProveedor") IsNot Nothing AndAlso IsNumeric(Request("CveProveedor")) AndAlso Request("CveProveedor").ToEntero > 0 Then ViewState("CveProveedor") = Request("CveProveedor") @@ -1502,6 +1505,9 @@ Partial Class Compras_Compras DVModalAnticipoFechaEjecucion.Visible = True HlEvento.Visible = True HlEvento.NavigateUrl = "/OI/PopUpAgenda.aspx?CveTipoEvento=2&CveCompra=" & CveCompra & "&TB_iframe=true&height=370&width=600;" + If UsuarioActual.CveEmpresa = 189 Then + BtnCancelarCompra.Visible = False + End If Else ViewState("CveProveedor") = -1 diff --git a/General/SaldosIniciales.aspx.vb b/General/SaldosIniciales.aspx.vb index c44dd0399..fdfba80f9 100644 --- a/General/SaldosIniciales.aspx.vb +++ b/General/SaldosIniciales.aspx.vb @@ -2727,7 +2727,8 @@ Partial Class General_SaldosIniciales If Not ErrorVentas Then If Not ObjVentas.AddVentaDetalle(CveVenta, CvePS, CantidadDetalle, CveUnidadMedida, PuDetalle, IVADetalle, TotalDetalles, "Saldo Inicial", 0, 0, Sucursal.ToEntero(), 0, - PorcentajeIVA:=PorcentajeIVA, PorcentajeRetIVA:=PorcentajeRetIVA, ImporteRetIVA:=0, IEPS:=IEPSDetalle, PorcentajeRetISR:=0, PorcentajeIEPS:=PorcentajeIEPSDetalle) Then + PorcentajeIVA:=PorcentajeIVA, PorcentajeRetIVA:=PorcentajeRetIVA, ImporteRetIVA:=0, IEPS:=IEPSDetalle, PorcentajeRetISR:=0, PorcentajeIEPS:=PorcentajeIEPSDetalle, + EstatusAlmacen:=2) Then ErrorVentas = True Exit For End If diff --git a/Inventarios/Kardex.aspx b/Inventarios/Kardex.aspx index e57cb50bc..33d5bf72d 100644 --- a/Inventarios/Kardex.aspx +++ b/Inventarios/Kardex.aspx @@ -172,7 +172,8 @@
Producto:
- +
@@ -416,12 +417,26 @@ - -
- " style="display: inline-block; margin-right: -20px; width: 150px;" /> - " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> +
+
+ + + + + + +
+
+
+ " style="display: inline-block; margin-right: -20px; width: 150px;" /> + " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> +
+
+ + + 0 Then Dim DtTemp = CargarKardex(CvePS) @@ -286,6 +288,20 @@ Partial Class Inventarios_Kardex GvM.DataBind() UpAcciones.Update() End If + + + + + If CvePS > 0 Then + Dim NumeroParte As String = GlobalDTPS(UsuarioActual.CveEmpresa, ddlProducto2.SelectedValue.ToEntero).FiltroPrimeroValor("NumeroParte") + If NumeroParte.Trim.Length > 0 Then + LblNumeroParte.Text = $" Número de Parte: {NumeroParte}" + LblNumeroParte.Visible = True + End If + End If + + UpNumeroParte.Update() + Else Alert("Seleccione un producto.", TipoMensaje.MsgAdvertencia) End If @@ -809,11 +825,14 @@ Partial Class Inventarios_Kardex Protected Sub ddlProducto2_selectedindexchange(sender As Object, e As EventArgs) + LnkKPIVerComportamiento.Visible = False If ddlProducto2.SelectedValue.ToEntero > 0 And UsuarioActual.CveRol = 1 Then LnkKPIVerComportamiento.Visible = True End If UpAcciones.Update() + + End Sub End Class diff --git a/Inventarios/KardexAlmacenHorizontal.aspx b/Inventarios/KardexAlmacenHorizontal.aspx index a791a8f1d..64acb2d20 100644 --- a/Inventarios/KardexAlmacenHorizontal.aspx +++ b/Inventarios/KardexAlmacenHorizontal.aspx @@ -257,33 +257,36 @@
- - - - Código - - -
- -
-
- -
- - - Producto - - -
- -
-
- -
-
- -
+ DataKeyNames="CvePS" + CssClass="ADSCROLLER2 table table-striped table-advance table-hover " data-cols="2" data-heightmenos="300" GridLines="None"> + + + + Código + + +
+ +
+
+ +
+ + + + Producto + + +
+ +
+
+ +
+ +
+ +
diff --git a/Inventarios/KardexAlmacenHorizontal.aspx.vb b/Inventarios/KardexAlmacenHorizontal.aspx.vb index 7547ddfe2..90f797949 100644 --- a/Inventarios/KardexAlmacenHorizontal.aspx.vb +++ b/Inventarios/KardexAlmacenHorizontal.aspx.vb @@ -4,6 +4,7 @@ Imports ADSNetLibrary.SIGAPI.Models.CGame Imports Extensiones Imports GemBox.Spreadsheet Imports Microsoft.Reporting.WebForms +Imports Telerik.Web.UI Partial Class Inventarios_KardexAlmacenHorizontal Inherits ClsPaginas @@ -144,7 +145,7 @@ Partial Class Inventarios_KardexAlmacenHorizontal End Sub Private Sub CargarKardex(CvePS As Integer) - Dim dt As DataTable = Nothing + Dim dt As New DataTable Dim ObjMovimientos As New ClsInventarios Dim FechaI As String = "-1" ' If(TxtFechaI.Text <> "" AndAlso TxtFechaI.Text <> "__/__/____", TxtFechaI.Text, "-1") ' Dim FechaF As String = If(TxtFechaF.Text <> "" AndAlso TxtFechaF.Text <> "__/__/____", TxtFechaF.Text, "-1") @@ -163,9 +164,10 @@ Partial Class Inventarios_KardexAlmacenHorizontal If ObjMovimientos.DtResultados IsNot Nothing AndAlso ObjMovimientos.DtResultados.Rows.Count > 0 Then dt = ObjMovimientos.DtResultados Dim ListaBorrar As New List(Of DataColumn) - If Not TienePermisoImportes Then - dt.Columns.RemoveAt(dt.Columns.Count - 1) 'CP-quito columna de importe total - dt.Columns.RemoveAt(dt.Columns.Count - 1) 'Valor-quito columna de importe total + + If Not TienePermisoImportes AndAlso DdlExistencia.SelectedValue.ToEntero = 2 Then + dt.Columns.RemoveAt(dt.Columns.Count - 2) 'CP-quito columna de importe total + dt.Columns.RemoveAt(dt.Columns.Count - 2) 'Valor-quito columna de importe total End If For index As Integer = 3 To dt.Columns.Count - 1 Dim TotColumna As Double = 0 @@ -195,8 +197,23 @@ Partial Class Inventarios_KardexAlmacenHorizontal End If GvDatos.DataBind() - For index = 4 To GvDatos.Rows(0).Cells.Count - 1 - GvDatos.HeaderRow.Cells(index).Text = GvDatos.HeaderRow.Cells(index).Text.Split("|"c)(0) + For index = 0 To GvDatos.Rows(0).Cells.Count - 1 + + + If GvDatos.HeaderRow.Cells(index).Text = "CvePS" Then + GvDatos.HeaderRow.Cells(index).Text = "" + End If + + If GvDatos.HeaderRow.Cells(index).Text = "PS" Then + GvDatos.HeaderRow.Cells(index).Text = "Producto" + GvDatos.HeaderRow.Cells(index).Width = 300 + End If + + If index >= 2 Then + GvDatos.HeaderRow.Cells(index).Text = GvDatos.HeaderRow.Cells(index).Text.Split("|"c)(0) + End If + + Next End Sub @@ -242,13 +259,26 @@ Partial Class Inventarios_KardexAlmacenHorizontal Cells.Text = Cells.Text.FormatoNumero(2) 'ElseIf ce.ContainingField.HeaderText = "Total" Then ' Cells.Text = Cells.Text.FormatoNumero(2) + ElseIf ce.ContainingField.HeaderText = "Codigo" Then + + ElseIf ce.ContainingField.HeaderText = "PS" Then + Cells.Width = 300 + ElseIf ce.ContainingField.HeaderText = "CvePS" Then + Cells.Text = "" + Cells.Width = 1 + ElseIf ce.ContainingField.HeaderText = "Total" Then + Cells.Text = String.Format("{0:#,###.##}", Cells.Text.ToDecimal) Else Cells.Text = String.Format("{0:#,###.##}", Cells.Text.ToDecimal) + If Not e.Row.RowIndex = 0 And Ddlgrupo.SelectedValue.ToEntero = 1 Then + Dim Liga2 As String = String.Format($"/Inventarios/Kardex.aspx?CvePS={e.Row.DataKey("CvePS")}&CveAlmacen={CveAlmacen2}&CveUM={DdlUnidadMedida.SelectedValue.ToEntero}&FechaI={txtFechaI.Text}&FechaF={TxtFechaF.Text}") + Cells.Text = String.Format("{0}", Celda.FormatoNumero(), Liga2) + End If + End If End If e.Row.Cells(e.Row.Cells.GetCellIndex(Cells)).Width = Unit.Pixel(80) - 'Dim Liga2 As String = String.Format($"/Inventarios/Kardex.aspx?CvePS={ddlProducto2.SelectedValue.ToEntero}&CveAlmacen={CveAlmacen2}&CveUM={DdlUnidadMedida.SelectedValue.ToEntero}&FechaI={TxtFechaI.Text}&FechaF={TxtFechaF.Text}") - 'Cells.Text = String.Format("{0}", Celda.FormatoNumero(), Liga2) + End If Index = Index + 1 Next @@ -261,8 +291,20 @@ Partial Class Inventarios_KardexAlmacenHorizontal Private Sub GvDatos_RowCreated(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowCreated 'Escondo CvePS y CveAlmacén (Se generan por autogeneratecolumns por eso se borran por aqui). ' e.Row.Cells(0).Width = New Unit("200px") - e.Row.Cells(2).Visible = False - e.Row.Cells(3).Visible = False + + + If DdlExistencia.SelectedValue.ToEntero = 2 Then + Try + e.Row.Cells(2).Visible = False + e.Row.Cells(3).Visible = False + Catch ex As Exception + + End Try + + Else + e.Row.Cells(0).Visible = False + End If + If e.Row.RowType = DataControlRowType.Header Then 'e.Row.Cells(6).ToolTip = "Costo" End If diff --git a/Inventarios/RepAlmacenCompras.aspx b/Inventarios/RepAlmacenCompras.aspx index f4bf3cd07..47a5849e0 100644 --- a/Inventarios/RepAlmacenCompras.aspx +++ b/Inventarios/RepAlmacenCompras.aspx @@ -33,7 +33,7 @@
    -
  • SubProyecto:
  • +
  • :
  • <%--SubProyecto--%>
  • diff --git a/Inventarios/RepAlmacenCompras.aspx.vb b/Inventarios/RepAlmacenCompras.aspx.vb index 8c14250c5..304edecf6 100644 --- a/Inventarios/RepAlmacenCompras.aspx.vb +++ b/Inventarios/RepAlmacenCompras.aspx.vb @@ -34,6 +34,7 @@ Partial Class Inventarios_RepAlmacenCompras Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load If Not Page.IsPostBack Then + CargarCentrosDeCosto(Nothing, Nothing, Nothing, LblSubProyecto) CargaDatos() CargaPermisos() End If diff --git a/Inventarios/RepNotasSinAlmacen.aspx.vb b/Inventarios/RepNotasSinAlmacen.aspx.vb index e7d5a7c78..ee85d829e 100644 --- a/Inventarios/RepNotasSinAlmacen.aspx.vb +++ b/Inventarios/RepNotasSinAlmacen.aspx.vb @@ -140,7 +140,7 @@ Partial Class RepNotasSinAlmacen CveClienteProveedor = DdlCliente.SelectedValue.ToEntero End If Dim Reporte As New ClsInventarios - If Reporte.RepNotasSinAlmacen(Opcion, CveClienteProveedor, FechaInicial, FechaFinal, TipoDocumento, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.Empresa.CveEmpresa) Then + If Reporte.RepNotasSinAlmacen(Opcion, CveClienteProveedor, FechaInicial, FechaFinal, TipoDocumento, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.Empresa.CveEmpresa, UsuarioActual.CveUsuario) Then Dim dtt As DataTable = Reporte.DtResultados GvVentas.DataSource = Reporte.DtResultados @@ -159,7 +159,7 @@ Partial Class RepNotasSinAlmacen CveClienteProveedor = DdlProveedor.SelectedValue.ToEntero End If Dim Reporte As New ClsInventarios - If Reporte.RepNotasSinAlmacen(2, CveClienteProveedor, FechaInicial, FechaFinal, DdlTipoDocto2.SelectedValue, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.Empresa.CveEmpresa) Then + If Reporte.RepNotasSinAlmacen(2, CveClienteProveedor, FechaInicial, FechaFinal, DdlTipoDocto2.SelectedValue, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.Empresa.CveEmpresa, UsuarioActual.CveUsuario) Then GvCompras.DataSource = Reporte.DtResultados DtNotasSinAlmacenCompras = Reporte.DtResultados Else diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb index 4485b59c0..4b1cda15a 100644 --- a/OC/OC.aspx.vb +++ b/OC/OC.aspx.vb @@ -3527,9 +3527,14 @@ Partial Class OC_OC 'Alert(String.Format("La {0} se guardó correctamente", TipoLargo), TipoMensaje.MsgInformacion) 'Edicion + Dim ImprimirOC As String = "" + Dim Msg As New StringBuilder + ImprimirOC = String.Format("
    Imprimir Orden de Compra ", Encripta(String.Format("OP=OC&CVEOC={0}", CveOrdenCompra))) + + Dim Liga1 As String = $"document.location.href=""/OC/OC.aspx?Tipo={TipoOC}""" Dim Liga2 As String = $"document.location.href=""/OC/RepOC.aspx""" - Alert(String.Format("La {0} se guardó correctamente", TipoLargo), TipoMensaje.MsgDosBotones, Liga1, TextoConfirmacion:="Seguir Registrando", TextoSegundoBoton:="Ir al Reporte", JSBtn2:=Liga2) + Alert(String.Format("La {0} se guardó correctamente. {1}", TipoLargo, ImprimirOC), TipoMensaje.MsgDosBotones, Liga1, TextoConfirmacion:="Seguir Registrando", TextoSegundoBoton:="Ir al Reporte", JSBtn2:=Liga2) Else Dim ImprimirOC As String = "" @@ -3562,6 +3567,7 @@ Partial Class OC_OC If Conta IsNot Nothing Then Conta.RollBack() Alert(MsgError, TipoMensaje.MsgError) End If + End If diff --git a/Ventas/Clientes.aspx b/Ventas/Clientes.aspx index 18ac81268..f18c8db96 100644 --- a/Ventas/Clientes.aspx +++ b/Ventas/Clientes.aspx @@ -5659,6 +5659,7 @@ + diff --git a/Ventas/PVCobranza.aspx.vb b/Ventas/PVCobranza.aspx.vb index 85557279f..6f7ec4a57 100644 --- a/Ventas/PVCobranza.aspx.vb +++ b/Ventas/PVCobranza.aspx.vb @@ -796,19 +796,22 @@ Partial Class Ventas_PVCobranza Dim DebeTimbrar As Boolean = True + Dim SeTimbro As Boolean = False + Dim SeTimbroNC As Boolean = False + 'SI SE GENERO FACTURA DE INGRESO, TIMBRARLA DESPUES DE REALIZAR EL PAGO If DebeTimbrar AndAlso respFactura IsNot Nothing Then 'VERIFICA SI SE GENERO NC If respNC IsNot Nothing Then AjustarTimbre(respFactura.Factura, respNC.Factura) - MsgTimbrado = TimbrarFactura(respFactura.Factura, respNC.Factura) + MsgTimbrado = TimbrarFactura(respFactura.Factura, respNC.Factura, SeTimbro, SeTimbroNC) Else AjustarTimbre(respFactura.Factura, Nothing) - MsgTimbrado = TimbrarFactura(respFactura.Factura, Nothing) + MsgTimbrado = TimbrarFactura(respFactura.Factura, Nothing, SeTimbro, SeTimbroNC) End If If Not String.IsNullOrEmpty(MsgTimbrado) Then - Dim StrEr As String = $"
    Comprobante no emitido : {MsgTimbrado}
    Por favor inténtelo de nuevo a través del botón 'Emitir' en ventas.
    " + Dim StrEr As String = $"
    Comprobante no emitido :
    {MsgTimbrado}
    Por favor inténtelo de nuevo a través del botón 'Emitir' en ventas.
    " MsgTimbrado = StrEr End If @@ -816,27 +819,41 @@ Partial Class Ventas_PVCobranza If respFactura IsNot Nothing Then If RegistrarPago Then - msBuild.Append($"Pago Registrado correctamente.") + msBuild.Append("Pago Registrado correctamente.

    ") End If - For Each m In respFactura.Mensajes - msBuild.AppendFormat("
    {0}", m) - Next + msBuild.AppendFormat(" La factura {1} se genero correctamente.
    ", respFactura.CveVenta, respFactura.SerieFolio) + + If SeTimbro Then + Dim xml = String.Format("", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", respFactura.CveVenta, "XML", respFactura.SerieFolio, respFactura.Factura.TipoDocto))) + msBuild.AppendFormat("{0}", xml) + End If + + Dim pdf = String.Format("", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1", respFactura.CveVenta))) + msBuild.AppendFormat("{0}", pdf) + + If respFactura.Factura.Inv_CveMovimiento > 0 Then + msBuild.AppendFormat("Movimiento de Almacén
    ", respFactura.Factura.Inv_CveMovimiento) + End If If respNC IsNot Nothing Then - For Each m In respNC.Mensajes - msBuild.AppendFormat("
    {0}", m) - Next + msBuild.AppendFormat(" La nota de crédito {1} se genero correctamente.
    ", respNC.CveVenta, respNC.SerieFolio) + If SeTimbroNC Then + Dim xml = String.Format("", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", respNC.CveVenta, "XML", respNC.SerieFolio, respNC.Factura.TipoDocto))) + msBuild.AppendFormat("{0}", xml) + End If + + Dim pdfNC = String.Format("", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1", respNC.CveVenta))) + msBuild.AppendFormat("{0}", pdfNC) End If + If Not String.IsNullOrEmpty(MsgTimbrado) Then + msBuild.AppendFormat("
    {0}
    ", MsgTimbrado) + End If Else msBuild.Append($"Pago Registrado correctamente.

    Imprimir ticket") End If - If Not String.IsNullOrEmpty(MsgTimbrado) Then - msBuild.AppendFormat("
    {0}", MsgTimbrado) - End If - Alert(msBuild.ToString(), TipoMensaje.MsgInformacion) Else ObjVentas2.RollBack() @@ -1256,9 +1273,11 @@ Partial Class Ventas_PVCobranza End Sub - Private Function TimbrarFactura(ByRef ObjFactura As Modelos.Factura, ByRef ObjNC As Modelos.Factura) As String + Private Function TimbrarFactura(ByRef ObjFactura As Modelos.Factura, ByRef ObjNC As Modelos.Factura, ByRef SeTimbro As Boolean, ByRef SeTimbroNC As Boolean) As String Dim MsgErrorTimbrado As String = "" - Dim SeTimbro As Boolean = False + 'Dim SeTimbro As Boolean = False + 'Dim TimbroNC As Boolean = False + Dim ObjTimbrado As New Timbrado Try SeTimbro = ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura) @@ -1272,9 +1291,9 @@ Partial Class Ventas_PVCobranza ObjNC.Timbre.CFDIRelacionados.UUID.Add(FolioFiscalFactura) Dim ObjTimbradoNC As New Timbrado - Dim TimbroNC As Boolean = ObjTimbradoNC.TimbrarFactura(UsuarioActual, ObjNC) + SeTimbroNC = ObjTimbradoNC.TimbrarFactura(UsuarioActual, ObjNC) - If Not TimbroNC Then + If Not SeTimbroNC Then MsgErrorTimbrado = $"{MsgErrorTimbrado} {ObjTimbradoNC.MensajeErrorCFDI}" End If ObjTimbradoNC = Nothing diff --git a/Ventas/Promociones.aspx.vb b/Ventas/Promociones.aspx.vb index 1fa9a6812..84be68fd3 100644 --- a/Ventas/Promociones.aspx.vb +++ b/Ventas/Promociones.aspx.vb @@ -198,7 +198,7 @@ Partial Class Ventas_Promociones ChkEstatus.Enabled = False End If - If (ChkEstatus.Checked = True And Not PermisoAutorizPromocionPorcentaje) Or (ReqAutorizacion And Not PermisoAutorizPromocionPorcentaje) Then + If (ChkEstatus.Checked = False And Not PermisoAutorizPromocionPorcentaje And ReqAutorizacion) Or (ReqAutorizacion And Not PermisoAutorizPromocionPorcentaje) Then BtnGuardar.Visible = False ButBtnEliminar.Visible = False End If diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index bc7c6802e..715278271 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -9157,6 +9157,9 @@ Partial Class Ventas Cantidad = GvPS.Rows(e.RowIndex).FCTextBox("TxtCantidad").Text.ToDecimal PU = (GvPS.Rows(e.RowIndex).FCTextBox("TxtPrecio").Text.ToDecimal).RoundSQL(6) + Dim CantidadOriginal As Decimal = GvPS.Rows(e.RowIndex).DataKey("Cantidad").ToDecimal() + Dim TotalOriginal As Decimal = GvPS.Rows(e.RowIndex).DataKey("Total").ToDecimal() + If Cantidad <= 0 Then Alert("La cantidad debe ser mayor a cero", TipoMensaje.MsgAdvertencia) Exit Sub @@ -9172,8 +9175,62 @@ Partial Class Ventas Exit Sub End If - If UsuarioActual.CveEmpresa = 140 OrElse DtPromociones IsNot Nothing AndAlso DtPromociones.Rows.Count > 0 Then - ObjDescuento = CalcularDescuentos(TmpDT.Rows(e.RowIndex)("CvePS").ToString().ToEntero(), Cantidad, PU) + Dim DdlUM As DropDownList = GvPS.Rows(e.RowIndex).FCDropDownList("DdlUnidadMedida") + Dim DdlCla As DropDownList = GvPS.Rows(e.RowIndex).FCDropDownList("DdlClasificacion") + Dim DdlSP As DropDownList = GvPS.Rows(e.RowIndex).FCDropDownList("DdlSubProyecto") + + Dim DrProducto = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePSNuevo).FiltroPrimero("") + + Dim CveUMPS As Integer = DrProducto("CveUnidadMedida").ToString().ToEntero() + Dim CveClasificacion As Integer = DrProducto("CveClasificacion").ToString().ToEntero() + + DdlUM.SelectedValueExist(CveUMPS) + + Dim RecalcularPromociones As Boolean = False + Dim RegeneraPrecio As Boolean = False + + If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then + RecalcularPromociones = True + End If + + If DtPromociones IsNot Nothing AndAlso DtPromociones.Rows.Count > 0 Then + RecalcularPromociones = True + End If + + If Not GvPS.Rows(e.RowIndex).FCTextBox("TxtPrecio").Enabled Then + If CvePSAnterior <> CvePSNuevo Then + RegeneraPrecio = True + End If + + If Cantidad <> CantidadOriginal Then + RegeneraPrecio = True + End If + + If RegeneraPrecio Then + Dim CvePrecioLista As Integer = -1 + + If UsuarioActual.Empresa.Funcionalidad(109) = "1" OrElse UsuarioActual.Empresa.Funcionalidad(360) = "1" Then + CvePrecioLista = GvPS.Rows(e.RowIndex).FCDropDownList("DdlPrecioListaEdit").SelectedValue.ToEntero() + Else + CvePrecioLista = GvPS.Rows(e.RowIndex).DataKey("CvePrecioLista").ToEntero() + End If + + Dim ObjPrecioSugerido As Modelos.MPrecioSugerido = CalculaPrecioSugerido(CvePSNuevo, CveClasificacion, CvePrecioListaSugerido:=CvePrecioLista) + + If ObjPrecioSugerido IsNot Nothing AndAlso ObjPrecioSugerido.PrecioSugerido > 0 Then + PU = ObjPrecioSugerido.PrecioSugerido + End If + + End If + End If + + If RecalcularPromociones Then + ObjDescuento = CalcularDescuentos(CvePSNuevo, Cantidad, PU) + Dim RegenerarPU As Boolean = False + + If ObjDescuento.EsPUModificado Then + PU = ObjDescuento.PU + End If End If 'SI ESTA HABILITADO LA OPCION DE DESCUENTO, SE AGREGO UN DESCUENTO MANUAL Y NO TIENE PROMOCION @@ -9187,19 +9244,6 @@ Partial Class Ventas Exit Sub End If - Dim DdlUM As DropDownList = GvPS.Rows(e.RowIndex).FCDropDownList("DdlUnidadMedida") - Dim DdlCla As DropDownList = GvPS.Rows(e.RowIndex).FCDropDownList("DdlClasificacion") - Dim DdlSP As DropDownList = GvPS.Rows(e.RowIndex).FCDropDownList("DdlSubProyecto") - - Dim CantidadOriginal As Decimal = GvPS.Rows(e.RowIndex).DataKey("Cantidad").ToDecimal() - Dim TotalOriginal As Decimal = GvPS.Rows(e.RowIndex).DataKey("Total").ToDecimal() - - Dim DrProducto = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePSNuevo).FiltroPrimero("") - - Dim CveUMPS As Integer = DrProducto("CveUnidadMedida").ToString().ToEntero() - - DdlUM.SelectedValueExist(CveUMPS) - If Not ValidaAgregarPS(Cantidad, CvePSNuevo, DdlUM.SelectedValue.ToEntero(), PU, DrProducto("CveTipoPS").ToString().ToEntero(), DdlCla.SelectedValue.ToEntero(), DdlSubProyectoDatos.SelectedValue.ToEntero(), ObjDescuento, CantidadOriginal:=CantidadOriginal) Then Exit Sub End If @@ -9220,9 +9264,9 @@ Partial Class Ventas Dim ConsecutivoActual As Integer = TmpDT.Rows(e.RowIndex)("Consec").ToString().ToEntero() Dim OrdenOriginal As Integer = TmpDT.Rows(e.RowIndex)("Orden").ToString().ToEntero() - If DtPromociones IsNot Nothing AndAlso DtPromociones.Rows.Count > 0 Then - ObjDescuento = CalcularDescuentos(CvePSNuevo, Cantidad, PU) - End If + 'If DtPromociones IsNot Nothing AndAlso DtPromociones.Rows.Count > 0 Then + ' ObjDescuento = CalcularDescuentos(CvePSNuevo, Cantidad, PU) + 'End If Dim NumTurnos As Decimal = 0 If UsuarioActual.CveEmpresa.Contiene(7, 122) Then @@ -18333,7 +18377,7 @@ Partial Class Ventas If EsVentaMedica Then TxtPrecio.Enabled = False - If UsuarioActual.CveUsuario = 3986 OrElse RBLTipoVenta.SelectedValue = "2" Then + If UsuarioActual.CveUsuario = 3986 Or RBLTipoVenta.SelectedValue.ToEntero = 2 Then TxtPrecio.Enabled = True End If @@ -18352,7 +18396,11 @@ Partial Class Ventas End If End If - If UsuarioActual.TienePermisoProceso(68) AndAlso Not drPS("SATClavePS").ToString.Contiene("84111506", "80141610") Then TxtPrecio.Enabled = False + + + Dim PSCodigoSAT As String = drPS("SATClavePS").ToString + + If UsuarioActual.TienePermisoProceso(68) AndAlso Not PSCodigoSAT.Contiene("84111506", "80141610") Then TxtPrecio.Enabled = False If TmpDT IsNot Nothing AndAlso TmpDT.Rows.Count = 0 AndAlso Not ChkEmitirComercioExterior.Checked Then DdlMoneda.SelectedValueExist(drPS("CveMoneda").ToString()) @@ -19644,7 +19692,7 @@ Partial Class Ventas objPS.Dispose() End If - Dim ValidaExistencia As Boolean = (DdlTipoComprobante.SelectedValue <> "Cot" And ChkSinExistencia.Checked = False) OrElse UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 + Dim ValidaExistencia As Boolean = (DdlTipoComprobante.SelectedValue <> "Cot" And ChkSinExistencia.Checked = False) Or UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 If CantidadOriginal > 0 Then 'SI NO HAY CAMBIOS EN LAS CANTIDADES, NO VALIDAR EXISTENCIA @@ -23983,6 +24031,27 @@ Partial Class Ventas TxtAtencionA.Enabled = True + GvPS.Columns(21).Visible = True + thOrden.Visible = True + + If GvPS.Columns(21).Visible Then + For Each GvRow As GridViewRow In GvPS.Rows + If GvRow.RowType = DataControlRowType.Header Then + GvRow.FCLinkButton("LnkOrdenarGvPS").Visible = True + End If + + If GvRow.RowType = DataControlRowType.DataRow Then + GvRow.FCTextBox("TxtOrden").Visible = True + + If GvRow.FCTextBox("TxtOrden").ToEntero() <= 0 Then + GvRow.FCTextBox("TxtOrden").Text = GvRow.DataKey("Consec") + End If + End If + Next + End If + + OrdenarPS(True) + UpCliente.Update() UPPVentas.Update() UpPS.Update() @@ -33157,6 +33226,27 @@ Partial Class Ventas imgCalendario.Visible = False End If + GvPS.Columns(21).Visible = True + thOrden.Visible = True + + If GvPS.Columns(21).Visible Then + For Each GvRow As GridViewRow In GvPS.Rows + If GvRow.RowType = DataControlRowType.Header Then + GvRow.FCLinkButton("LnkOrdenarGvPS").Visible = True + End If + + If GvRow.RowType = DataControlRowType.DataRow Then + GvRow.FCTextBox("TxtOrden").Visible = True + + If GvRow.FCTextBox("TxtOrden").ToEntero() <= 0 Then + GvRow.FCTextBox("TxtOrden").Text = GvRow.DataKey("Consec") + End If + End If + Next + End If + + OrdenarPS(True) + UpPS.Update() UPPDescuento.Update() UPObservaciones.Update()