From 3864d56e72adeab4a9206d393a62ccc5f95e4791 Mon Sep 17 00:00:00 2001 From: janeth arvizu Date: Tue, 12 Nov 2019 09:25:49 -0700 Subject: [PATCH 1/9] Si es empresa llantera que tampoco desactive PU de PS --- Ventas/Ventas.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 55c3dce66..415661031 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -12930,7 +12930,7 @@ Partial Class Ventas If UsuarioActual.Empresa.Funcionalidad(558).ToString = "1" Then 'Si es Empresa llantera TxtPrecio.Enabled = True Else - TxtPrecio.Enabled = False + 'TxtPrecio.Enabled = False End If Else TxtPrecio.Enabled = True From dce632b12bf5546af29d580d66fee9e0636eadaf Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Tue, 12 Nov 2019 13:30:52 -0700 Subject: [PATCH 2/9] Continuando con Ordenes de servicio --- OS/Asignaciones.aspx.vb | 11 +++++++---- OS/OrdenesServicios.aspx.vb | 4 ++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/OS/Asignaciones.aspx.vb b/OS/Asignaciones.aspx.vb index ddec422b5..da544924b 100644 --- a/OS/Asignaciones.aspx.vb +++ b/OS/Asignaciones.aspx.vb @@ -167,10 +167,13 @@ Partial Class OS_Asignaciones End If For Each SubProyecto As DataRow In DtOSSubProyectos.Rows - Dim EstatusDeTipoProcesoMenor As Integer = TecnicosSubProyectos.FiltraParametros(String.Format("SubProyecto = '{0}'", SubProyecto.Item("SubProyecto"))).Rows(0).Item("CveEstatusOrdenServicio").ToString.ToEntero - Dim dtAuxiliar As New DataTable - dtAuxiliar = TecnicosSubProyectos.FiltraParametros(String.Format("SubProyecto = '{0}' AND CveEstatusOrdenServicio = {1}", SubProyecto.Item("SubProyecto"), EstatusDeTipoProcesoMenor), "", {"CveUsuario", "Nombre"}) - TecnicosResultado.Merge(dtAuxiliar) + Dim TecnicosSubProyectoAux As DataTable = TecnicosSubProyectos.FiltraParametros(String.Format("SubProyecto = '{0}'", SubProyecto.Item("SubProyecto"))) + If TecnicosSubProyectoAux.Rows.Count > 0 Then + Dim EstatusDeTipoProcesoMenor As Integer = TecnicosSubProyectoAux.Rows(0).Item("CveEstatusOrdenServicio").ToString.ToEntero + Dim dtAuxiliar As New DataTable + dtAuxiliar = TecnicosSubProyectos.FiltraParametros(String.Format("SubProyecto = '{0}' AND CveEstatusOrdenServicio = {1}", SubProyecto.Item("SubProyecto"), EstatusDeTipoProcesoMenor), "", {"CveUsuario", "Nombre"}) + TecnicosResultado.Merge(dtAuxiliar) + End If Next DtTecnicosSubProyectos = TecnicosResultado DdlTecnico.DataSource = TecnicosResultado diff --git a/OS/OrdenesServicios.aspx.vb b/OS/OrdenesServicios.aspx.vb index 115a6f2cf..d09fef3d4 100644 --- a/OS/OrdenesServicios.aspx.vb +++ b/OS/OrdenesServicios.aspx.vb @@ -1016,13 +1016,13 @@ Partial Class OS_OrdenesServicios MensajeAlert = New StringBuilder Dim Errores As Boolean = False - Dim EstatusOrdenServicio As Integer = DdlEstatusOS.SelectedValue.ToEntero + Dim EstatusOrdenServicio As Integer = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 1").ToEntero Dim DirectorioEmpresa = UsuarioActual.Empresa.Ruta If Not CveOS > 0 Then Dim bandera As Integer = DdlEstatusOS.SelectedValue.ToEntero - If Not ObjOrdenServicio.AddOrdenesServicios(CveCliente, DdlSubProyecto.SelectedValue.ToEntero, TxtSolicito.Text, TxtFechaRecibido.Text.ToDateTime, TxtDescripcion.Text, UsuarioActual.CveUsuario, DdlEstatusOS.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCotizacion, -1, -1, DdlTipoOrdenOS.SelectedValue.ToEntero, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero) Then + If Not ObjOrdenServicio.AddOrdenesServicios(CveCliente, DdlSubProyecto.SelectedValue.ToEntero, TxtSolicito.Text, TxtFechaRecibido.Text.ToDateTime, TxtDescripcion.Text, UsuarioActual.CveUsuario, EstatusOrdenServicio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCotizacion, -1, -1, DdlTipoOrdenOS.SelectedValue.ToEntero, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero) Then Errores = True End If CargaCliente(CveCliente) From d883d914e4f116c81af556c1d0a54f035b03e649 Mon Sep 17 00:00:00 2001 From: Raul Pimienta Date: Tue, 12 Nov 2019 23:16:46 -0700 Subject: [PATCH 3/9] Se podran pagar facturas con egresos x comprobar de diferente moneda --- Compras/Compras.aspx | 51 ++++++++++++++++++++++----- Compras/Compras.aspx.vb | 77 +++++++++++++++++++++++++++++++---------- 2 files changed, 100 insertions(+), 28 deletions(-) diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx index aadfa696e..e5d9d7edc 100644 --- a/Compras/Compras.aspx +++ b/Compras/Compras.aspx @@ -2657,6 +2657,21 @@
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
@@ -5234,18 +5249,29 @@ - function chkAnt(t, txt, importe, TotalSaldo) { + function chkAnt(t, txt, importe, TotalSaldo,CveMonedaAnticipo,TCAnticipo,CveMonedaOriginal) { var Total = ToDouble($get('TxtTotal').value); //TotalSaldo = Total; + var txtvalue = ToDouble(txt.value); + var importevalue = ToDouble(importe); + if (CveMonedaAnticipo = 1 && CveMonedaOriginal == 2) { + txtvalue = ToDouble(txtvalue / TCAnticipo); + importevalue = ToDouble(importevalue / TCAnticipo); + } else if (CveMonedaAnticipo = 2 && CveMonedaOriginal == 1) { + txtvalue = ToDouble(txtvalue * TCAnticipo); + importevalue = ToDouble(importevalue * TCAnticipo); + } //var SaldoCompra = parseFloat(parseFloat($get('HdnCompraSaldo').value).toFixed(2)); - var SaldoCompra = (TotalSaldo - FnSumaValoresAnt() + ToDouble(txt.value)).toFixed(2); // le agrego lo del valor actual para validarlo + var SaldoCompra = (TotalSaldo - FnSumaValoresAnt() + txtvalue).toFixed(2); // le agrego lo del valor actual para validarlo + + if (t.checked) { if (SaldoCompra > 0) { - if (SaldoCompra > importe) { - txt.value = ToDouble(importe).toFixed(2); + if (SaldoCompra > importevalue) { + txt.value = ToDouble(importevalue).toFixed(2); //SaldoCompra = SaldoCompra - importe; //$get('HdnCompraSaldo').value = SaldoCompra; @@ -5273,21 +5299,28 @@ } - function FnCambiaAnt(chk, txt, saldo, TotalSaldo) { + function FnCambiaAnt(chk, txt, saldo, TotalSaldo, CveMonedaAnticipo, TCAnticipo, CveMonedaOriginal) { var Total = ToDouble($get('TxtTotal').value); - var SaldoCompra = (TotalSaldo - FnSumaValoresAnt() + ToDouble(txt.value)).toFixed(2); // le agrego lo del valor actual para validarlo //parseFloat(parseFloat($get('HdnCompraSaldo').value).toFixed(2)); - if (SaldoCompra < 0) txt.value = SaldoCompra - txt.value; + var txtvalue = ToDouble(txt.value); + if (CveMonedaAnticipo = 1 && CveMonedaOriginal == 2) { + txtvalue = ToDouble(txtvalue / TCAnticipo); + } else if (CveMonedaAnticipo = 2 && CveMonedaOriginal == 1) { + txtvalue = ToDouble(txtvalue * TCAnticipo); + } + + var SaldoCompra = (TotalSaldo - FnSumaValoresAnt() + ToDouble(txtvalue)).toFixed(2); // le agrego lo del valor actual para validarlo //parseFloat(parseFloat($get('HdnCompraSaldo').value).toFixed(2)); + if (SaldoCompra < 0) txt.value = SaldoCompra - txtvalue; //minimo entre saldocompra y el saldoanticipo if (SaldoCompra < saldo) saldo = SaldoCompra; - if (ToDouble(txt.value) > 0) { + if (ToDouble(txtvalue) > 0) { chk.checked = true; } else { chk.checked = false; } - if (ToDouble(txt.value) > saldo) { + if (ToDouble(txtvalue) > saldo) { txt.value = saldo; alert("El Importe no debe de exceder a el saldo"); } diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 4472026cd..aec716686 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -3238,8 +3238,10 @@ Partial Class Compras_Compras Private Sub CargaAnticipos(CveProveedor As Integer, Optional FiltroTipo As String = "-1") Dim ObjMovtos As New ClsMovimientos() - If ObjMovtos.GetAnticiposProveedor(CveProveedor, -1, CveMoneda:=DdlMoneda.SelectedValue.ToEntero, SelectTop:=-1, TipoDocto:=FiltroTipo) AndAlso ObjMovtos.DtResultados.Rows.Count > 0 Then - GVAnticipos.DataSource = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act'") + If ObjMovtos.GetAnticiposProveedor(CveProveedor, -1, CveMoneda:=-1, SelectTop:=-1, TipoDocto:=FiltroTipo) AndAlso ObjMovtos.DtResultados.Rows.Count > 0 Then + Dim CveMoneda As Integer = If(ChkPagarConPesos.Checked, 1, If(ChkPagarConDolares.Checked, 2, DdlMoneda.SelectedValue.ToEntero)) + If DdlMoneda.SelectedValue.ToEntero = 1 Then DivPagarConDolares.Visible = True Else DivPagarConPesos.Visible = True + GVAnticipos.DataSource = ObjMovtos.DtResultados.FiltraParametros($"Tipo = 'Act' AND CveMoneda = {CveMoneda}") If ObjMovtos.DtResultados.FiltraParametros("Saldo > 0").Rows.Count > 0 Then BtnAceptarAnticipos.Enabled = True If DdlTipoComprobante.SelectedValue = "Fac" Then ImgAnticiposPendientes.Visible = True @@ -8037,7 +8039,7 @@ Partial Class Compras_Compras If gvr.FCCheckBox("Chk") IsNot Nothing AndAlso gvr.FCCheckBox("Chk").Checked Then CveCompraNC = gvr.DataKey("CveCompra").ToEntero - tipoCambioNC = gvr.DataKey("TCCompra").ToDecimal + tipoCambioNC = If(ChkPagarConPesos.Checked, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal, gvr.DataKey("TCCompra").ToDecimal) sumaAmortizacion = 0 If CvePrePolizaNueva > 0 Then @@ -8064,7 +8066,13 @@ Partial Class Compras_Compras ImporteMovimiento = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal importeMN = ImporteMovimiento * tipoCambioNC sumaAmortizacion += ImporteMovimiento - sumaAmortizacionCompleto += ImporteMovimiento + sumaAmortizacionCompleto += ImporteMovimiento + + If ChkPagarConPesos.Checked Then + ImporteMovimiento = ImporteMovimiento * GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal + ElseIf ChkPagarConDolares.Checked Then + ImporteMovimiento = ImporteMovimiento / gvr.DataKey("TCCompra").ToDecimal + End If If DdlMoneda.SelectedValue.ToEntero <> 1 Then IdCtaContable = CtaProveedorAnticiposExtranjera @@ -8101,7 +8109,13 @@ Partial Class Compras_Compras ImporteMovimiento = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal importeMN = ImporteMovimiento * tipoCambioNC sumaAmortizacion += ImporteMovimiento - sumaAmortizacionCompleto += ImporteMovimiento + sumaAmortizacionCompleto += ImporteMovimiento + + If ChkPagarConPesos.Checked Then + ImporteMovimiento = ImporteMovimiento * GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal + ElseIf ChkPagarConDolares.Checked Then + ImporteMovimiento = ImporteMovimiento / gvr.DataKey("TCCompra").ToDecimal + End If If DdlMoneda.SelectedValue.ToEntero <> 1 And UsuarioActual.CveEmpresa.Contiene(119) Then IdCtaContable = CtaProveedorExtranjera @@ -8138,15 +8152,24 @@ Partial Class Compras_Compras sumaAmortizacion += ImporteMovimiento sumaAmortizacionCompleto += ImporteMovimiento IdCtaContable = CtaProveedorAnticipos - CveCuenta = CveCuentaProveedorAnticipos - If ImporteMovimiento <> 0 Then - PorcentajePago = ImporteMovimiento / TxtTotal.Text.ToDecimal + CveCuenta = CveCuentaProveedorAnticipos + + PorcentajePago = ImporteMovimiento / TxtTotal.Text.ToDecimal + + If ChkPagarConPesos.Checked Then + ImporteMovimiento = ImporteMovimiento * GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal + ElseIf ChkPagarConDolares.Checked Then + ImporteMovimiento = ImporteMovimiento / gvr.DataKey("TCCompra").ToDecimal + End If + + If ImporteMovimiento <> 0 Then + + Dim TipoCambioAnt = gvr.DataKey("TCCompra").ToDecimal - Dim TipoCambioAnt = gvr.DataKey("TCCompra").ToDecimal Dim usacomplementariaAnticipo As Boolean = False - usacomplementariaAnticipo = If(TipoCambioAnt > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119), True, False) - - + usacomplementariaAnticipo = If(TipoCambioAnt > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119), True, False) + + Dim ImporteAnt As Decimal = ImporteMovimiento Dim ImporteAntMN As Decimal = ImporteAnt * TipoCambioAnt If usacomplementariaAnticipo Then @@ -8166,7 +8189,9 @@ Partial Class Compras_Compras If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaNueva, TipoMovimiento, ImporteAnt, "", ConceptoContable, ConceptoPartida, Fecha, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveIE:=CveIE, ImporteMX:=ImporteAntMN, CvePrePolizaOriginal:=CvePrePolizaNueva, ImporteME:=If(tipoCambio = 1, 0, ImporteAnt), CveCompraAmortizacion:=CveCompraNC, CveCuenta:=CveCuenta) Then ErrorMovtosCxP = 1 - End If + End If + + TipoCambioAnt = If(ChkPagarConPesos.Checked, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal, gvr.DataKey("TCCompra").ToDecimal) If tipoCambio <> TipoCambioAnt Then Dim importeFluctuacion = (ImporteAnt * tipoCambio) - (ImporteAnt * TipoCambioAnt) @@ -8565,8 +8590,9 @@ Partial Class Compras_Compras If DdlMoneda.SelectedValue.ToEntero <> 1 Or gvr.DataKey("CveMoneda").ToEntero <> 1 Then IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria CveCuenta = UsuarioActual.Empresa.CveCuentaGananciaCambiaria - If TipoCambioCompra > tipoCambioNC Then - ImporteMovimiento = (sumaAmortizacion * TipoCambioCompra) - (sumaAmortizacion * tipoCambioNC) + Dim TipoCambioDiferenciaCambiaria = If(ChkPagarConPesos.Checked, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal, tipoCambioNC) + If TipoCambioCompra > TipoCambioDiferenciaCambiaria Then + ImporteMovimiento = (sumaAmortizacion * TipoCambioCompra) - (sumaAmortizacion * TipoCambioDiferenciaCambiaria) ImporteMovimiento = ImporteMovimiento.RoundSQL() importeMN = ImporteMovimiento End If @@ -8586,8 +8612,9 @@ Partial Class Compras_Compras If DdlMoneda.SelectedValue.ToEntero <> 1 Or gvr.DataKey("CveMoneda").ToEntero <> 1 Then IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria - If tipoCambioNC > TipoCambioCompra Then - ImporteMovimiento = (sumaAmortizacion * tipoCambioNC) - (sumaAmortizacion * TipoCambioCompra) + Dim TipoCambioDiferenciaCambiaria = If(ChkPagarConPesos.Checked, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal, tipoCambioNC) + If TipoCambioDiferenciaCambiaria > TipoCambioCompra Then + ImporteMovimiento = (sumaAmortizacion * TipoCambioDiferenciaCambiaria) - (sumaAmortizacion * TipoCambioCompra) ImporteMovimiento = ImporteMovimiento.RoundSQL() importeMN = ImporteMovimiento End If @@ -10064,8 +10091,8 @@ Partial Class Compras_Compras If e.Row.DBCampo("Saldo").ToDouble < 0 Then e.Row.Cells(3).ForeColor = Drawing.Color.Red If e.Row.DBCampo("Saldo").ToDouble = 0 Then e.Row.FCLiteral("LtlAnticipos").Text = "" - e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("chkAnt(this,{0},{1},{2});", e.Row.FCTextBox("TxtAnticipo").ClientID, e.Row.DBCampo("Saldo"), If(CveCompra > 0, Saldo, If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, TmpDT.SUMD("ImporteConImpuestos"), TxtTotal.Text.ToDouble)))) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO - e.Row.FCTextBox("TxtAnticipo").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},this,{1},{2});", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"), If(CveCompra > 0, Saldo, If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, TmpDT.SUMD("ImporteConImpuestos"), TxtTotal.Text.ToDouble)))) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO + e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("chkAnt(this,{0},{1},{2});", e.Row.FCTextBox("TxtAnticipo").ClientID, e.Row.DBCampo("Saldo"), If(CveCompra > 0, Saldo, If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, TmpDT.SUMD("ImporteConImpuestos"), TxtTotal.Text.ToDouble)), e.Row.DBCampo("CveMoneda").ToEntero, If(Not e.Row.DBCampo("TCCompra").ToDouble > 1, GlobalTipoCambio(e.Row.DBCampo("Fecha").ToDate), e.Row.DBCampo("TCCompra").ToDouble), DdlMoneda.SelectedValue.ToEntero)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO + e.Row.FCTextBox("TxtAnticipo").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},this,{1},{2});", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"), If(CveCompra > 0, Saldo, If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, TmpDT.SUMD("ImporteConImpuestos"), TxtTotal.Text.ToDouble)), e.Row.DBCampo("CveMoneda").ToEntero, If(Not e.Row.DBCampo("TCCompra").ToDouble > 1, GlobalTipoCambio(e.Row.DBCampo("Fecha").ToDate), e.Row.DBCampo("TCCompra").ToDouble), DdlMoneda.SelectedValue.ToEntero)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO If ChkNCInv.Checked Then e.Row.FCCheckBox("Chk").CssClass = "ChkAntNC" @@ -19017,4 +19044,16 @@ Partial Class Compras_Compras End If End If End Sub + +#Region "PAGAR CON DIFERENTE MONEDA" + Protected Sub ChkPagarConPesos_CheckedChanged(sender As Object, e As EventArgs) + CargaAnticipos(CveProveedor) + UpAnticipos.Update() + End Sub + Protected Sub ChkPagarConDolares_CheckedChanged(sender As Object, e As EventArgs) + CargaAnticipos(CveProveedor) + UpAnticipos.Update() + End Sub +#End Region + End Class \ No newline at end of file From e77befb76f38bb451464e14a1d3b619ddecfaae0 Mon Sep 17 00:00:00 2001 From: Raul Pimienta Date: Tue, 12 Nov 2019 23:55:33 -0700 Subject: [PATCH 4/9] Se podran pagar facturas con egresos x comprobar de diferente moneda --- Compras/Compras.aspx.vb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index aec716686..92da3a058 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -8191,10 +8191,14 @@ Partial Class Compras_Compras ErrorMovtosCxP = 1 End If - TipoCambioAnt = If(ChkPagarConPesos.Checked, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal, gvr.DataKey("TCCompra").ToDecimal) + If ChkPagarConPesos.Checked Or ChkPagarConDolares.Checked Then + ImporteAnt = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal + TipoCambioAnt = If(ChkPagarConPesos.Checked, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal, gvr.DataKey("TCCompra").ToDecimal) + End If - If tipoCambio <> TipoCambioAnt Then - Dim importeFluctuacion = (ImporteAnt * tipoCambio) - (ImporteAnt * TipoCambioAnt) + Dim TipoCambioDiferencia = If(ChkPagarConDolares.Checked, GlobalTipoCambio(Fecha), tipoCambio).ToDecimal + If TipoCambioDiferencia <> TipoCambioAnt Then + Dim importeFluctuacion = (ImporteAnt * TipoCambioDiferencia) - (ImporteAnt * TipoCambioAnt) If importeFluctuacion > 0 Then ConceptoContable = 64 @@ -8612,9 +8616,10 @@ Partial Class Compras_Compras If DdlMoneda.SelectedValue.ToEntero <> 1 Or gvr.DataKey("CveMoneda").ToEntero <> 1 Then IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria - Dim TipoCambioDiferenciaCambiaria = If(ChkPagarConPesos.Checked, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal, tipoCambioNC) - If TipoCambioDiferenciaCambiaria > TipoCambioCompra Then - ImporteMovimiento = (sumaAmortizacion * TipoCambioDiferenciaCambiaria) - (sumaAmortizacion * TipoCambioCompra) + Dim TipoCambioDiferenciaCambiaria = If(ChkPagarConPesos.Checked, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal, tipoCambioNC) + Dim TipoCambioDiferenciaCompra = If(ChkPagarConDolares.Checked, GlobalTipoCambio(Fecha), TipoCambioCompra).ToDecimal + If TipoCambioDiferenciaCambiaria > TipoCambioDiferenciaCompra Then + ImporteMovimiento = (sumaAmortizacion * TipoCambioDiferenciaCambiaria) - (sumaAmortizacion * TipoCambioDiferenciaCompra) ImporteMovimiento = ImporteMovimiento.RoundSQL() importeMN = ImporteMovimiento End If From 52909bf35197b6f27c01d70f91a793a69752c930 Mon Sep 17 00:00:00 2001 From: Raul Pimienta Date: Wed, 13 Nov 2019 00:00:13 -0700 Subject: [PATCH 5/9] Se podran pagar facturas con egresos x comprobar de diferente moneda --- Compras/Compras.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 92da3a058..5a89103af 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -3240,7 +3240,7 @@ Partial Class Compras_Compras Dim ObjMovtos As New ClsMovimientos() If ObjMovtos.GetAnticiposProveedor(CveProveedor, -1, CveMoneda:=-1, SelectTop:=-1, TipoDocto:=FiltroTipo) AndAlso ObjMovtos.DtResultados.Rows.Count > 0 Then Dim CveMoneda As Integer = If(ChkPagarConPesos.Checked, 1, If(ChkPagarConDolares.Checked, 2, DdlMoneda.SelectedValue.ToEntero)) - If DdlMoneda.SelectedValue.ToEntero = 1 Then DivPagarConDolares.Visible = True Else DivPagarConPesos.Visible = True + If DdlMoneda.SelectedValue.ToEntero = 1 AndAlso CveCompra > 0 Then DivPagarConDolares.Visible = True Else If CveCompra > 0 Then DivPagarConPesos.Visible = True GVAnticipos.DataSource = ObjMovtos.DtResultados.FiltraParametros($"Tipo = 'Act' AND CveMoneda = {CveMoneda}") If ObjMovtos.DtResultados.FiltraParametros("Saldo > 0").Rows.Count > 0 Then BtnAceptarAnticipos.Enabled = True From de20a66126da9625f63336f68ba8e119a1bf8995 Mon Sep 17 00:00:00 2001 From: Raul Pimienta Date: Wed, 13 Nov 2019 00:15:21 -0700 Subject: [PATCH 6/9] Se podran pagar facturas con egresos x comprobar de diferente moneda --- Compras/Compras.aspx.vb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 5a89103af..892ab282d 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -8196,7 +8196,7 @@ Partial Class Compras_Compras TipoCambioAnt = If(ChkPagarConPesos.Checked, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal, gvr.DataKey("TCCompra").ToDecimal) End If - Dim TipoCambioDiferencia = If(ChkPagarConDolares.Checked, GlobalTipoCambio(Fecha), tipoCambio).ToDecimal + Dim TipoCambioDiferencia = If(ChkPagarConDolares.Checked, GlobalTipoCambio(TxtFecha.Text.ToDate), TipoCambioCompra).ToDecimal If TipoCambioDiferencia <> TipoCambioAnt Then Dim importeFluctuacion = (ImporteAnt * TipoCambioDiferencia) - (ImporteAnt * TipoCambioAnt) @@ -8595,8 +8595,9 @@ Partial Class Compras_Compras IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria CveCuenta = UsuarioActual.Empresa.CveCuentaGananciaCambiaria Dim TipoCambioDiferenciaCambiaria = If(ChkPagarConPesos.Checked, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal, tipoCambioNC) - If TipoCambioCompra > TipoCambioDiferenciaCambiaria Then - ImporteMovimiento = (sumaAmortizacion * TipoCambioCompra) - (sumaAmortizacion * TipoCambioDiferenciaCambiaria) + Dim TipoCambioDiferenciaCompra = If(ChkPagarConDolares.Checked, GlobalTipoCambio(TxtFecha.Text.ToDate), TipoCambioCompra).ToDecimal + If TipoCambioDiferenciaCompra > TipoCambioDiferenciaCambiaria Then + ImporteMovimiento = (sumaAmortizacion * TipoCambioDiferenciaCompra) - (sumaAmortizacion * TipoCambioDiferenciaCambiaria) ImporteMovimiento = ImporteMovimiento.RoundSQL() importeMN = ImporteMovimiento End If @@ -8617,7 +8618,7 @@ Partial Class Compras_Compras IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria Dim TipoCambioDiferenciaCambiaria = If(ChkPagarConPesos.Checked, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal, tipoCambioNC) - Dim TipoCambioDiferenciaCompra = If(ChkPagarConDolares.Checked, GlobalTipoCambio(Fecha), TipoCambioCompra).ToDecimal + Dim TipoCambioDiferenciaCompra = If(ChkPagarConDolares.Checked, GlobalTipoCambio(TxtFecha.Text.ToDate), TipoCambioCompra).ToDecimal If TipoCambioDiferenciaCambiaria > TipoCambioDiferenciaCompra Then ImporteMovimiento = (sumaAmortizacion * TipoCambioDiferenciaCambiaria) - (sumaAmortizacion * TipoCambioDiferenciaCompra) ImporteMovimiento = ImporteMovimiento.RoundSQL() From c10a48ee49b9119a6af2ac0482a8c7a28ddf8e2e Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Wed, 13 Nov 2019 10:38:52 -0700 Subject: [PATCH 7/9] error reparado en Ordenes de servicio y validacion agregada en Asignaciones --- OS/Asignaciones.aspx.vb | 15 ++++++++++----- OS/OrdenesServicios.aspx.vb | 3 +-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/OS/Asignaciones.aspx.vb b/OS/Asignaciones.aspx.vb index da544924b..6b1b23c3a 100644 --- a/OS/Asignaciones.aspx.vb +++ b/OS/Asignaciones.aspx.vb @@ -189,6 +189,7 @@ Partial Class OS_Asignaciones Dim TieneError = False Dim CveEstatusOS = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 2", "CveEstatusOrdenServicio ASC") Dim time As DateTime + Dim contadorOrdenesAsignadas As Integer = 0 For Each row As GridViewRow In GvNA.Rows If row.RowType = DataControlRowType.DataRow Then @@ -197,6 +198,7 @@ Partial Class OS_Asignaciones If row.FCCheckBox("ChbxAsignar").Checked Then time = DateTime.Parse(String.Format("{0} {1}:{2} {3}", row.FCTextBox("FechaOS").Text, picker.Hour, picker.Minute, picker.AmPm)) + contadorOrdenesAsignadas += 1 If ObjOS.GetSubProyectosEstatusInicial(DdlTecnico.SelectedValue.ToEntero, 3, UsuarioActual.CveEmpresa) Then Dim subProyectoDelTecnico As DataTable @@ -220,11 +222,14 @@ Partial Class OS_Asignaciones End If End If Next - - If Not TieneError Then - Alert("Se asignaron las ordenes de servicio correctamente", TipoMensaje.MsgInformacion) - CargaOrdenesServiciosAsignadasXPersona() - CargaOrdenesServiciosNoAsignadas() + If contadorOrdenesAsignadas > 0 Then + If Not TieneError Then + Alert("Se asignaron las ordenes de servicio correctamente", TipoMensaje.MsgInformacion) + CargaOrdenesServiciosAsignadasXPersona() + CargaOrdenesServiciosNoAsignadas() + End If + Else + Alert("No se han seleccionado ordenes de servicio para asignar", TipoMensaje.MsgAdvertencia) End If diff --git a/OS/OrdenesServicios.aspx.vb b/OS/OrdenesServicios.aspx.vb index d09fef3d4..9737cf675 100644 --- a/OS/OrdenesServicios.aspx.vb +++ b/OS/OrdenesServicios.aspx.vb @@ -1303,7 +1303,6 @@ Partial Class OS_OrdenesServicios TmpDT.Rows(Row.RowIndex)("Estatus") = "False" Row.FCLinkButton("imgEstatus").CssClass = "btn btn-circle btn-sm red" End If - UpDetalleOS.Update() End Sub Private Sub BtnAddGvDetalle_Click(sender As Object, e As EventArgs) Handles BtnAddGvDetalle.Click Dim ObjOS As New ClsOS @@ -1547,7 +1546,7 @@ Partial Class OS_OrdenesServicios Dim DetallesPendientes As Integer = TmpDT.COUNT("Estatus", "Estatus = 'False'").ToEntero - Dim TipoEstatusSeleccionado As Integer = EstatusOSDelUsuario.FiltroPrimeroValor("TipoEstatus", String.Format("CveEstatusOrdenServicio = {}", DdlEstatusOS.SelectedValue), "Orden ASC").ToEntero + Dim TipoEstatusSeleccionado As Integer = EstatusOSDelUsuario.FiltroPrimeroValor("TipoEstatus", String.Format("CveEstatusOrdenServicio = {0}", DdlEstatusOS.SelectedValue), "Orden ASC").ToEntero If DetallesPendientes = 0 AndAlso TipoEstatusSeleccionado = 2 Then 'Se estatus de OS a TERMINADO From 9a7897a99a024e4f46770a24a1f0966f16ea23c6 Mon Sep 17 00:00:00 2001 From: janeth arvizu Date: Wed, 13 Nov 2019 13:49:23 -0700 Subject: [PATCH 8/9] Promocion por cantidad --- App_Code/ClsVentas.vb | 6 ++++-- Ventas/Promociones.aspx | 26 ++++++++++++++++++++------ Ventas/Promociones.aspx.vb | 25 ++++++++++++++++++++----- 3 files changed, 44 insertions(+), 13 deletions(-) diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index f5d08a7ca..651133fb9 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -1981,7 +1981,7 @@ Public Class ClsVentas Return Retorno End Function - Public Function AddPromocionesDetalle(CvePromocion As Integer, CvePS As Integer, TipoPromocion As Integer, Promocion As Double, PUAnterior As Double, PUPromocion As Double, AplicaRestriccion As Boolean, AplicaLunes As Boolean, AplicaMartes As Boolean, AplicaMiercoles As Boolean, AplicaJueves As Boolean, AplicaViernes As Boolean, AplicaSabado As Boolean, AplicaDomingo As Boolean, HoraInicio As DateTime, HoraFin As DateTime) As Boolean + Public Function AddPromocionesDetalle(CvePromocion As Integer, CvePS As Integer, TipoPromocion As Integer, Promocion As Double, PUAnterior As Double, PUPromocion As Double, AplicaRestriccion As Boolean, AplicaLunes As Boolean, AplicaMartes As Boolean, AplicaMiercoles As Boolean, AplicaJueves As Boolean, AplicaViernes As Boolean, AplicaSabado As Boolean, AplicaDomingo As Boolean, HoraInicio As DateTime, HoraFin As DateTime, Optional CantidadMinima As Integer = 1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_PromocionesDetalleAdd") @@ -2003,6 +2003,7 @@ Public Class ClsVentas .Add("@AplicaDomingo", SqlDbType.Bit).Value = AplicaDomingo .Add("@HoraInicio", SqlDbType.DateTime).Value = HoraInicio .Add("@HoraFin", SqlDbType.DateTime).Value = HoraFin + .Add("@CantidadMinima", SqlDbType.Int).Value = CantidadMinima End With Try @@ -2014,7 +2015,7 @@ Public Class ClsVentas Return Retorno End Function - Public Function UpdatePromocionesDetalle(CvePromocionDetalle As Integer, CvePromocion As Integer, CvePS As Integer, TipoPromocion As Integer, Promocion As Double, PUAnterior As Double, PUPromocion As Double, AplicaRestriccion As Boolean, AplicaLunes As Boolean, AplicaMartes As Boolean, AplicaMiercoles As Boolean, AplicaJueves As Boolean, AplicaViernes As Boolean, AplicaSabado As Boolean, AplicaDomingo As Boolean, HoraInicio As DateTime, HoraFin As DateTime) As Boolean + Public Function UpdatePromocionesDetalle(CvePromocionDetalle As Integer, CvePromocion As Integer, CvePS As Integer, TipoPromocion As Integer, Promocion As Double, PUAnterior As Double, PUPromocion As Double, AplicaRestriccion As Boolean, AplicaLunes As Boolean, AplicaMartes As Boolean, AplicaMiercoles As Boolean, AplicaJueves As Boolean, AplicaViernes As Boolean, AplicaSabado As Boolean, AplicaDomingo As Boolean, HoraInicio As DateTime, HoraFin As DateTime, Optional CantidadMinima As Integer = 1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_PromocionesDetalleUpdate") @@ -2037,6 +2038,7 @@ Public Class ClsVentas .Add("@HoraInicio", SqlDbType.DateTime).Value = HoraInicio .Add("@HoraFin", SqlDbType.DateTime).Value = HoraFin .Add("@CvePromocionDetalle", SqlDbType.Int).Value = CvePromocionDetalle + .Add("@CantidadMinima", SqlDbType.Int).Value = CantidadMinima End With Try diff --git a/Ventas/Promociones.aspx b/Ventas/Promociones.aspx index 854e965d3..8981c5be1 100644 --- a/Ventas/Promociones.aspx +++ b/Ventas/Promociones.aspx @@ -81,15 +81,15 @@
- <%-- + <%-- --%> - +
-
+
@@ -153,7 +153,7 @@
- + <%----%> @@ -227,10 +227,11 @@
- + + @@ -243,6 +244,19 @@
+ +
+ +
+ + + + + + +
+
+
@@ -310,8 +324,8 @@
-
+