reparación de layout de columnas en reporte, el kardex horizontal ahora usa multiselect, y el actualizar precios también replica en las franquicias

This commit is contained in:
Antonio Gonzalez
2020-11-04 16:53:11 -07:00
parent 4ed55e9948
commit 84250f55b6
6 changed files with 1415 additions and 1496 deletions

View File

@@ -200,17 +200,21 @@ Partial Class Ventas_ActualizarPrecios
Exit Sub
End If
Dim Correcto As Boolean = False
Dim TieneError As Boolean = False
'Dim Importe As Decimal = If(TxtImporte.Text = "", -1, TxtImporte.Text.ToDecimal)
Dim Porcentaje As Decimal = If(TxtPorcentaje.Text = "", -1, TxtPorcentaje.Text.ToDecimal)
Dim ObjPS As New ClsProductosServicios
ObjPS.IniciaTransacSQL()
For Each row As GridViewRow In GVPrecios.Rows
If row.FCCheckBox("chkPS").Checked Then
Correcto = ObjPS.UpdatePSPreciosLista(row.FCTextBox("TxtPrecio").Text.ToDecimal, DdlPrecioLista.SelectedValue.ToEntero, Porcentaje, row.DataKey("CvePS").ToEntero, UsuarioActual.CveUsuario, DateTime.Now, If(RblTipo.SelectedValue = "Imp", True, False), PrecioMinimo:=row.FCTextBox("TxtPrecioMinimo").Text.ToDecimal)
If Not Correcto Then
If Correcto Then
TieneError = ActualizarPreciosFranquicia(ObjPS, row)
Else
Exit Sub
End If
End If
@@ -221,6 +225,11 @@ Partial Class Ventas_ActualizarPrecios
Alert("Los Precios de lista de los Productos/Servicios se actualizaron correctamente")
End If
If TieneError Then
ObjPS.RollBack()
Else
ObjPS.Commit()
End If
ObjPS.Dispose()
BtnConsultar_Click(Nothing, Nothing)
@@ -517,4 +526,29 @@ Partial Class Ventas_ActualizarPrecios
e.Row.FCTextBox("TxtPrecioMinimo").Attributes.Add("onKeyUp", String.Format("FncSeleccionaChk({0});", e.Row.FCCheckBox("chkSucursal").ClientID))
End If
End Sub
Private Function ActualizarPreciosFranquicia(ObjPS As ClsProductosServicios, row As GridViewRow) As Boolean
Dim FranquiciasStr As String = UsuarioActual.Empresa.Funcionalidad(137)
Dim Franquicias = FranquiciasStr.Split(","c)
Dim Porcentaje As Decimal = If(TxtPorcentaje.Text = "", -1, TxtPorcentaje.Text.ToDecimal)
Dim Codigo As String = row.DataKey("Codigo")
For Each Franquicia In Franquicias
Dim CveFranquicia As Integer = Franquicia.ToEntero
Dim CvePS As Integer = GlobalDTPS(CveFranquicia).FiltroPrimeroValor("CvePS", String.Format("Codigo LIKE '%{0}%'", Codigo)).ToEntero
Dim CvePrecioLisa As Integer = GlobalDTPrecioListas(CveFranquicia).FiltroPrimeroValor("CvePrecioLista", String.Format("PrecioLista = '{0}'", DdlPrecioLista.SelectedItem.Text)).ToEntero
Dim EmpresaFranquicia As String = GlobalDTEmpresas(CveEmpresa:=CveFranquicia).FiltroPrimeroValor("Empresa")
If CvePS <= 0 Then
Alert(String.Format("El producto '{0}' no se encuentra en la Franquicia '{1}'", row.DataKey("PS"), EmpresaFranquicia), TipoMensaje.MsgAdvertencia)
Return True
End If
If CvePrecioLisa <= 0 Then
Alert(String.Format("El precio lista '{0}' no existe en la Franquicia '{1}'", DdlPrecioLista.SelectedItem.Text, EmpresaFranquicia), TipoMensaje.MsgAdvertencia)
Return True
End If
If Not ObjPS.UpdatePSPreciosLista(row.FCTextBox("TxtPrecio").Text.ToDecimal, CvePrecioLisa, Porcentaje, CvePS, UsuarioActual.CveUsuario, DateTime.Now, If(RblTipo.SelectedValue = "Imp", True, False), PrecioMinimo:=row.FCTextBox("TxtPrecioMinimo").Text.ToDecimal) Then
Return True
End If
Next
Return False
End Function
End Class

View File

@@ -2865,7 +2865,7 @@ Partial Class ProductosyServicios
End Function
Private Function GuardarProductosEquivalenteEnFranquicia(ObjPS As ClsProductosServicios, Agregar As Boolean) As Boolean
Dim EmpresasFranquicia = New Integer() {152}
Dim EmpresasFranquicia = ObtenerFranquiciasInt()
For Each Franquicia As Integer In EmpresasFranquicia
Dim CvePSPagina As Integer = GlobalDTPS(Franquicia).FiltroPrimeroValor("CvePS", String.Format("Codigo = '{0}'", TxtCodigo.Text.Trim)).ToEntero
Dim CvePSAdicional As Integer = GlobalDTPS(Franquicia).FiltroPrimeroValor("CvePS", String.Format("PS = '{0}'", DdlPSAdicional.SelectedItem.Text)).ToEntero
@@ -2893,4 +2893,16 @@ Partial Class ProductosyServicios
Next
Return False
End Function
Private Function ObtenerFranquiciasInt() As Integer()
Dim FranquiciasStr As String = UsuarioActual.Empresa.Funcionalidad(137)
Dim Franquicias = FranquiciasStr.Split(","c)
Dim ReturnFranquicias(Franquicias.Length) As Integer
Dim Contador As Integer = 0
For Each Franquicia In Franquicias
ReturnFranquicias(Contador) = Franquicia.ToEntero
Contador += 1
Next
Return ReturnFranquicias
End Function
End Class