diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 2b3255f1e..ff0a320d9 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -1284,6 +1284,32 @@ Partial Class Compras_Compras End Property + Private Property ObsOC As String + Get + If ViewState("ObsOC") Is Nothing Then + ViewState("ObsOC") = "" + End If + + Return ViewState("ObsOC").ToString + End Get + Set(value As String) + ViewState("ObsOC") = value + End Set + End Property + + Private Property AplicarObsOC As Boolean + Get + If ViewState("AplicarObsOC") Is Nothing Then + ViewState("AplicarObsOC") = False + End If + + Return Boolean.Parse(ViewState("AplicarObsOC").ToString) + End Get + Set(value As Boolean) + ViewState("AplicarObsOC") = value + End Set + End Property + Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load @@ -5789,6 +5815,10 @@ Partial Class Compras_Compras Dim ObsGDiaz As String = If(EsGrupoDiaz, TxtObsFact.Text, "") + If AplicarObsOC Then + ObsGDiaz = ObsOC + End If + For Each tCveAlmacen As Integer In ListAlmacenes If GvInv.Rows(indice).FCDropDownList("DdlRecibirInv").SelectedValue = "1" Then Continue For @@ -15050,7 +15080,18 @@ Partial Class Compras_Compras + Dim ObsOCAsignado As Boolean = False + For Each CveOCItem As String In ArrayCveOC.Distinct + + + If Not ObsOCAsignado Then + If ObjOC.GetOC(CveOCItem.ToEntero, UsuarioActual.CveEmpresa) Then + ObsOC = ObjOC.Descripcion + End If + ObsOCAsignado = True + End If + If ObjOC.GetOrdenesDetalle(CveOCItem.ToEntero, UsuarioActual.CveEmpresa) AndAlso ObjOC.DtResultados.Rows.Count > 0 Then If IsNothing(DTOCTemp) Then DTOCTemp = ObjOC.DtResultados.Copy @@ -15933,6 +15974,8 @@ Partial Class Compras_Compras End If + AplicarObsOC = True + CalculaTotales() End Sub diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb index 96fd708f7..16c65913d 100644 --- a/Compras/eFacturas.aspx.vb +++ b/Compras/eFacturas.aspx.vb @@ -6080,6 +6080,7 @@ Partial Class Compras_eFacturas End Sub Private Sub VinculacionAutomaticaRNC() + Dim ErrorProceso As Boolean = False Dim ErrorProcesoStr As String = "" Dim Contador As Integer = 0 @@ -6088,7 +6089,6 @@ Partial Class Compras_eFacturas 'DataKeyNames="CveFactura,CveCompra,CveProveedor,SerieFolio,NombreProveedor,UUID,RFCDe,RFCPara,TipoFactura,FueValidado,TipoComprobante,Version,RFCde,XML,PDF,BloquePorComplemento,Total,CveTipoProveedor,FechaFactura" - For Each GvRow As GridViewRow In GvD.Rows If GvRow.DataKey("TipoComprobante") = "E" Then @@ -6113,31 +6113,97 @@ Partial Class Compras_eFacturas CompraActual.Descripcion = TxtDescripcionCompra.Text.Trim CompraActual.NombreProveedor = GvRow.DataKey("NombreProveedor") - Dim listaRNC As New List(Of Integer) + Dim DT_RNC As New DataTable + DT_RNC.Columns.Add("CveCompra", GetType(Integer)) + DT_RNC.Columns.Add("CveSubProyecto", GetType(Integer)) + DT_RNC.Columns.Add("Saldo", GetType(Decimal)) + + For Each DR As String In CompraActual.DocumentosRelacionadosUUIDSList If Objcompras.GetVinculacionRNC(UUID:=DR, CveEmpresa:=UsuarioActual.CveEmpresa) Then - + For Each drRNC As DataRow In Objcompras.DtResultados.Rows + Dim DR_RNC As DataRow = DT_RNC.NewRow + DR_RNC("CveCompra") = drRNC("CveCompra").ToString.ToEntero + DR_RNC("CveSubProyecto") = drRNC("CveSubProyecto").ToString.ToEntero + DR_RNC("Saldo") = drRNC("Saldo").ToString.ToDecimal + DT_RNC.Rows.Add(DR_RNC) + Next End If Next + Dim Saldo As Decimal = DT_RNC.SUM("Saldo") + Dim CveSubProyectoPrincipal As Integer = DT_RNC.FiltroPrimeroValor("CveSubProyecto").ToEntero + + If Saldo >= CompraActual.Total Then + + Dim CvePSRNC As Integer = UsuarioActual.Empresa.Funcionalidad(580).ToEntero + Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePSRNC).FiltroPrimero("") + + + + If CompraActual.ConfiguraRegistroCompra(CvePSRNC, CveSubProyectoPrincipal, -1, -1, + -1, -1, NumeroReembolso:="", + DTProrrateo:=New DataTable, DTPagosDeudores:=New DataTable, TipoComprobante:="E") Then + + If CompraActual.AddCompra(Objcompras.IniciaTransacSQL()) Then + Contador = Contador + 1 + Else + ErrorProceso = True + ErrorProcesoStr = CompraActual.MensajeError + Exit For + End If + Else + ErrorProceso = True + ErrorProcesoStr = CompraActual.MensajeError + Exit For + End If + + + + If Not ErrorProceso Then + Dim ObjConta As New ClsContabilidad(Objcompras.IniciaTransacSQL()) + Dim TotalSaldo As Decimal = CompraActual.Total + Dim Referencia As String = GvRow.DataKey("SerieFolio") + Dim Concepto As String = GvRow.DataKey("SerieFolio") + Dim TipoCambio As Decimal = GlobalTipoCambio(GvRow.DataKey("FechaFactura").ToDate).ToDecimal + + For Each drRNC As GridViewRow In DT_RNC.Rows + + + Dim ImporteRNCSaldar As Decimal = drRNC.DataKey("Saldo").ToDecimal + Dim CveCompraRNC As Integer = drRNC.DataKey("CveCompra").ToEntero + If ImporteRNCSaldar > TotalSaldo Then ImporteRNCSaldar = TotalSaldo + + If Not ErrorProceso Then + + If Not ObjConta.AddPrePolizasDetalle(CompraActual.CvePrePoliza, False, ImporteRNCSaldar, ImporteRNCSaldar, 373, Referencia, Concepto, CveCompra:=CveCompraRNC, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio, + CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then + ErrorProceso = True + Exit For + End If + + If Not ErrorProceso Then + Dim ConPrePNC As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(15, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor) + + If Not ObjConta.AddPrePolizasDetalle(CompraActual.CvePrePoliza, True, ImporteRNCSaldar, ImporteRNCSaldar, ConPrePNC.CveConcepto, Referencia, Concepto, CveCompra:=CompraActual.CveCompra, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio, + CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then + ErrorProceso = True + Exit For + End If + End If + + If Not ErrorProceso Then + TotalSaldo = TotalSaldo - ImporteRNCSaldar + End If + + End If + + Next + End If + + End If - 'If CompraActual.ConfiguraRegistroCompra(DdlPS.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, CveCajachica, CvePersonal, - ' DdlRetIVAConcepto.SelectedValue.ToEntero, DdlRetISRConcepto.SelectedValue.ToEntero, NumeroReembolso:=TxtNumeroReembolso.Text, - ' DTProrrateo:=DTProrrateo, DTPagosDeudores:=New DataTable) Then - ' 'FIX ME OIC Recuerda cambiar el tipo de documento al registrar, actualmente tiene FAC y NC uno u otro, ajustar para que registre *** Egs *** cuado TipoComprobante = 'E' - ' If CompraActual.AddCompra(Objcompras.IniciaTransacSQL()) Then - ' Contador = Contador + 1 - ' Else - ' ErrorProceso = True - ' ErrorProcesoStr = CompraActual.MensajeError - ' Exit For - ' End If - 'Else - ' ErrorProceso = True - ' ErrorProcesoStr = CompraActual.MensajeError - ' Exit For - 'End If 'If RBLContado.SelectedValue.ToEntero = 4 Then 'Deudores ' Dim CompraActualPagar = New Compra @@ -6850,7 +6916,8 @@ Public Class ClsCompraManager #End Region End Sub - Public Function ConfiguraRegistroCompra(CvePS As Integer, CveSubProyecto As Integer, CveCajaChica As Integer, CvePersonal As Integer, CveRetIVAConcepto As Integer, CveRetISRConcepto As Integer, NumeroReembolso As String, DTProrrateo As DataTable, DTPagosDeudores As DataTable) As Boolean + Public Function ConfiguraRegistroCompra(CvePS As Integer, CveSubProyecto As Integer, CveCajaChica As Integer, CvePersonal As Integer, CveRetIVAConcepto As Integer, CveRetISRConcepto As Integer, NumeroReembolso As String, DTProrrateo As DataTable, + DTPagosDeudores As DataTable, Optional TipoComprobante As String = "") As Boolean Dim respuesta As Boolean = True Me.CveSubProyecto = CveSubProyecto @@ -6863,6 +6930,10 @@ Public Class ClsCompraManager Me.NumeroReembolso = NumeroReembolso Me.DTPagosDeudores = DTPagosDeudores + If TipoComprobante.Length > 0 Then + Me.TipoComprobante = TipoComprobante + End If + Dim dRowSubProyecto As DataRow = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyecto).FiltroPrimero("") If dRowSubProyecto IsNot Nothing Then @@ -6877,7 +6948,7 @@ Public Class ClsCompraManager Dim DTIndex As DataTable = TmpDT.FiltraParametros("", DistinctColumns:={"Consec"}) For Each dRowIndex As DataRow In DTIndex.Rows - If Not UpdatePSReembolso(dRowIndex("Consec").ToString.ToEntero, CvePS) Then + If Not UpdatePSDetalles(dRowIndex("Consec").ToString.ToEntero, CvePS) Then respuesta = False End If Next @@ -7830,7 +7901,7 @@ Public Class ClsCompraManager End Sub - Private Function UpdatePSReembolso(Index As Integer, CvePS As Integer) As Boolean + Private Function UpdatePSDetalles(Index As Integer, CvePS As Integer) As Boolean Dim Respuesta As Boolean = True diff --git a/Inventarios/EntradasSalidas.aspx b/Inventarios/EntradasSalidas.aspx index 014cea3f9..526136ddb 100644 --- a/Inventarios/EntradasSalidas.aspx +++ b/Inventarios/EntradasSalidas.aspx @@ -285,7 +285,8 @@
- + <%----%> +
diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb index d9d4fac80..791c11dbb 100644 --- a/Inventarios/EntradasSalidas.aspx.vb +++ b/Inventarios/EntradasSalidas.aspx.vb @@ -1130,10 +1130,18 @@ Partial Class Inventarios_EntradasSalidas 'TxtPedidoContrato.Text = Mov.PedidoContrato If Mov.CveProveedor > 0 Then - DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa, Mov.CveProveedor) - DdlProveedor.DataBind() - DdlProveedor.SelectedValueExist(Mov.CveProveedor) - DdlProveedor.Enabled = False + 'DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa, Mov.CveProveedor) + 'DdlProveedor.DataBind() + 'DdlProveedor.SelectedValueExist(Mov.CveProveedor) + 'DdlProveedor.Enabled = False + + 'CargaProveedores + DdlProveedores.setEsWebService(True) + DdlProveedores.Attributes.Add("data-metodo", "getproveedores") + DdlProveedores.txtValue.Value = Mov.CveProveedor.ToString + DdlProveedores.txtText.Value = Mov.DtResultados.Rows(0)("RazonSocial").ToString + DdlProveedores.SelectedValue = "-1" + TrProveedor.Visible = True End If @@ -1766,6 +1774,10 @@ Partial Class Inventarios_EntradasSalidas End Sub Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click + If DdlConcepto.SelectedValue.ToEntero = 28 AndAlso DdlProveedores.SelectedValue.ToEntero <= 0 Then + Alert("Debe seleccionar un proveedor", TipoMensaje.MsgAdvertencia) + Exit Sub + End If If Not IsDate(TxtFecha.Text.Replace(",", "")) Then Alert("Debe seleccioanr una fecha valida", TipoMensaje.MsgAdvertencia) @@ -1978,7 +1990,7 @@ Partial Class Inventarios_EntradasSalidas tFolio = If(TxtFolio.Text.ToEntero <> FolioAsignado, TxtFolio.Text.ToEntero, -1) End If Dim tCveProveedor As Integer = -1 - If DdlProveedor.SelectedValue.ToEntero > 0 Then tCveProveedor = DdlProveedor.SelectedValue.ToEntero + If DdlProveedores.SelectedValue.ToEntero > 0 Then tCveProveedor = DdlProveedores.SelectedValue.ToEntero Dim obs As String = TxtObservaciones.Text.Trim() If obs = "" Then obs = DdlConcepto.SelectedItem.Text @@ -2604,8 +2616,13 @@ Partial Class Inventarios_EntradasSalidas Case "28" TrProveedor.Visible = True - DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa) - DdlProveedor.DataBind() + 'DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa) + 'DdlProveedor.DataBind() + 'CargaProveedores + DdlProveedores.setEsWebService(True) + DdlProveedores.Attributes.Add("data-metodo", "getproveedores") + DdlProveedores.SelectedText = "Seleccione Uno" + DdlProveedores.SelectedValue = "-1" If UsuarioActual.CveEmpresa = 119 Then txtPrecio.Enabled = False Case Else @@ -5288,7 +5305,7 @@ Partial Class Inventarios_EntradasSalidas If TxtFecha.Visible Then TxtFecha.Enabled = True If TxtResponsable.Visible Then TxtResponsable.Enabled = True If TxtObservaciones.Visible Then TxtObservaciones.Enabled = True - If DdlProveedor.Visible Then DdlProveedor.Enabled = True + If DdlProveedores.Visible Then DdlProveedores.Enabled = True If TxtRemision.Visible Then TxtRemision.Enabled = True If DdlMoneda.Visible Then DdlMoneda.Enabled = True If TxtGuia.Visible Then TxtGuia.Enabled = True diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb index 9ed15756f..5847b3b9f 100644 --- a/OC/OC.aspx.vb +++ b/OC/OC.aspx.vb @@ -1105,6 +1105,8 @@ Partial Class OC_OC End If End If + DdlUsoCFDI.SelectedValueExist(1) + End If 'FIX - no funcionan los eventos despues de hacer postback