1 Conta: Prorrateo gasolina, como admin, pedir a rene que te lo explique
This commit is contained in:
@@ -1667,6 +1667,12 @@ Partial Class Compras_Compras
|
||||
|
||||
End If
|
||||
|
||||
|
||||
If Not CveCompra > 0 Then
|
||||
LnkProrrateoGasolina.Visible = True
|
||||
InicializaDTProrrateoGasolina()
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
'SE OCUPAN AFUERA DEL POSTBACK ??
|
||||
@@ -22326,6 +22332,239 @@ Partial Class Compras_Compras
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
#Region "PRORRATEO GASOLINA"
|
||||
|
||||
|
||||
Property DTProrrateoGasolina As DataTable
|
||||
Get
|
||||
If ViewState("DTProrrateoGasolina") Is Nothing Then
|
||||
ViewState("DTProrrateoGasolina") = New DataTable
|
||||
End If
|
||||
Return DirectCast(ViewState("DTProrrateoGasolina"), DataTable)
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DTProrrateoGasolina") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Sub InicializaDTProrrateoGasolina()
|
||||
Dim TmpDTProrrateoGasolina As New DataTable
|
||||
TmpDTProrrateoGasolina.Columns.Add("CvePS", GetType(Integer))
|
||||
TmpDTProrrateoGasolina.Columns.Add("CveSubProyecto", GetType(Integer))
|
||||
TmpDTProrrateoGasolina.Columns.Add("SubProyecto", GetType(String))
|
||||
TmpDTProrrateoGasolina.Columns.Add("SubTotal", GetType(Decimal))
|
||||
TmpDTProrrateoGasolina.Columns.Add("IVA", GetType(Decimal))
|
||||
TmpDTProrrateoGasolina.Columns.Add("RetIVA", GetType(Decimal))
|
||||
TmpDTProrrateoGasolina.Columns.Add("RetISR", GetType(Decimal))
|
||||
TmpDTProrrateoGasolina.Columns.Add("Total", GetType(Decimal))
|
||||
TmpDTProrrateoGasolina.Columns.Add("PorcentajeIVA", GetType(Decimal))
|
||||
|
||||
TmpDTProrrateoGasolina.Columns.Add("CveUM", GetType(Integer))
|
||||
TmpDTProrrateoGasolina.Columns.Add("CveClasificacion", GetType(Integer))
|
||||
TmpDTProrrateoGasolina.Columns.Add("UM", GetType(String))
|
||||
TmpDTProrrateoGasolina.Columns.Add("Clasificacion", GetType(String))
|
||||
TmpDTProrrateoGasolina.Columns.Add("PS", GetType(String))
|
||||
|
||||
|
||||
DTProrrateoGasolina = TmpDTProrrateoGasolina
|
||||
End Sub
|
||||
|
||||
Protected Sub LnkProrrateoGasolina_Click(sender As Object, e As EventArgs)
|
||||
|
||||
InicializaDTProrrateoGasolina()
|
||||
CargarCentrosDeCosto(Nothing, Nothing, Nothing, LblSubProyectoProrrateoGasolina)
|
||||
|
||||
DdlSubProyectoProrrateoGasolina.Items.Clear()
|
||||
DdlSubProyectoProrrateoGasolina.DataSource = If(Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveProyecto:=-1))
|
||||
DdlSubProyectoProrrateoGasolina.DataBind()
|
||||
DdlSubProyectoProrrateoGasolina.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
|
||||
LblTotalProrrateoGasolina.Text = TxtTotal.Text
|
||||
|
||||
CargaProrratePS(-1)
|
||||
|
||||
RegistraScript("$('#DVModalProrrateoGasolina').modal();")
|
||||
UpModalProrrateoGasolina.Update()
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub CargaProrratePS(CveClasificacion As Integer)
|
||||
|
||||
DdlPSProrrateoGasolina.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
|
||||
DdlPSProrrateoGasolina.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
|
||||
DdlPSProrrateoGasolina.SelectedText = ""
|
||||
DdlPSProrrateoGasolina.SelectedValue = "-1"
|
||||
Else
|
||||
DdlPSProrrateoGasolina.ddl.Items.Clear()
|
||||
|
||||
'DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacion)
|
||||
|
||||
If UsuarioActual.TienePermisoProceso(300) Or UsuarioActual.TienePermisoProceso(301) Then
|
||||
|
||||
Dim DTTemp As New DataTable
|
||||
DTTemp.Columns.Add("CvePS", GetType(Integer))
|
||||
DTTemp.Columns.Add("PSCodigo", GetType(String))
|
||||
DTTemp.Columns.Add("CveClasificacion", GetType(Integer))
|
||||
|
||||
For Each dRow As DataRow In GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).Rows
|
||||
For Each drowCla As DataRow In DTClasificacionesComprobaciones.Rows
|
||||
|
||||
If drowCla("CveClasificacion").ToString.ToEntero = dRow("CveClasificacion").ToString.ToEntero Then
|
||||
|
||||
Dim InRow As DataRow = DTTemp.NewRow
|
||||
InRow("CvePS") = dRow("CvePS").ToString.ToEntero
|
||||
InRow("PSCodigo") = dRow("PSCodigo").ToString
|
||||
InRow("CveClasificacion") = dRow("CveClasificacion").ToString.ToEntero
|
||||
DTTemp.Rows.Add(InRow)
|
||||
|
||||
End If
|
||||
Next
|
||||
Next
|
||||
DdlPSProrrateoGasolina.DataSource = If(CveClasificacion > 0, DTTemp.FiltraParametros($"CveClasificacion = {CveClasificacion}"), DTTemp)
|
||||
Else
|
||||
DdlPSProrrateoGasolina.DataSource = If(CveClasificacion > 0, GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltraParametros($"CveClasificacion = {CveClasificacion}"), GlobalDTPSSimplificado(UsuarioActual.CveEmpresa))
|
||||
End If
|
||||
|
||||
DdlPSProrrateoGasolina.ddl.DataBind()
|
||||
DdlPSProrrateoGasolina.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1"))
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub GvProrrateoGasolinaBind()
|
||||
GvProrrateoGasolina.DataSource = DTProrrateoGasolina
|
||||
GvProrrateoGasolina.DataBind()
|
||||
UpModalProrrateoGasolina.Update()
|
||||
End Sub
|
||||
|
||||
Protected Sub LnkEliminarProrrateoGasolina_Click(sender As Object, e As EventArgs)
|
||||
|
||||
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
|
||||
DTProrrateoGasolina.Rows.RemoveAt(GvRow.RowIndex)
|
||||
DTProrrateoGasolina.AcceptChanges()
|
||||
ProrateoCalculaRestante()
|
||||
GvProrrateoGasolinaBind()
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Protected Sub LnkAgregarProrrateoGasolina_Click(sender As Object, e As EventArgs)
|
||||
|
||||
Dim CvePs As Integer = DdlPSProrrateoGasolina.SelectedValue.ToEntero
|
||||
|
||||
If Not CvePs > 0 Then
|
||||
Alert("Debe seleccionar un producto", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim PsRow As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePs).FiltroPrimero("")
|
||||
|
||||
If PsRow Is Nothing Then
|
||||
Alert("No se encontro el producto", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
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 SubTotalOriginal As Decimal = TxtSubTotal.Text.ToDecimal
|
||||
Dim IVAOriginal As Decimal = TxtIVA.Text.ToDecimal
|
||||
Dim RetISROriginal As Decimal = TxtRetISR.Text.ToDecimal
|
||||
Dim RetIVAOriginal As Decimal = TxtRetIVA.Text.ToDecimal
|
||||
Dim TotalOriginal As Decimal = TxtTotal.Text.ToDecimal
|
||||
|
||||
Dim totalParcialDeseado As Decimal = TxtPrecioProrrateoGasolina.Text.ToDecimal
|
||||
|
||||
Dim PorcentajeCalculado As Decimal = totalParcialDeseado / TotalOriginal
|
||||
|
||||
Dim subtotalParcial As Decimal = SubTotalOriginal * PorcentajeCalculado
|
||||
Dim ivaParcial As Decimal = IVAOriginal * PorcentajeCalculado
|
||||
Dim retIsrParcial As Decimal = RetISROriginal * PorcentajeCalculado
|
||||
Dim retIvaParcial As Decimal = RetIVAOriginal * PorcentajeCalculado
|
||||
|
||||
Dim nRow As DataRow = DTProrrateoGasolina.NewRow
|
||||
|
||||
nRow("CvePS") = DdlPSProrrateoGasolina.SelectedValue.ToEntero
|
||||
nRow("CveSubProyecto") = DdlSubProyectoProrrateoGasolina.SelectedValue.ToEntero
|
||||
nRow("SubProyecto") = DdlSubProyectoProrrateoGasolina.SelectedItem.Text
|
||||
nRow("SubTotal") = subtotalParcial
|
||||
|
||||
If CveFactura > 0 Then
|
||||
nRow("IVA") = ivaParcial
|
||||
nRow("RetIVA") = retIvaParcial
|
||||
nRow("RetISR") = retIsrParcial
|
||||
Else
|
||||
nRow("IVA") = (ivaParcial / subtotalParcial)
|
||||
nRow("RetIVA") = (retIvaParcial / subtotalParcial)
|
||||
nRow("RetISR") = (retIsrParcial / subtotalParcial)
|
||||
End If
|
||||
|
||||
nRow("Total") = totalParcialDeseado
|
||||
nRow("PorcentajeIVA") = (ivaParcial / subtotalParcial)
|
||||
|
||||
nRow("CveUM") = CveUM
|
||||
nRow("UM") = UM
|
||||
nRow("CveClasificacion") = CveClasificacion
|
||||
nRow("Clasificacion") = Clasificacion
|
||||
nRow("PS") = DdlPSProrrateoGasolina.txtText.Value
|
||||
|
||||
DTProrrateoGasolina.Rows.Add(nRow)
|
||||
|
||||
DdlSubProyectoProrrateoGasolina.SelectedValueExist(-1)
|
||||
TxtPrecioProrrateoGasolina.Text = ""
|
||||
ProrateoCalculaRestante()
|
||||
GvProrrateoGasolinaBind()
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub ProrateoCalculaRestante()
|
||||
LblRestoProrrateoGasolina.Text = (TxtTotal.Text.ToDecimal - DTProrrateoGasolina.SUM("Total")).ToString("###,###,###.00")
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Protected Sub BtnGuardarProrrateoGasolina_Click(sender As Object, e As EventArgs)
|
||||
|
||||
If DTProrrateoGasolina.Rows.Count > 0 Then
|
||||
TmpDT.Rows.Clear()
|
||||
For Each dRow As DataRow In DTProrrateoGasolina.Rows
|
||||
|
||||
AddPS(1, dRow("CveUM").ToString.ToEntero, dRow("UM").ToString, dRow("CveClasificacion").ToString.ToEntero, dRow("Clasificacion").ToString, dRow("CvePS").ToString.ToEntero, dRow("PS").ToString, 1, dRow("CveSubProyecto").ToString, dRow("SubProyecto").ToString, "",
|
||||
"-1", "", dRow("SubTotal").ToString.ToDecimal, dRow("Total").ToString.ToDecimal, dRow("PorcentajeIVA").ToString.ToDecimal, dRow("RetIVA").ToString.ToDecimal, dRow("RetISR").ToString.ToDecimal, 0, 0, 0, PorcentajeIVA:=dRow("PorcentajeIVA").ToString.ToDecimal)
|
||||
|
||||
|
||||
Next
|
||||
|
||||
AddPS2()
|
||||
End If
|
||||
|
||||
RegistraScript("$('#DVModalProrrateoGasolina').modal('hide');")
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user