This commit is contained in:
Hector
2021-07-27 18:31:16 -07:00
parent ade29631cd
commit d0c1afa9c0
8 changed files with 10679 additions and 182 deletions

View File

@@ -2176,7 +2176,7 @@ Public Class ClsInventarios
#Region " INVENTARIOS - INVENTARIO FISICO " #Region " INVENTARIOS - INVENTARIO FISICO "
Public Function AddInventarioFisico(CveEmpresa As Integer, InventarioFisico As String, Observaciones As String, Estatus As Integer, CveSubProyecto As Integer) As Boolean Public Function AddInventarioFisico(CveEmpresa As Integer, InventarioFisico As String, Observaciones As String, Estatus As Integer, CveSubProyecto As Integer, Optional ConAplicacion As Boolean = False) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
DataAdapter("PA_Inv_InventarioFisicoAdd") DataAdapter("PA_Inv_InventarioFisicoAdd")
@@ -2186,6 +2186,7 @@ Public Class ClsInventarios
.Add("@InventarioFisico", SqlDbType.VarChar).Value = InventarioFisico .Add("@InventarioFisico", SqlDbType.VarChar).Value = InventarioFisico
.Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones .Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
.Add("@Estatus", SqlDbType.Int).Value = Estatus .Add("@Estatus", SqlDbType.Int).Value = Estatus
.Add("@ConAplicacion", SqlDbType.Int).Value = If(ConAplicacion, 1, 0)
.Add("@CveInventarioFisico", SqlDbType.Int).Direction = ParameterDirection.Output .Add("@CveInventarioFisico", SqlDbType.Int).Direction = ParameterDirection.Output
End With End With
@@ -2582,6 +2583,101 @@ Public Class ClsInventarios
Return Retorno Return Retorno
End Function End Function
Public Function GetInventarioFisicoDetallesUsuarios(CveInventarioFisico As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_InventarioFisicoDetallesUsuariosGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveInventarioFisico", SqlDbType.Int).Value = CveInventarioFisico
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch Ex1 As SqlException
Me.OnError("Ocurrió un error al obtener los usuarios del inventario fisico.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
OnError("Ocurrió un error al obtener llos usuarios del inventario fisico.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function AddInventarioFisicoUsuarios(CveInventarioFisico As Integer, CveUsuario As Integer, Incluye As Boolean, Cerrado As Boolean, Bloqueado As Boolean) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_InventarioFisicoUsuariosAdd")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveInventarioFisico", SqlDbType.Int).Value = CveInventarioFisico
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@Incluye", SqlDbType.Bit).Value = If(Incluye, 1, 0)
.Add("@Cerrado", SqlDbType.Bit).Value = If(Cerrado, 1, 0)
.Add("@Bloqueado", SqlDbType.Bit).Value = If(Bloqueado, 1, 0)
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch Ex1 As SqlException
Me.OnError("Ocurrió un error al guardar los usuarios del inventario fisico.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
OnError("Ocurrió un error al guardar los usuarios del inventario fisico.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function RemoveInventarioFisicoUsuarios(CveInventarioFisico As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_InventarioFisicoUsuariosRemove")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveInventarioFisico", SqlDbType.Int).Value = CveInventarioFisico
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch Ex1 As SqlException
Me.OnError("Ocurrió un error al eliminar los usuarios del inventario fisico.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
OnError("Ocurrió un error al eliminar los usuarios servicio del inventario fisico.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function UpdateInventarioFisicoUsuarios(CveInventarioFisico As Integer, CveUsuario As Integer, Cerrado As Boolean, Bloqueado As Boolean) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_InventarioFisicoUsuariosUpdate")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveInventarioFisico", SqlDbType.Int).Value = CveInventarioFisico
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@Cerrado", SqlDbType.Bit).Value = Cerrado
.Add("@Bloqueado", SqlDbType.Bit).Value = Bloqueado
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch Ex1 As SqlException
Me.OnError("Ocurrió un error al eliminar los usuarios del inventario fisico.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
OnError("Ocurrió un error al eliminar los usuarios servicio del inventario fisico.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function GetInventarioFisicoDetallesProveedores(CveInventarioFisico As Integer, CveEmpresa As Integer) As Boolean Public Function GetInventarioFisicoDetallesProveedores(CveInventarioFisico As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False

View File

@@ -60,8 +60,16 @@
</div> </div>
<hr /> <hr />
<div class="row" id="divTipoDevolucion" runat="server" visible="false" style="margin-top: -20px;">
<div class="row"> <div class="col-md-12">
<div class="col-md-5"></div>
<asp:RadioButtonList ID="TipoDevolucion" runat="server" RepeatDirection="Horizontal" OnSelectedIndexChanged="TipoDevolucion_SelectedIndexChanged" AutoPostBack="true">
<asp:ListItem Value="1" Text="Bancos"></asp:ListItem>
<asp:ListItem Value="2" Text="Viaticos"></asp:ListItem>
</asp:RadioButtonList>
</div>
</div>
<div class="row" runat="server" id="DivBancos">
<div class="col-md-6"> <div class="col-md-6">
<div class="row"> <div class="row">
<div class="col-md-4"> <div class="col-md-4">
@@ -180,7 +188,49 @@
</div> </div>
</div> </div>
<div class="row"> <div class="row" runat="server" id="DivViaticos" visible="false" style="margin-bottom: 10px;">
<div class="col-md-12">
<div class="portlet-title">
<div class="caption ">
<span class="caption-subject font-yellow-gold bold uppercase">
<asp:Literal ID="LtlMovtoPermanenteaddup" runat="server"></asp:Literal></span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body ">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtDescripcion" CssClass="form-control" runat="server"></asp:TextBox>
<asp:Label runat="server" Text="Descripción:" AssociatedControlID="TxtDescripcion"></asp:Label>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" Text="Concepto:" AssociatedControlID=""></asp:Label>
<asp:DropDownList ID="DdlConcepto" runat="server" DataTextField="CodigoConcepto" DataValueField="CveConcepto" Class="form-control input-sm select2me" Width="100%" ValidationGroup="GrpGuardar"></asp:DropDownList>
</div>
</div>
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" Text="Valor:" AssociatedControlID=""></asp:Label>
<asp:TextBox ID="TxtValor" CssClass="form-control" runat="server"></asp:TextBox>
</div>
</div>
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" Text="Veces por Aplicar:" AssociatedControlID=""></asp:Label>
<asp:TextBox ID="TxtVecesAplicar" CssClass="form-control" runat="server"></asp:TextBox>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row" style="margin-bottom: 10px;">
<div class="col-md-2"> <div class="col-md-2">
<label>Observaciones:</label> <label>Observaciones:</label>
</div> </div>
@@ -189,6 +239,9 @@
<asp:HiddenField ID="HdnObs" runat="server" ClientIDMode="Static" /> <asp:HiddenField ID="HdnObs" runat="server" ClientIDMode="Static" />
</div> </div>
</div> </div>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
</div> </div>
@@ -275,7 +328,6 @@
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server"> <asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script> <script>
function FnSuma(t, txt, importe) { function FnSuma(t, txt, importe) {
debugger;
if (t.checked) { if (t.checked) {
txt.value = FormatoNumero(importe, 2); txt.value = FormatoNumero(importe, 2);
} else { } else {
@@ -283,10 +335,10 @@
} }
$get('TxtImporte').value = FormatoNumero(SumaValores(), 2); $get('TxtImporte').value = FormatoNumero(SumaValores(), 2);
} }
function FnCambia(chk, txt, saldo, op, text) { function FnCambia(chk, txt, saldo, op, text) {
debugger;
if (op == 1) { if (op == 1) {
if (txt.value != '') { if (txt.value != '') {
chk.checked = true; chk.checked = true;

View File

@@ -49,9 +49,11 @@ public partial class Bancos_Devoluciones : ClsPaginas
CargaCliente(); CargaCliente();
CargaProveedor(); CargaProveedor();
CargaPersonal(); CargaPersonal();
CargaConcepto();
TxtImporte.Attributes.Add("disabled", "disabled"); TxtImporte.Attributes.Add("disabled", "disabled");
TxtComisiones.Attributes.Add("disabled", "disabled"); TxtComisiones.Attributes.Add("disabled", "disabled");
TxtTotal.Attributes.Add("disabled", "disabled"); TxtTotal.Attributes.Add("disabled", "disabled");
TipoDevolucion.SelectedValue = "1";
} }
} }
@@ -70,6 +72,7 @@ public partial class Bancos_Devoluciones : ClsPaginas
LimpiarGV(); LimpiarGV();
LimpiarDDL(); LimpiarDDL();
GvDevoluciones.Columns[7].Visible = true; GvDevoluciones.Columns[7].Visible = true;
divTipoDevolucion.Visible = false;
break; break;
case "2": case "2":
tipo = "Ing"; tipo = "Ing";
@@ -80,6 +83,7 @@ public partial class Bancos_Devoluciones : ClsPaginas
LimpiarGV(); LimpiarGV();
LimpiarDDL(); LimpiarDDL();
GvDevoluciones.Columns[7].Visible = false; GvDevoluciones.Columns[7].Visible = false;
divTipoDevolucion.Visible = false;
break; break;
case "3": case "3":
tipo = "Ing"; tipo = "Ing";
@@ -90,6 +94,7 @@ public partial class Bancos_Devoluciones : ClsPaginas
LimpiarGV(); LimpiarGV();
LimpiarDDL(); LimpiarDDL();
GvDevoluciones.Columns[7].Visible = false; GvDevoluciones.Columns[7].Visible = false;
divTipoDevolucion.Visible = true;
break; break;
case "4": case "4":
tipo = "Ing"; tipo = "Ing";
@@ -100,10 +105,29 @@ public partial class Bancos_Devoluciones : ClsPaginas
LimpiarGV(); LimpiarGV();
LimpiarDDL(); LimpiarDDL();
GvDevoluciones.Columns[7].Visible = false; GvDevoluciones.Columns[7].Visible = false;
divTipoDevolucion.Visible = false;
break; break;
} }
CargaTipoTransaccion(tipo); CargaTipoTransaccion(tipo);
} }
protected void TipoDevolucion_SelectedIndexChanged(object sender, EventArgs e)
{
string tipo = "";
switch (TipoDevolucion.SelectedValue)
{
case "1":
DivBancos.Visible = true;
DivViaticos.Visible = false;
break;
case "2":
DivBancos.Visible = false;
DivViaticos.Visible = true;
break;
}
}
protected void CargaTipoTransaccion(string tipo) protected void CargaTipoTransaccion(string tipo)
{ {
DdlTipoTransanccion.Items.Clear(); DdlTipoTransanccion.Items.Clear();
@@ -315,7 +339,13 @@ public partial class Bancos_Devoluciones : ClsPaginas
#region"GUARDAR" #region"GUARDAR"
protected void BtnGuardar_Click(object sender, EventArgs e) protected void BtnGuardar_Click(object sender, EventArgs e)
{ {
if (TxtImporte.Text == "") if (OpcionDevolucion.SelectedValue.ToEntero() != 3 && TipoDevolucion.SelectedValue.ToString().ToEntero() != 2 && TxtImporte.Text == "")
{
Alert("Debe ingresar un importe", TipoMensaje.MsgAdvertencia);
return;
}
if (OpcionDevolucion.SelectedValue.ToEntero() == 3 && TipoDevolucion.SelectedValue.ToString().ToEntero() == 2 && TxtValor.Text == "")
{ {
Alert("Debe ingresar un importe", TipoMensaje.MsgAdvertencia); Alert("Debe ingresar un importe", TipoMensaje.MsgAdvertencia);
return; return;
@@ -324,10 +354,11 @@ public partial class Bancos_Devoluciones : ClsPaginas
ClsBancos ObjIE = new ClsBancos(); ClsBancos ObjIE = new ClsBancos();
ClsContabilidad ObjMov = new ClsContabilidad(ObjIE.IniciaTransacSQL()); ClsContabilidad ObjMov = new ClsContabilidad(ObjIE.IniciaTransacSQL());
ClsCompras ObjComp = new ClsCompras(ObjIE.IniciaTransacSQL()); ClsCompras ObjComp = new ClsCompras(ObjIE.IniciaTransacSQL());
ClsNominas ObjNom = new ClsNominas(ObjIE.IniciaTransacSQL());
string MsgError = ""; string MsgError = "";
string PagueseA = ""; string PagueseA = "";
int CveIE = 0; int CveIE = -1;
int CveConceptoContableBanco = 30; int CveConceptoContableBanco = 30;
int CveConceptoContableDevolucion = 0; int CveConceptoContableDevolucion = 0;
int CvePlantillaPoliza = 0; int CvePlantillaPoliza = 0;
@@ -358,9 +389,9 @@ public partial class Bancos_Devoluciones : ClsPaginas
break; break;
case "3": case "3":
PagueseA = DdlPersonal.SelectedItem.ToString(); PagueseA = DdlPersonal.SelectedItem.ToString();
CveConceptoContableDevolucion = 250;
CvePlantillaPoliza = 100; CvePlantillaPoliza = 100;
TipoMovoDevolucion = true; TipoMovoDevolucion = true;
CveConceptoContableDevolucion = 250;
break; break;
case "4": case "4":
PagueseA = DdlPersonal.SelectedItem.ToString(); PagueseA = DdlPersonal.SelectedItem.ToString();
@@ -377,83 +408,127 @@ public partial class Bancos_Devoluciones : ClsPaginas
// DATOS PREPOLIZA // DATOS PREPOLIZA
if ( DdlTipoTransanccion.SelectedValue == "1" && UsuarioActual.CveEmpresa != 119) FolioFijo = TxtFolio.Text.ToEntero(); if ( DdlTipoTransanccion.SelectedValue == "1" && UsuarioActual.CveEmpresa != 119) FolioFijo = TxtFolio.Text.ToEntero();
CvePrePoliza = ObjMov.AddPrePolizas("Bancos/IE Devoluciones", CvePlantillaPoliza, TxtImporte.Text.Trim().ToDouble(), TxtImporte.Text.Trim().ToDouble(), CveMoneda, TxtFechaDocumento.Text.ToDate(), TxtObservaciones.Text.Trim(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo: FolioFijo, ReglaFolioPoliza: ObjComp.ObtenerReglaFolio(DdlTipoTransanccion.SelectedValue, null, UsuarioActual.CveEmpresa), CveTipoPoliza: ObjMov.ObtenerTipoPoliza(DdlTipoTransanccion.SelectedValue, "-1", UsuarioActual.CveEmpresa)); CvePrePoliza = ObjMov.AddPrePolizas("Bancos/IE Devoluciones", CvePlantillaPoliza, TxtImporte.Text.Trim().ToDouble(), TxtImporte.Text.Trim().ToDouble(), 1, TxtFechaDocumento.Text.ToDate(), TxtObservaciones.Text.Trim(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo: FolioFijo, ReglaFolioPoliza: ObjComp.ObtenerReglaFolio(DdlTipoTransanccion.SelectedValue, null, UsuarioActual.CveEmpresa), CveTipoPoliza: ObjMov.ObtenerTipoPoliza(DdlTipoTransanccion.SelectedValue, "-1", UsuarioActual.CveEmpresa));
if (CvePrePoliza > 0) if (CvePrePoliza > 0)
{ {
string Conc = TxtObservaciones.Text == "" ? TxtFolio.Text : TxtObservaciones.Text; string Conc = TxtObservaciones.Text == "" ? TxtFolio.Text : TxtObservaciones.Text;
string Ref = TxtObservaciones.Text == "" ? TxtFolio.Text : TxtObservaciones.Text; string Ref = TxtObservaciones.Text == "" ? TxtFolio.Text : TxtObservaciones.Text;
CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero(), DdlTipoTransanccion.SelectedValue.ToEntero(), TxtFechaDocumento.Text.Trim().ToDate(), TxtFolio.Text.Trim(), PagueseA, TxtImporte.Text.Trim().ToDouble(), CveMoneda, if (OpcionDevolucion.SelectedValue.ToEntero() == 3 || TipoDevolucion.SelectedValue.ToString().ToEntero() == 2)
TC, TxtObservaciones.Text.Trim(), "", false, false, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
if (CveIE > 0)
{ {
//GUARDA PREPOLIZAS DETALLE DEVOLUCION
foreach (GridViewRow gvr in GvDevoluciones.Rows) foreach (GridViewRow gvr in GvDevoluciones.Rows)
{ {
if (gvr.FCCheckBox("Chk").Checked) if (gvr.FCCheckBox("Chk").Checked)
{ {
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovoDevolucion, gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), Ref, CveConceptoContableDevolucion, Conc, DateTime.Now, 0, -1, CveProveedor: cveProveedor, CvePersonal: cvePersonal, ImporteMX: gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), CveIEDevolucion: CveIE))
if (OpcionDevolucion.SelectedValue.ToEntero() == 1)
{ {
if (gvr.FCTextBox("TxtIVA").Text.ToDecimal() > 0) MsgError = "No se pudo insertar concepto de Devolución";
break;
}
}
}
//GUARDA PREPOLIZAS DETALLE Bancos
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, !TipoMovoDevolucion, TxtImporte.Text.ToDecimal(), Ref, 174, Conc, DateTime.Now, 0, -1, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveCliente: cveCliente, CveProveedor: cveProveedor, CvePersonal: cvePersonal, ImporteMX: TxtImporte.Text.ToDecimal()))
{
MsgError = "No se pudo insertar concepto de Devolución";
}
if (MsgError.Equals(""))
{
int cveConcepto = DdlConcepto.SelectedValue.ToEntero();
string descripcion = TxtDescripcion.Text;
int tipoDescuento = 1;
double valor = TxtValor.Text.ToDouble();
int vecesAplicar = TxtVecesAplicar.Text.ToEntero();
decimal montoLimite = 0;
string fechaInicioAplicacion = DateTime.Now.ToString("yyyy/MM/dd");
bool estatus = true;
int CveCuenta = -1;
if (!ObjNom.AddMovtoPermanente(cveConcepto, cvePersonal, descripcion, tipoDescuento, valor, vecesAplicar, montoLimite, fechaInicioAplicacion, estatus, CveCuenta))
{
MsgError = "No se pudo insertar movimiento permanente";
}
}
}
else
{
CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero(), DdlTipoTransanccion.SelectedValue.ToEntero(), TxtFechaDocumento.Text.Trim().ToDate(), TxtFolio.Text.Trim(), PagueseA, TxtImporte.Text.Trim().ToDouble(), CveMoneda,
TC, TxtObservaciones.Text.Trim(), "", false, false, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
if (CveIE > 0)
{
//GUARDA PREPOLIZAS DETALLE DEVOLUCION
foreach (GridViewRow gvr in GvDevoluciones.Rows)
{
if (gvr.FCCheckBox("Chk").Checked)
{
if (OpcionDevolucion.SelectedValue.ToEntero() == 1)
{ {
//INGxC if (gvr.FCTextBox("TxtIVA").Text.ToDecimal() > 0)
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), Ref, CveConceptoContableDevolucion, Conc, DateTime.Now, IDCtaContableDevolucion, -1, CveIE: gvr.DataKey("CveIE").ToEntero(), CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveCliente: DdlCliente.SelectedValue.ToEntero(), ImporteMX: gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), CveIEDevolucion: CveIE))
{ {
MsgError = "No se pudo insertar concepto de devolución"; //INGxC
} if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), Ref, CveConceptoContableDevolucion, Conc, DateTime.Now, IDCtaContableDevolucion, -1, CveIE: gvr.DataKey("CveIE").ToEntero(), CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveCliente: DdlCliente.SelectedValue.ToEntero(), ImporteMX: gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), CveIEDevolucion: CveIE))
{
MsgError = "No se pudo insertar concepto de devolución";
}
//IVA //IVA
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, false, -gvr.FCTextBox("TxtIVA").Text.ToDecimal(), Ref, 13, Conc, DateTime.Now, UsuarioActual.Empresa.IdCuentaIVAxTrasladar, -1, CveIE, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveCliente: DdlCliente.SelectedValue.ToEntero(), ImporteMX: -gvr.FCTextBox("TxtIVA").Text.ToDecimal())) if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, false, -gvr.FCTextBox("TxtIVA").Text.ToDecimal(), Ref, 13, Conc, DateTime.Now, UsuarioActual.Empresa.IdCuentaIVAxTrasladar, -1, CveIE, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveCliente: DdlCliente.SelectedValue.ToEntero(), ImporteMX: -gvr.FCTextBox("TxtIVA").Text.ToDecimal()))
{ {
MsgError = "No se pudo insertar concepto de IVA"; MsgError = "No se pudo insertar concepto de IVA";
} }
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, -gvr.FCTextBox("TxtIVA").Text.ToDecimal(), Ref, 61, Conc, DateTime.Now, UsuarioActual.Empresa.IdCuentaIVAxTrasladar, -1, CveIE, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveCliente: DdlCliente.SelectedValue.ToEntero(), ImporteMX: -gvr.FCTextBox("TxtIVA").Text.ToDecimal())) if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, -gvr.FCTextBox("TxtIVA").Text.ToDecimal(), Ref, 61, Conc, DateTime.Now, UsuarioActual.Empresa.IdCuentaIVAxTrasladar, -1, CveIE, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveCliente: DdlCliente.SelectedValue.ToEntero(), ImporteMX: -gvr.FCTextBox("TxtIVA").Text.ToDecimal()))
{
MsgError = "No se pudo insertar concepto de IVA";
}
}
else
{ {
MsgError = "No se pudo insertar concepto de IVA"; //INGxC
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovoDevolucion, gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), Ref, CveConceptoContableDevolucion, Conc, DateTime.Now, IDCtaContableDevolucion, -1, CveIE: CveIE, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveCliente: DdlCliente.SelectedValue.ToEntero(), ImporteMX: gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), CveIEDevolucion: gvr.DataKey("CveIE").ToEntero()))
{
MsgError = "No se pudo insertar concepto de bancos";
}
} }
} }
else else
{ {
//INGxC if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovoDevolucion, gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), Ref, CveConceptoContableDevolucion, Conc, DateTime.Now, IDCtaContableDevolucion, -1, CveIE: gvr.DataKey("CveIE").ToEntero(), CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveProveedor: cveProveedor, CvePersonal: cvePersonal, ImporteMX: gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), CveIEDevolucion: CveIE))
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovoDevolucion, gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), Ref, CveConceptoContableDevolucion, Conc, DateTime.Now, IDCtaContableDevolucion, -1, CveIE: CveIE, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveCliente: DdlCliente.SelectedValue.ToEntero(), ImporteMX: gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), CveIEDevolucion: gvr.DataKey("CveIE").ToEntero()))
{
MsgError = "No se pudo insertar concepto de bancos";
}
}
}
else
{
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovoDevolucion, gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), Ref, CveConceptoContableDevolucion, Conc, DateTime.Now, IDCtaContableDevolucion, -1, CveIE: gvr.DataKey("CveIE").ToEntero(), CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveProveedor: cveProveedor, CvePersonal: cvePersonal, ImporteMX: gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), CveIEDevolucion: CveIE))
{
MsgError = "No se pudo insertar concepto de Devolución";
break;
}
// OTROS INGRESOS
if (gvr.FCTextBox("TxtComision").Text.ToDecimal() != 0)
{
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovoDevolucion, gvr.FCTextBox("TxtComision").Text.ToDecimal(), Ref, 78, Conc, DateTime.Now, UsuarioActual.Empresa.IdCuentaOtrosIngresos, -1, CveIE: gvr.DataKey("CveIE").ToEntero(), CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveProveedor: cveProveedor, CvePersonal: cvePersonal, ImporteMX: gvr.FCTextBox("TxtComision").Text.ToDecimal(), CveIEDevolucion: CveIE))
{ {
MsgError = "No se pudo insertar concepto de Devolución"; MsgError = "No se pudo insertar concepto de Devolución";
break; break;
} }
// OTROS INGRESOS
if (gvr.FCTextBox("TxtComision").Text.ToDecimal() != 0)
{
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovoDevolucion, gvr.FCTextBox("TxtComision").Text.ToDecimal(), Ref, 78, Conc, DateTime.Now, UsuarioActual.Empresa.IdCuentaOtrosIngresos, -1, CveIE: gvr.DataKey("CveIE").ToEntero(), CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveProveedor: cveProveedor, CvePersonal: cvePersonal, ImporteMX: gvr.FCTextBox("TxtComision").Text.ToDecimal(), CveIEDevolucion: CveIE))
{
MsgError = "No se pudo insertar concepto de Devolución";
break;
}
}
} }
} }
} }
}
//GUARDA PREPOLIZAS DETALLE Bancos //GUARDA PREPOLIZAS DETALLE Bancos
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, !TipoMovoDevolucion, TxtImporte.Text.ToDecimal(), Ref, CveConceptoContableBanco, Conc, DateTime.Now, IDCtaContableBancos, -1, CveIE, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveCliente: cveCliente, CveProveedor: cveProveedor, CvePersonal: cvePersonal, ImporteMX: TxtImporte.Text.ToDecimal())) if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, !TipoMovoDevolucion, TxtImporte.Text.ToDecimal(), Ref, CveConceptoContableBanco, Conc, DateTime.Now, IDCtaContableBancos, -1, CveIE, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveCliente: cveCliente, CveProveedor: cveProveedor, CvePersonal: cvePersonal, ImporteMX: TxtImporte.Text.ToDecimal()))
{
MsgError = "No se pudo insertar concepto de bancos";
}
}
else
{ {
MsgError = "No se pudo insertar concepto de bancos"; MsgError = "No se insertó movimiento bancario";
} }
}
else
{
MsgError = "No se insertó movimiento bancario";
} }
} }
else else
@@ -551,9 +626,31 @@ public partial class Bancos_Devoluciones : ClsPaginas
ObjIE.Dispose(); ObjIE.Dispose();
ObjMov.Dispose(); ObjMov.Dispose();
ObjNom.Dispose();
if (ObjComp != null) if (ObjComp != null)
ObjComp.Dispose(); ObjComp.Dispose();
} }
#endregion #endregion
protected void CargaConcepto()
{
ClsNominas onom = new ClsNominas();
onom.GetConceptos(UsuarioActual.CveEmpresa);
DataTable dt = onom.DtResultados.FiltraParametros(" FormulaTotal = 'FNC.[MovimientosPermanentes]'");
DdlConcepto.Items.Clear();
DdlConcepto.DataSource = dt.FiltraParametros("Tipo ='D'");
DataRow drow = dt.NewRow();
drow["CveConcepto"] = "-1";
drow["Concepto"] = "Seleccione";
dt.Rows.InsertAt(drow, 0);
DdlConcepto.DataSource = dt;
DdlConcepto.SelectedValueExist("-1");
DdlConcepto.DataBind();
onom.Dispose();
//DdlConcepto.Items.Insert(0, new ListItem("Seleccione", "-1"));
}
} }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -121,10 +121,17 @@
<div class="modal-body"> <div class="modal-body">
<asp:UpdatePanel ID="UpBodyInventarioFisico" UpdateMode="Conditional" runat="server"> <asp:UpdatePanel ID="UpBodyInventarioFisico" UpdateMode="Conditional" runat="server">
<ContentTemplate> <ContentTemplate>
<div class="form-group form-md-line-input input-iconright"> <div class="row">
<asp:TextBox ID="TxtTitulo" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="50"></asp:TextBox> <div class="col-md-10">
<asp:RequiredFieldValidator ID="RFVTitulos" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtTitulo" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Titulo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator> <div class="form-group form-md-line-input input-iconright">
<label for="<%= TxtTitulo.ClientID.ToString()%>">Titulo:</label> <asp:TextBox ID="TxtTitulo" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="50"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTitulos" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtTitulo" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Titulo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
<label for="<%= TxtTitulo.ClientID.ToString()%>">Titulo:</label>
</div>
</div>
<div class="col-md-2">
<asp:CheckBox runat="server" ID="chkUsarApp" AutoPostBack="true" Text="Usar en App:"/>
</div>
</div> </div>
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtObservaciones" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="500"></asp:TextBox> <asp:TextBox ID="TxtObservaciones" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="500"></asp:TextBox>
@@ -399,7 +406,65 @@
<asp:BoundField DataField="RazonSocial" HeaderText="Proveedor" ItemStyle-HorizontalAlign="Left" /> <asp:BoundField DataField="RazonSocial" HeaderText="Proveedor" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Comandos"> <asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Comandos">
<ItemTemplate> <ItemTemplate>
<asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" CausesValidation="False" OnClick="DeleteProveedor_Click" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" /> <asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" CausesValidation="False" OnClick="DeleteProveedor_Click" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6" runat="server" id="divUsuarios" >
<div class="portlet light xspadding bordered" id="idUsuarios">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">Usuarios</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
</div>
</div>
<div class="portlet-body">
<asp:UpdatePanel ID="upUsuarios" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<div class="row">
<div class="col-md-10">
<label for="<%= DdlUsuarios.ClientID.ToString()%>">Usuarios:</label>
<asp:DropDownList ID="DdlUsuarios" CssClass="form-control select2me" runat="server" DataTextField="Nombre" DataValueField="CveUsuario" Width="100%">
</asp:DropDownList>
</div>
<div class="col-md-2" style="margin-top:20px;">
<asp:Button for="DdlUsuarios" ID="btnAddUsuarios" runat="server" CssClass="btn btn-primary btn-sm" Text="+" />
</div>
</div>
<div class="row">
<div class="col-md-12">
<asp:GridView ID="gvUsuarios" runat="server" GridLines="None" DataKeyNames="CveUsuario, Nombre, Cerrado, Bloqueado" CssClass="table table-striped table-advance table-hover Widthall mysmallbtn ScrollAD" data-heightfijo="150" data-height="150" Width="380px" AutoGenerateColumns="False" EmptyDataText="">
<Columns>
<asp:BoundField DataField="Nombre" HeaderText="Usuarios" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Comandos">
<ItemTemplate>
<asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" OnClick="DeleteUsurios_Click" CausesValidation="False" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Bloqueado">
<ItemTemplate>
<asp:CheckBox ID="chkBloqueado" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Cerrado">
<ItemTemplate>
<asp:LinkButton ID="imgCerrar" runat="server" AlternateText="Cerrar" OnClick="imgCerrar_Click" CausesValidation="False" CssClass="btn black" Text="<i class='fa fa-lock'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" style="padding-left: 7px;padding-bottom: 1px;padding-top: 1px;padding-right: 7px; color:black;"/>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
</Columns> </Columns>

