diff --git a/Contratos/RepPresupuestos.aspx b/Contratos/RepPresupuestos.aspx index d8ba3eecc..ebe5ac5bd 100644 --- a/Contratos/RepPresupuestos.aspx +++ b/Contratos/RepPresupuestos.aspx @@ -329,8 +329,8 @@ - - + + @@ -342,8 +342,8 @@ <%-- - - + + diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb index 71a3f72b6..7fe4a936e 100644 --- a/OC/OC.aspx.vb +++ b/OC/OC.aspx.vb @@ -926,7 +926,13 @@ Partial Class OC_OC ChkEntregaDirecta.Checked = False End If - + If CveOrdenCompra > 0 AndAlso Request("Conta") IsNot Nothing AndAlso Request("Conta").ToEntero = 1 Then + If GeneraPrePolizaPresupuesto(CveOrdenCompra, Nothing) Then + Alert("PrePoliza de Presupuesto Generada Correctamente") + Else + Alert("No Se Genero la PrePoliza de Presupuesto Generada Correctamente", TipoMensaje.MsgAdvertencia) + End If + End If End If @@ -9151,21 +9157,28 @@ Partial Class OC_OC End Function - Private Function GeneraPrePolizaPresupuesto(CveOrdenCompraPrePoliza As Integer, Optional ByRef transaccion As SqlTransaction = Nothing) As Boolean + Private Function GeneraPrePolizaPresupuesto(CveOrdenCompraPresupuesto As Integer, Optional ByRef transaccion As SqlTransaction = Nothing) As Boolean Dim Respuesta As Boolean = True If UsuarioActual.Empresa.Funcionalidad(532) = "1" Then + Dim CveMonedaPresupuesto As Integer = DdlMoneda.SelectedValue.ToEntero + Dim TC As Decimal = If(CveMonedaPresupuesto = 1, 1, GlobalTipoCambio(TxtFecha.Text.ToDate).ToDecimal) + + If CveMonedaPresupuesto > 1 AndAlso TC = 0 Then + Alert($"No se genero la prepoliza de presupuesto, no se pudo obtener el Tipo de Cambio de la fecha {TxtFecha.Text}", TipoMensaje.MsgAdvertencia) + Return False + End If + Dim ObjConta As New ClsContabilidad() If transaccion Is Nothing Then - ObjConta = New ClsContabilidad(Nothing) + ObjConta = New ClsContabilidad() Else ObjConta = New ClsContabilidad(transaccion) End If - Dim CvePrePolizaPreSuPuesto = ObjConta.AddPrePolizas("OC/OC-(Presupuesto)", 53, LblTotal.Text.ToDecimal, LblTotal.Text.ToDecimal, DdlMoneda.SelectedValue.ToEntero, TxtFecha.Text.ToDate, DdlProveedores.SelectedText, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CvePrePolizaPreSuPuesto > 0 Then @@ -9189,12 +9202,16 @@ Partial Class OC_OC Dim SerieFolio = $"OC: {Folio}, Clasificación: {item.Clasificacion}" - If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaPreSuPuesto, False, item.TotalSum, item.TotalSum, 154, SerieFolio, SerieFolio, CveProveedor:=DdlProveedores.SelectedValue.ToEntero, CveOC:=CveOrdenCompraPrePoliza, CveClasificacion:=item.CveClasificacion, CveSubProyecto:=item.CveSubProyecto, Contabilizable:=True) Then + Dim Importe As Decimal = item.TotalSum + Dim ImporteME As Decimal = If(CveMonedaPresupuesto = 1, 0, item.TotalSum) + Dim ImporteMN As Decimal = If(CveMonedaPresupuesto = 1, 1, item.TotalSum * TC) + + If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaPreSuPuesto, False, Importe, ImporteMN, 154, SerieFolio, SerieFolio, ImporteME:=ImporteME, TipoCambio:=TC, CveProveedor:=DdlProveedores.SelectedValue.ToEntero, CveOC:=CveOrdenCompraPresupuesto, CveClasificacion:=item.CveClasificacion, CveSubProyecto:=item.CveSubProyecto, Contabilizable:=True) Then Respuesta = False Exit For End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaPreSuPuesto, True, item.TotalSum, item.TotalSum, 152, SerieFolio, SerieFolio, CveProveedor:=DdlProveedores.SelectedValue.ToEntero, CveOC:=CveOrdenCompraPrePoliza, CveClasificacion:=item.CveClasificacion, CveSubProyecto:=item.CveSubProyecto, Contabilizable:=True) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaPreSuPuesto, True, Importe, ImporteMN, 152, SerieFolio, SerieFolio, ImporteME:=ImporteME, TipoCambio:=TC, CveProveedor:=DdlProveedores.SelectedValue.ToEntero, CveOC:=CveOrdenCompraPresupuesto, CveClasificacion:=item.CveClasificacion, CveSubProyecto:=item.CveSubProyecto, Contabilizable:=True) Then Respuesta = False Exit For End If
AgrupadorAutorizadoComprometidoAutorizadoComprometido Ejercido Por Ejercer Pagado