View File

@@ -32,6 +32,16 @@ Partial Class Inventarios_InventarioFisico
ViewState("tDTProv") = value ViewState("tDTProv") = value
End Set End Set
End Property End Property
Private Property tDTUsuario As DataTable
Get
Return If(IsNothing(ViewState("tDTUsuario")), Nothing, CType(ViewState("tDTUsuario"), DataTable))
End Get
Set(value As DataTable)
ViewState("tDTUsuario") = value
End Set
End Property
Private Property tDTClasifExcluye As DataTable Private Property tDTClasifExcluye As DataTable
Get Get
Return If(IsNothing(ViewState("tDTClasifExcluye")), Nothing, CType(ViewState("tDTClasifExcluye"), DataTable)) Return If(IsNothing(ViewState("tDTClasifExcluye")), Nothing, CType(ViewState("tDTClasifExcluye"), DataTable))
@@ -78,10 +88,12 @@ Partial Class Inventarios_InventarioFisico
CargDdlProveedor() CargDdlProveedor()
CargaDdlProductosServicios() CargaDdlProductosServicios()
CargDdlAlmacen() CargDdlAlmacen()
CargaDdlUsuarios()
CreaTmpClasificaciones() CreaTmpClasificaciones()
CreaTmpProductosServicios() CreaTmpProductosServicios()
CreaTmpAlmacen() CreaTmpAlmacen()
CreaTmpProveedores() CreaTmpProveedores()
CreaTmpUsuario()
CargaDatos(UsuarioActual.CveEmpresa) CargaDatos(UsuarioActual.CveEmpresa)
End If End If
@@ -145,6 +157,16 @@ Partial Class Inventarios_InventarioFisico
GvProveedor.DataBind() GvProveedor.DataBind()
UpProveedor.Update() UpProveedor.Update()
End Sub End Sub
Private Sub CargaGvUsuarios()
Dim ObjInventario As New ClsInventarios()
If ObjInventario.GetInventarioFisicoDetallesUsuarios(HdnID.Value, UsuarioActual.CveEmpresa) Then
gvUsuarios.DataSource = ObjInventario.DtResultados.FiltraParametros("Incluye = 1")
End If
ObjInventario.Dispose()
gvUsuarios.DataBind()
upUsuarios.Update()
End Sub
Private Sub CargaDdlSubProyectos() Private Sub CargaDdlSubProyectos()
CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubProyecto) CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubProyecto)
CargarCentrosDeCosto(Nothing, DdlFiltroSubProyecto, Nothing, LblFiltroSubProyecto) CargarCentrosDeCosto(Nothing, DdlFiltroSubProyecto, Nothing, LblFiltroSubProyecto)
@@ -191,6 +213,15 @@ Partial Class Inventarios_InventarioFisico
End Sub End Sub
Private Sub CargaDdlUsuarios()
Dim FiltroAD() As String = {"CveUsuario", "Usuario", "Nombre", "Contraseña", "CveEmpresa", "Rol", "Correo", "Empresa", "CveRol"}
DdlUsuarios.DataSource = GlobalDTUsuarios.FiltraParametros(String.Format("CveEmpresa = {0} AND Estatus =1", UsuarioActual.CveEmpresa), "Rol ASC", FiltroAD)
DdlUsuarios.Items.Insert(0, New ListItem("Todos", "-1"))
DdlUsuarios.DataBind()
End Sub
#End Region #End Region
@@ -352,6 +383,7 @@ Partial Class Inventarios_InventarioFisico
tDTProv.Columns.Add("Incluye", GetType(Integer)) tDTProv.Columns.Add("Incluye", GetType(Integer))
End Sub End Sub
Protected Sub DeleteProveedor_Click(sender As Object, e As EventArgs) Protected Sub DeleteProveedor_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
tDTProv.Rows(GvRow.RowIndex.ToEntero).Delete() tDTProv.Rows(GvRow.RowIndex.ToEntero).Delete()
@@ -361,6 +393,69 @@ Partial Class Inventarios_InventarioFisico
End Sub End Sub
#End Region #End Region
#Region "USUARIOS"
Private Sub btnAddUsuarios_Click(sender As Object, e As EventArgs) Handles btnAddUsuarios.Click
If DdlUsuarios.SelectedValue = -1 Then
Alert("Tienes seleccionada la opcion 'Todos'.", TipoMensaje.MsgInformacion)
GvPS.DataSource = Nothing
GvPS.DataBind()
tDTPS.Rows.Clear()
Else
Dim Row As DataRow = Nothing
Row = tDTUsuario.NewRow
Row("CveUsuario") = DdlUsuarios.SelectedValue.ToEntero
Row("Nombre") = DdlUsuarios.SelectedItem.ToString
Row("Cerrado") = False
Row("Bloqueado") = False
tDTUsuario.Rows.Add(Row)
gvUsuarios.DataSource = tDTUsuario
gvUsuarios.DataBind()
upUsuarios.Update()
End If
End Sub
Private Sub CreaTmpUsuario()
tDTUsuario = New DataTable
tDTUsuario.Columns.Add("CveUsuario", GetType(Integer))
tDTUsuario.Columns.Add("Nombre", GetType(String))
tDTUsuario.Columns.Add("Incluye", GetType(Integer))
tDTUsuario.Columns.Add("Cerrado", GetType(Boolean))
tDTUsuario.Columns.Add("Bloqueado", GetType(Boolean))
End Sub
Public Sub DeleteUsurios_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
tDTUsuario.Rows(GvRow.RowIndex.ToEntero).Delete()
gvUsuarios.DataSource = tDTUsuario
gvUsuarios.DataBind()
upUsuarios.Update()
End Sub
Public Sub imgCerrar_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim Estado As Boolean = Convert.ToBoolean(tDTUsuario.Rows(GvRow.RowIndex.ToEntero).Item(3))
If Estado Then
tDTUsuario.Rows(GvRow.RowIndex.ToEntero).Item(3) = False
Else
tDTUsuario.Rows(GvRow.RowIndex.ToEntero).Item(3) = True
End If
Dim ObjInventario As New ClsInventarios()
Dim CveUsuario As Integer = tDTUsuario.Rows(GvRow.RowIndex.ToEntero).Item(0).ToString().ToEntero()
Dim Cerrado As Boolean = Convert.ToBoolean(tDTUsuario.Rows(GvRow.RowIndex.ToEntero).Item(3))
Dim Bloqueado As Boolean = Convert.ToBoolean(tDTUsuario.Rows(GvRow.RowIndex.ToEntero).Item(4))
ObjInventario.UpdateInventarioFisicoUsuarios(HdnID.Value, CveUsuario, Cerrado, Bloqueado)
gvUsuarios.DataSource = tDTUsuario
gvUsuarios.DataBind()
upUsuarios.Update()
End Sub
#End Region
#Region "INVENTARIO FISICO" #Region "INVENTARIO FISICO"
Public Sub Delete_Click(sender As Object, e As EventArgs) Public Sub Delete_Click(sender As Object, e As EventArgs)
Dim ObjInventario As New ClsInventarios() Dim ObjInventario As New ClsInventarios()
@@ -383,12 +478,16 @@ Partial Class Inventarios_InventarioFisico
DdlPSExcluye.ddl.SelectedValueExist(-1) DdlPSExcluye.ddl.SelectedValueExist(-1)
DdlClasificacion.SelectedValueExist(-1) DdlClasificacion.SelectedValueExist(-1)
DdlClasificacionExcluida.SelectedValueExist(-1) DdlClasificacionExcluida.SelectedValueExist(-1)
DdlUsuarios.SelectedValueExist(-1)
tDTUsuario.Rows.Clear()
tDTClasif.Rows.Clear() tDTClasif.Rows.Clear()
tDTClasifExcluye.Rows.Clear() tDTClasifExcluye.Rows.Clear()
tDTPS.Rows.Clear() tDTPS.Rows.Clear()
tDTPSExcluye.Rows.Clear() tDTPSExcluye.Rows.Clear()
tALM.Rows.Clear() tALM.Rows.Clear()
gvUsuarios.DataSource = Nothing
gvUsuarios.DataBind()
GvAlmacen.DataSource = Nothing GvAlmacen.DataSource = Nothing
GvAlmacen.DataBind() GvAlmacen.DataBind()
GvClasificacion.DataSource = Nothing GvClasificacion.DataSource = Nothing
@@ -411,11 +510,13 @@ Partial Class Inventarios_InventarioFisico
CargaGvClasificacion() CargaGvClasificacion()
CargaGvProductosServicios() CargaGvProductosServicios()
CargaGvProveedores() CargaGvProveedores()
CargaGvUsuarios()
tDTClasif = GvClasificacion.DataSource tDTClasif = GvClasificacion.DataSource
tDTClasifExcluye = GvClasificacionExcluida.DataSource tDTClasifExcluye = GvClasificacionExcluida.DataSource
tDTPS = GvPS.DataSource tDTPS = GvPS.DataSource
tDTPSExcluye = GvPSExcluye.DataSource tDTPSExcluye = GvPSExcluye.DataSource
tDTProv = GvProveedor.DataSource tDTProv = GvProveedor.DataSource
tDTUsuario = gvUsuarios.DataSource
tALM = GvAlmacen.DataSource tALM = GvAlmacen.DataSource
UpAddInventarioFisico.Update() UpAddInventarioFisico.Update()
RegistraScript(String.Format("$('#{0}').modal('show');", "divAddInventarioFisico")) RegistraScript(String.Format("$('#{0}').modal('show');", "divAddInventarioFisico"))
@@ -434,12 +535,13 @@ Partial Class Inventarios_InventarioFisico
tDTClasifExcluye.Rows.Clear() tDTClasifExcluye.Rows.Clear()
tALM.Rows.Clear() tALM.Rows.Clear()
tDTProv.Rows.Clear() tDTProv.Rows.Clear()
tDTUsuario.Rows.Clear()
End If End If
DdlProductosServicios.ddl.SelectedValueExist(-1) DdlProductosServicios.ddl.SelectedValueExist(-1)
DdlPSExcluye.ddl.SelectedValueExist(-1) DdlPSExcluye.ddl.SelectedValueExist(-1)
DdlProveedor.ddl.SelectedValueExist(-1) DdlProveedor.ddl.SelectedValueExist(-1)
DdlUsuarios.SelectedValueExist(-1)
DdlClasificacion.SelectedValueExist(-1) DdlClasificacion.SelectedValueExist(-1)
DdlClasificacionExcluida.SelectedValueExist(-1) DdlClasificacionExcluida.SelectedValueExist(-1)
@@ -461,6 +563,8 @@ Partial Class Inventarios_InventarioFisico
GvPSExcluye.DataBind() GvPSExcluye.DataBind()
GvProveedor.DataSource = Nothing GvProveedor.DataSource = Nothing
GvProveedor.DataBind() GvProveedor.DataBind()
gvUsuarios.DataSource = Nothing
gvUsuarios.DataBind()
UpAddInventarioFisico.Update() UpAddInventarioFisico.Update()
RegistraScript("$('#divAddInventarioFisico').modal('show');") RegistraScript("$('#divAddInventarioFisico').modal('show');")
@@ -524,6 +628,16 @@ Partial Class Inventarios_InventarioFisico
End If End If
If ErrorClasif = False Then
For Each Gvr As GridViewRow In gvUsuarios.Rows
If Not ObjInventario.AddInventarioFisicoUsuarios(HdnID.Value, Gvr.DataKey("CveUsuario").ToEntero, True, False, False) Then
ErrorClasif = True
Exit For
End If
Next
End If
If ErrorClasif = False And CveInventarioFisico > 0 Then If ErrorClasif = False And CveInventarioFisico > 0 Then
ObjInventario.Commit() ObjInventario.Commit()
Alert("Agregado Correctamente.", TipoMensaje.MsgInformacion) Alert("Agregado Correctamente.", TipoMensaje.MsgInformacion)
@@ -556,6 +670,10 @@ Partial Class Inventarios_InventarioFisico
ErrorClasif = True ErrorClasif = True
End If End If
If Not ObjInventario.RemoveInventarioFisicoUsuarios(HdnID.Value) Then
ErrorClasif = True
End If
If ErrorClasif = False Then If ErrorClasif = False Then
For Each Gvr As GridViewRow In GvAlmacen.Rows For Each Gvr As GridViewRow In GvAlmacen.Rows
If Not ObjInventario.AddInventarioFisicoAlmacenes(HdnID.Value, Gvr.DataKey("CveAlmacen").ToEntero) Then If Not ObjInventario.AddInventarioFisicoAlmacenes(HdnID.Value, Gvr.DataKey("CveAlmacen").ToEntero) Then
@@ -606,6 +724,21 @@ Partial Class Inventarios_InventarioFisico
End If End If
If ErrorClasif = False Then
Dim cerrado As Boolean = False
Dim bloqueado As Boolean = False
For Each Gvr As GridViewRow In gvUsuarios.Rows
cerrado = Convert.ToBoolean(Gvr.DataKey("Cerrado").ToString)
bloqueado = Gvr.FCCheckBox("chkBloqueado").Checked
If Not ObjInventario.AddInventarioFisicoUsuarios(HdnID.Value, Gvr.DataKey("CveUsuario").ToEntero, True, cerrado, bloqueado) Then
ErrorClasif = True
Exit For
End If
Next
End If
If ErrorClasif = False And HdnID.Value > 0 Then If ErrorClasif = False And HdnID.Value > 0 Then
ObjInventario.Commit() ObjInventario.Commit()
@@ -630,9 +763,24 @@ Partial Class Inventarios_InventarioFisico
End If End If
End Sub End Sub
Protected Sub gvUsuarios_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles gvUsuarios.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If Convert.ToBoolean(e.Row.DBCampo("Bloqueado")) Then
e.Row.FCCheckBox("chkBloqueado").Checked = True
End If
If Convert.ToBoolean(e.Row.DBCampo("Cerrado")) Then
e.Row.FCLinkButton("imgCerrar").Text = "<i class='fa fa-lock'></i>"
Else
e.Row.FCLinkButton("imgCerrar").Text = "<i class='fa fa-unlock'></i>"
End If
End If
End Sub
#End Region #End Region
#Region "ALMACEN" #Region "ALMACEN"
Public Sub DeleteAlmacen_Click(sender As Object, e As EventArgs) Public Sub DeleteAlmacen_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
@@ -685,4 +833,13 @@ Partial Class Inventarios_InventarioFisico
#End Region #End Region
Protected Sub chkUsarApp_CheckedChanged(sender As Object, e As EventArgs) Handles chkUsarApp.CheckedChanged
If chkUsarApp.Checked Then
divUsuarios.Visible = True
Else
divUsuarios.Visible = False
End If
End Sub
End Class End Class

View File

@@ -4,6 +4,7 @@ Imports System.Data
Imports Extensiones Imports Extensiones
Imports System.IO Imports System.IO
Imports GemBox.Spreadsheet Imports GemBox.Spreadsheet
Imports Newtonsoft.Json
Partial Class OC Partial Class OC
Inherits ClsPaginas Inherits ClsPaginas
@@ -2095,141 +2096,120 @@ Partial Class OC
End If End If
'Valida cantidad en contrato 'Valida cantidad en contrato
Dim ObjContratos As New ClsContratos
Dim TieneError As Boolean = False Dim TieneError As Boolean = False
Dim Mensaje As String = "" Dim dttemp As New DataTable ' GlobalDTContratos().FiltraParametros(String.Format("CveSubProyecto = {0}", DdlSubProyecto.SelectedValue.ToString))
Dim dttemp As DataTable = Nothing 'GlobalDTContratos(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveSubProyecto = {0}", DdlSubProyecto.SelectedValue.ToString)) dttemp.Columns.Add("CveSubProyecto", GetType(Integer))
If dttemp IsNot Nothing AndAlso dttemp.Rows.Count > 0 Then dttemp.Columns.Add("CvePS", GetType(Integer))
Dim drContrato As DataRow = dttemp.Rows(0) dttemp.Columns.Add("Cantidad", GetType(Decimal))
If ObjContratos.GetContratosDetalle(drContrato("CveContrato").ToString.ToEntero) Then dttemp.Columns.Add("PU", GetType(Decimal))
Dim dtContratodetalle As DataTable = ObjContratos.DtResultados.FiltraParametros(String.Format("CvePS = {0}", DdlP2.SelectedValue.ToString))
If dtContratodetalle IsNot Nothing AndAlso dtContratodetalle.Rows.Count > 0 Then Dim DrPSValidar = dttemp.NewRow
Dim drContratoDetalle As DataRow = dtContratodetalle(0) DrPSValidar("CveSubProyecto") = DdlSubProyecto.SelectedValue.ToString.ToEntero
If Convert.ToBoolean(drContratoDetalle("LimitarCantidad")) Then DrPSValidar("CvePS") = DdlP2.SelectedValue.ToString.ToEntero
If ObjContratos.GetReporteContratosAvancesDetalleControl(drContrato("CveContrato").ToString.ToEntero, UsuarioActual.CveEmpresa) Then DrPSValidar("Cantidad") = TxtCant.Text.Trim.ToDecimal
Dim dtContratodetalleControl As DataTable = ObjContratos.DtResultados.FiltraParametros(String.Format("CvePS = {0}", DdlP2.SelectedValue.ToString)) DrPSValidar("PU") = txtPrecioUnitario.Text.Trim.ToDecimal
If dtContratodetalleControl IsNot Nothing AndAlso dtContratodetalleControl.Rows.Count > 0 Then dttemp.Rows.Add(DrPSValidar)
Dim drContratoDetalleControl As DataRow = dtContratodetalleControl(0)
If TxtCant.Text.Trim.ToDouble > drContratoDetalleControl("FaltanteCantidad").ToString.ToDouble Then Dim dtPSInvalidos As String = ValidarPSContrato(dttemp)
Mensaje = String.Format("La cantidad del Producto/Servicio debe ser menor o igual a {0}", drContratoDetalleControl("FaltanteCantidad").ToString) If dtPSInvalidos <> "" Then
TieneError = True Alert(dtPSInvalidos, TipoMensaje.MsgAdvertencia)
End If Exit Sub
Else
Mensaje = "Este producto no pertence al contrato seleccionado"
TieneError = True
End If
Else
Mensaje = "Error al consultar el contrato"
End If
End If
Else
Mensaje = "Este producto no pertence al contrato seleccionado"
TieneError = True
End If
Else
Mensaje = "Error al consultar el contrato"
End If
End If End If
If Not TieneError Then
ObjContratos.Dispose() If DtDetalle IsNot Nothing Then
If DtDetalle IsNot Nothing Then Dim DrPS = GlobalDTPS(CveEmpresaActual, CvePS:=DdlP2.SelectedValue.ToEntero).FiltroPrimero("")
Dim DrPS = GlobalDTPS(CveEmpresaActual, CvePS:=DdlP2.SelectedValue.ToEntero).FiltroPrimero("") If DrPS Is Nothing Then
If DrPS Is Nothing Then Alert("Ocurrió un error al cargar la información del producto. Por favor vuelva a intentar.", TipoMensaje.MsgAdvertencia)
Alert("Ocurrió un error al cargar la información del producto. Por favor vuelva a intentar.", TipoMensaje.MsgAdvertencia) Exit Sub
Exit Sub End If
End If
If UsuarioActual.Empresa.Funcionalidad(532) = "1" Then If UsuarioActual.Empresa.Funcionalidad(532) = "1" Then
Dim ObjCon As New ClsContratos Dim ObjCon As New ClsContratos
Dim CvePresupuesto As Integer = 0 Dim CvePresupuesto As Integer = 0
Dim Autorizado As Double = 0 Dim Autorizado As Double = 0
Dim Ejercido As Double = 0 Dim Ejercido As Double = 0
If ObjCon.GetPresupuestos(-1, "-1", DdlSubProyecto.SelectedValue.ToEntero, 2, -1, UsuarioActual.CveEmpresa) Then If ObjCon.GetPresupuestos(-1, "-1", DdlSubProyecto.SelectedValue.ToEntero, 2, -1, UsuarioActual.CveEmpresa) Then
If ObjCon.DtResultados.Rows.Count > 0 Then If ObjCon.DtResultados.Rows.Count > 0 Then
CvePresupuesto = ObjCon.DtResultados.Rows(0)("CvePresupuesto").ToString.ToEntero CvePresupuesto = ObjCon.DtResultados.Rows(0)("CvePresupuesto").ToString.ToEntero
If CvePresupuesto > 0 Then If CvePresupuesto > 0 Then
If ObjCon.GetPresupuestosDetalle(CvePresupuesto, -1, UsuarioActual.CveEmpresa) Then If ObjCon.GetPresupuestosDetalle(CvePresupuesto, -1, UsuarioActual.CveEmpresa) Then
If ObjCon.DtResultados.FiltraParametros($"CveClasificacion = {DdlClasificacion.SelectedValue.ToEntero} AND Importe > 0").Rows.Count > 0 Then If ObjCon.DtResultados.FiltraParametros($"CveClasificacion = {DdlClasificacion.SelectedValue.ToEntero} AND Importe > 0").Rows.Count > 0 Then
Autorizado = ObjCon.DtResultados.FiltraParametros($"CveClasificacion = {DdlClasificacion.SelectedValue.ToEntero} AND Importe > 0").Rows(0)("Importe").ToString.ToDouble Autorizado = ObjCon.DtResultados.FiltraParametros($"CveClasificacion = {DdlClasificacion.SelectedValue.ToEntero} AND Importe > 0").Rows(0)("Importe").ToString.ToDouble
End If
End If End If
If ObjCon.GetPresupuestosRep(CvePresupuesto, -1, 1, $"01/09/{DateTime.Now.Year - 1}".ToDate, Now, UsuarioActual.CveEmpresa, DdlProyecto.SelectedValue.ToEntero, End If
DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveUsuario, DdlClasificacion.SelectedValue.ToEntero) Then If ObjCon.GetPresupuestosRep(CvePresupuesto, -1, 1, $"01/09/{DateTime.Now.Year - 1}".ToDate, Now, UsuarioActual.CveEmpresa, DdlProyecto.SelectedValue.ToEntero,
If ObjCon.DtResultados.Rows.Count > 0 Then DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveUsuario, DdlClasificacion.SelectedValue.ToEntero) Then
Ejercido = ObjCon.DtResultados.Rows(0)("Ejercido").ToString.ToDouble If ObjCon.DtResultados.Rows.Count > 0 Then
End If Ejercido = ObjCon.DtResultados.Rows(0)("Ejercido").ToString.ToDouble
End If End If
End If End If
End If End If
End If End If
ObjCon.Dispose() End If
ObjCon.Dispose()
If CvePresupuesto > 0 And Autorizado > 0 Then If CvePresupuesto > 0 And Autorizado > 0 Then
Dim Diferencia As Double = (Ejercido + If(txtPrecioUnitario.Text.ToDouble > 0, (txtPrecioUnitario.Text.ToDouble * TxtCant.Text.ToDouble) - TxtDescuentoAdd.Text.ToDouble, 0)) - Autorizado Dim Diferencia As Double = (Ejercido + If(txtPrecioUnitario.Text.ToDouble > 0, (txtPrecioUnitario.Text.ToDouble * TxtCant.Text.ToDouble) - TxtDescuentoAdd.Text.ToDouble, 0)) - Autorizado
If Diferencia > 0 Then If Diferencia > 0 Then
Alert($"No hay presupuesto disponible en el subproyecto <b>{DdlSubProyecto.SelectedItem.Text}</b> y la clasificación <b>{DdlClasificacion.SelectedItem.Text}</b> se excede por <b>{Diferencia.FormatoNumero}</b>", TipoMensaje.MsgAdvertencia) Alert($"No hay presupuesto disponible en el subproyecto <b>{DdlSubProyecto.SelectedItem.Text}</b> y la clasificación <b>{DdlClasificacion.SelectedItem.Text}</b> se excede por <b>{Diferencia.FormatoNumero}</b>", TipoMensaje.MsgAdvertencia)
Exit Sub Exit Sub
End If
End If End If
End If End If
Dim RetISR As Double = DrPS("RetISR").ToString.ToDouble
Dim RetIVA As Double = DrPS("RetIVA").ToString.ToDouble
Dim IvaPS As Double = DrPS("IVA").ToString.ToDouble
'If IvaPS = -1 Then 'IVA DE LA SUCURSAL
' IvaPS = GlobalDTSubProyectos(-1, DdlSubProyecto.SelectedValue.ToEntero).FiltroPrimeroValor("IVA").ToDouble
'End If
Dim IEPSPS As Double = DrPS("IEPSPorcentaje").ToString.ToDouble
Dim IEPSPSIVA As Double = If(DrPS("IEPSGrabaIVA").ToString = "True", DrPS("IEPSPorcentaje").ToString.ToDouble, 0)
Dim IdCuentaPorEjercer As Integer = If(HdnCveCuentaPorEjercer.Value = String.Empty, -1, HdnCveCuentaPorEjercer.Value.ToEntero)
Dim IdCuentaComprometido As Integer = If(HdnCveCuentaComprometido.Value = String.Empty, -1, HdnCveCuentaComprometido.Value.ToEntero)
Dim Proyecto As String = If(DdlProyecto.SelectedValue.ToString.ToEntero > 0, DdlProyecto.SelectedItem.Text, "Sin Proyecto")
Dim SubProyecto As String = If(DdlSubProyecto.SelectedValue.ToString.ToEntero > 0, DdlSubProyecto.SelectedItem.Text, "Sin SubProyecto")
Dim TotalPS As Double = If(txtPrecioUnitario.Text.ToDouble > 0, (txtPrecioUnitario.Text.ToDouble * TxtCant.Text.ToDouble) - TxtDescuentoAdd.Text.ToDouble, 0)
Dim ImportePS As Double = If(txtPrecioUnitario.Text.ToDouble > 0, txtPrecioUnitario.Text.ToDouble, 0)
Dim CveOrdenCompraDetalle As Integer = DtDetalle.MAX("CveOrdenCompraDetalle").ToEntero + 100
'Si es Proveedor Extranjero el IVA es 0%
If GlobalDTCompProveedores(CveEmpresaActual).FiltraParametros($"CveProveedor = {DdlProveedores.SelectedValue} AND RFC = 'XEXX010101000'").Rows.Count = 1 Then
IvaPS = 0
End If
AddPS(TxtCant.Text, DdlP2.SelectedValue.ToEntero, DdlP2.SelectedText, TxtObsPS.Text, ImportePS, TxtDescuentoAdd.Text.ToDouble, TotalPS,
CboUnidadMedida.SelectedValue.ToEntero, IvaPS, IEPSPS, IEPSPSIVA, DdlClasificacion.SelectedValue.ToEntero, CboUnidadMedida.SelectedItem.Text, DdlClasificacion.SelectedItem.Text, DdlProyecto.SelectedValue.ToEntero, Proyecto,
DdlSubProyecto.SelectedValue.ToEntero, SubProyecto, LblCodigo.Text, HdnCveActivoFijo.Value.ToEntero, 0, CveOrdenCompraDetalle, CveOrdenCompra, IdCuentaPorEjercer,
IdCuentaComprometido, DdlACGeneral1.SelectedValue.ToEntero, DdlACGeneral2.SelectedValue.ToEntero, DdlACGeneral3.SelectedValue.ToEntero, DdlACGeneral4.SelectedValue.ToEntero,
DdlACGeneral5.SelectedValue.ToEntero, RetIVA, RetISR, CveCultivoCuadroDetalle:=DdlCultivosCuadro.SelectedValue.ToEntero, Cuadro:=DdlCultivosCuadro.SelectedItem.Text)
TxtCant.Text = ""
CboUnidadMedida.SelectedIndex = 0
DdlClasificacion.SelectedIndex = 0
DdlP2.SelectedValue = "-1"
DdlP2.SelectedText = "Seleccione un producto o servicio"
txtPrecioUnitario.Text = ""
TxtObsPS.Text = ""
HdnCveActivoFijo.Value = ""
LblCodigo.Text = ""
LblCvePOA.Text = ""
TxtCant.Focus()
Total.Text = "0.00"
TxtDescuentoAdd.Text = "0.00"
End If End If
CargaSuperior()
CargaDatosDetalles()
UPPDetalle.Update() Dim RetISR As Double = DrPS("RetISR").ToString.ToDouble
Else Dim RetIVA As Double = DrPS("RetIVA").ToString.ToDouble
Alert(Mensaje, TipoMensaje.MsgAdvertencia) Dim IvaPS As Double = DrPS("IVA").ToString.ToDouble
'If IvaPS = -1 Then 'IVA DE LA SUCURSAL
' IvaPS = GlobalDTSubProyectos(-1, DdlSubProyecto.SelectedValue.ToEntero).FiltroPrimeroValor("IVA").ToDouble
'End If
Dim IEPSPS As Double = DrPS("IEPSPorcentaje").ToString.ToDouble
Dim IEPSPSIVA As Double = If(DrPS("IEPSGrabaIVA").ToString = "True", DrPS("IEPSPorcentaje").ToString.ToDouble, 0)
Dim IdCuentaPorEjercer As Integer = If(HdnCveCuentaPorEjercer.Value = String.Empty, -1, HdnCveCuentaPorEjercer.Value.ToEntero)
Dim IdCuentaComprometido As Integer = If(HdnCveCuentaComprometido.Value = String.Empty, -1, HdnCveCuentaComprometido.Value.ToEntero)
Dim Proyecto As String = If(DdlProyecto.SelectedValue.ToString.ToEntero > 0, DdlProyecto.SelectedItem.Text, "Sin Proyecto")
Dim SubProyecto As String = If(DdlSubProyecto.SelectedValue.ToString.ToEntero > 0, DdlSubProyecto.SelectedItem.Text, "Sin SubProyecto")
Dim TotalPS As Double = If(txtPrecioUnitario.Text.ToDouble > 0, (txtPrecioUnitario.Text.ToDouble * TxtCant.Text.ToDouble) - TxtDescuentoAdd.Text.ToDouble, 0)
Dim ImportePS As Double = If(txtPrecioUnitario.Text.ToDouble > 0, txtPrecioUnitario.Text.ToDouble, 0)
Dim CveOrdenCompraDetalle As Integer = DtDetalle.MAX("CveOrdenCompraDetalle").ToEntero + 100
'Si es Proveedor Extranjero el IVA es 0%
If GlobalDTCompProveedores(CveEmpresaActual).FiltraParametros($"CveProveedor = {DdlProveedores.SelectedValue} AND RFC = 'XEXX010101000'").Rows.Count = 1 Then
IvaPS = 0
End If
AddPS(TxtCant.Text, DdlP2.SelectedValue.ToEntero, DdlP2.SelectedText, TxtObsPS.Text, ImportePS, TxtDescuentoAdd.Text.ToDouble, TotalPS,
CboUnidadMedida.SelectedValue.ToEntero, IvaPS, IEPSPS, IEPSPSIVA, DdlClasificacion.SelectedValue.ToEntero, CboUnidadMedida.SelectedItem.Text, DdlClasificacion.SelectedItem.Text, DdlProyecto.SelectedValue.ToEntero, Proyecto,
DdlSubProyecto.SelectedValue.ToEntero, SubProyecto, LblCodigo.Text, HdnCveActivoFijo.Value.ToEntero, 0, CveOrdenCompraDetalle, CveOrdenCompra, IdCuentaPorEjercer,
IdCuentaComprometido, DdlACGeneral1.SelectedValue.ToEntero, DdlACGeneral2.SelectedValue.ToEntero, DdlACGeneral3.SelectedValue.ToEntero, DdlACGeneral4.SelectedValue.ToEntero,
DdlACGeneral5.SelectedValue.ToEntero, RetIVA, RetISR, CveCultivoCuadroDetalle:=DdlCultivosCuadro.SelectedValue.ToEntero, Cuadro:=DdlCultivosCuadro.SelectedItem.Text)
TxtCant.Text = ""
CboUnidadMedida.SelectedIndex = 0
DdlClasificacion.SelectedIndex = 0
DdlP2.SelectedValue = "-1"
DdlP2.SelectedText = "Seleccione un producto o servicio"
txtPrecioUnitario.Text = ""
TxtObsPS.Text = ""
HdnCveActivoFijo.Value = ""
LblCodigo.Text = ""
LblCvePOA.Text = ""
TxtCant.Focus()
Total.Text = "0.00"
TxtDescuentoAdd.Text = "0.00"
End If End If
ObjContratos.Dispose()
CargaSuperior()
CargaDatosDetalles()
UPPDetalle.Update()
End Sub End Sub
Private Sub AddPS(Cantidad As String, CvePS As Integer, PS As String, Observaciones As String, Importe As Double, Descuento As Double, Total As Double, CveUnidadMedida As Integer, IVAPS As Double, IEPSPS As Double, IEPSPSIVA As Double, CveClasificacion As Integer, Private Sub AddPS(Cantidad As String, CvePS As Integer, PS As String, Observaciones As String, Importe As Double, Descuento As Double, Total As Double, CveUnidadMedida As Integer, IVAPS As Double, IEPSPS As Double, IEPSPSIVA As Double, CveClasificacion As Integer,
UM As String, Clasificacion As String, CveProyecto As Integer, Proyecto As String, CveSubProyecto As Integer, SubProyecto As String, CodigoAF As String, CveActivoFijo As Integer, TipoDato As Integer, UM As String, Clasificacion As String, CveProyecto As Integer, Proyecto As String, CveSubProyecto As Integer, SubProyecto As String, CodigoAF As String, CveActivoFijo As Integer, TipoDato As Integer,
@@ -2505,6 +2485,12 @@ Partial Class OC
TieneError = True TieneError = True
End If End If
Dim dtPSInvalidos As String = ValidarPSContrato(DtDetalle.FiltraParametros("", "", {"CveSubProyecto", "CvePS", "Cantidad", "PU"}))
If dtPSInvalidos <> "" Then
Alert(dtPSInvalidos, TipoMensaje.MsgAdvertencia)
TieneError = True
End If
Return TieneError Return TieneError
End Function End Function
Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
@@ -8544,4 +8530,40 @@ Partial Class OC
DdlCultivosCuadroEdit.SelectedValueExist(CveCultivoCuadroDetalle) DdlCultivosCuadroEdit.SelectedValueExist(CveCultivoCuadroDetalle)
End Sub End Sub
Private Function ValidarPSContrato(DtPS As DataTable) As String
Dim Retorno As String = ""
Dim objContratos As New ClsContratos
Dim TempPS As String = JsonConvert.SerializeObject(DtPS).ToString
Dim MensajeProducto As String = ""
Dim MensajeCantidad As String = ""
Dim MensajeImporte As String = ""
If objContratos.ValidaPSContrato(TempPS) Then
If objContratos.DtResultados.Rows.Count > 0 Then
MensajeProducto = "Los siguientes productos no pertenece al contrato seleccionado: "
MensajeCantidad = "Los siguientes productos sobrepasan la cantidad faltante del contrato seleccionado: "
MensajeImporte = "Los siguientes productos sobrepasan los importes faltantes del contrato seleccionado: "
For Each dr As DataRow In objContratos.DtResultados.Rows
If dr("ProductoNoContratado").ToString.ToEntero = 1 Then
MensajeProducto += String.Format("<br/> {0}", dr("PS"))
ElseIf dr("CantidadSobrePasada").ToString.ToEntero = 1 Then
MensajeCantidad += String.Format("<br/> {0} - Cantidad maxima: {1}", dr("PS"), dr("FaltanteCantidad"))
ElseIf dr("ImporteSobrePasado").ToString.ToEntero = 1 Then
MensajeImporte += String.Format("<br/> {0} - Importe maximo: {1}", dr("PS"), dr("FaltanteImporte"))
End If
Next
End If
End If
If MensajeProducto.Length <> 64 Then
Retorno = MensajeProducto
ElseIf MensajeCantidad.Length <> 84 Then
Retorno = MensajeCantidad
ElseIf MensajeImporte.Length <> 86 Then
Retorno = MensajeImporte
End If
Return Retorno
End Function
End Class End Class