frmReqPago.vb 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445
  1. Imports System.ComponentModel
  2. Public Class frmReqPago
  3. Private FinCambioCuentaBancaria As Double = False
  4. Private oRequisicionDePagoCE As RequisicionDePagoCE
  5. Private CodigoInv As String = String.Empty
  6. Private vCargandoRegistro As Boolean = False
  7. Private Transaccion As String = String.Empty
  8. Private TipoEstado As String = String.Empty
  9. Private Empresa As String = String.Empty
  10. Private Operaciones As New Operaciones
  11. Private oDAOGeneral As New DAOGeneral
  12. Sub New()
  13. ' Esta llamada es exigida por el diseñador.
  14. InitializeComponent()
  15. ' Agregue cualquier inicialización después de la llamada a InitializeComponent().
  16. End Sub
  17. Sub New(Codigo As String, Empresa As String, Estado As String)
  18. Me.New
  19. CodigoInv = Codigo
  20. TipoEstado = Estado
  21. Me.Empresa = Empresa
  22. End Sub
  23. Sub CargarCodigo()
  24. Dim CodigoReq As String = String.Empty
  25. CodigoReq = RequisicionDePagoDAO.NuevoCodigo()
  26. txtCodigoRequisicion.Text = CodigoReq
  27. CargarMonto()
  28. End Sub
  29. Sub CargarMonto()
  30. Dim Monto As Double = RequisicionDePagoDAO.Monto(CodigoInv)
  31. If Monto = 0 Then
  32. MsgBox("No contiene un monto o valor no válido")
  33. Me.Close()
  34. Else
  35. txtMontoPago.Text = Monto
  36. End If
  37. End Sub
  38. Private Sub frmReqPago_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  39. 'Configurcion de Requisicion de Pago para Reportos de venta'
  40. ConfiguracionReportoVenta()
  41. 'TODO: esta línea de código carga datos en la tabla 'InversionesDEVDataSet3.BAN1' Puede moverla o quitarla según sea necesario.
  42. Me.BAN1TableAdapter.Fill(Me.InversionesDEVDataSet3.BAN1)
  43. 'TODO: esta línea de código carga datos en la tabla 'InversionesDataSet1.USR0' Puede moverla o quitarla según sea necesario.
  44. Me.USR0TableAdapter.Fill(Me.InversionesDataSet1.USR0)
  45. 'TODO: esta línea de código carga datos en la tabla 'InversionesDataSet1.FPAG' Puede moverla o quitarla según sea necesario.
  46. Me.FPAGTableAdapter.Fill(Me.InversionesDataSet1.FPAG)
  47. 'TODO: esta línea de código carga datos en la tabla 'InversionesDataSet1.BAN0' Puede moverla o quitarla según sea necesario.
  48. Me.BAN0TableAdapter.Fill(Me.InversionesDataSet1.BAN0)
  49. 'TODO: esta línea de código carga datos en la tabla 'InversionesDataSet1.RPAG' Puede moverla o quitarla según sea necesario.
  50. CargarEmisores()
  51. CargarCodigo()
  52. inicializar()
  53. 'If TipoEstado = "Lista" Then
  54. 'Me.RPAGTableAdapter.Fill(Me.InversionesDataSet1.RPAG)
  55. 'End If
  56. If RequisicionDePagoDAO.ExisteRequisicion(CodigoInv) Then
  57. CargarRegistro()
  58. Else
  59. PrepararNuevo()
  60. End If
  61. End Sub
  62. Sub ConfiguracionReportoVenta()
  63. If txtCodigoInversion.Text.IndexOf("REPOVENTA") > -1 Then
  64. btnValidar.Visible = False
  65. End If
  66. End Sub
  67. Sub inicializar()
  68. cbxCodigoBanco.SelectedIndex = -1
  69. cbxCuentaBancaria.SelectedIndex = -1
  70. cbxFormaDePago.SelectedIndex = -1
  71. cbxSolicitante.SelectedIndex = -1
  72. cboEmisor.SelectedIndex = -1
  73. txtSaldoContable.Text = 0
  74. dtpFechaPago.Value = Date.Today.Date
  75. If String.IsNullOrEmpty(txtMontoPago.Text) Then
  76. txtMontoPago.Text = 0
  77. End If
  78. End Sub
  79. Private Sub RPAGBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles RPAGBindingNavigatorSaveItem.Click
  80. Me.Validate()
  81. Me.RPAGBindingSource.EndEdit()
  82. Me.TableAdapterManager.UpdateAll(Me.InversionesDataSet1)
  83. End Sub
  84. Private Sub CargarRegistro()
  85. Dim CodigoInversion As String = txtCodigoInversion.Text.ToString
  86. oRequisicionDePagoCE = New RequisicionDePagoCE
  87. oRequisicionDePagoCE = RequisicionDePagoDAO.CargarRegistro(CodigoInv)
  88. vCargandoRegistro = True
  89. cbxSolicitante.SelectedValue = oRequisicionDePagoCE.UsuarioSolicitante
  90. cboEmisor.SelectedValue = oRequisicionDePagoCE.AFavorDe
  91. cbxFormaDePago.SelectedValue = oRequisicionDePagoCE.FormaDePago
  92. txtMontoPago.Text = oRequisicionDePagoCE.MontoDelPago.ToString
  93. cbxCodigoBanco.SelectedValue = oRequisicionDePagoCE.CodigoBanco
  94. cbxCuentaBancaria.SelectedValue = oRequisicionDePagoCE.NumeroCuenta
  95. txtSaldoContable.Text = oRequisicionDePagoCE.SaldoContable.ToString
  96. txtConcepto.Text = oRequisicionDePagoCE.Concepto
  97. dtpFechaPago.Value = oRequisicionDePagoCE.FechaDelPago
  98. txtCodigoInversion.Text = oRequisicionDePagoCE.CodigoInversion
  99. txtCodigoRequisicion.Text = oRequisicionDePagoCE.CodigoReq
  100. vCargandoRegistro = False
  101. Me.Transaccion = "C"
  102. Me.btnAccion.Text = "Aceptar"
  103. End Sub
  104. Private Sub CargarEmisores()
  105. Me.cboEmisor.DataSource = oDAOGeneral.ListaEmisores
  106. Me.cboEmisor.DisplayMember = "Descripcion"
  107. Me.cboEmisor.ValueMember = "Codigo"
  108. Me.cboEmisor.SelectedIndex = -1
  109. End Sub
  110. Private Sub PrepararNuevo()
  111. oRequisicionDePagoCE = New RequisicionDePagoCE
  112. Me.Transaccion = "N"
  113. Me.btnAccion.Text = "Guardar"
  114. txtCodigoInversion.Text = CodigoInv
  115. inicializar()
  116. End Sub
  117. Private Sub GuardarRequisicion()
  118. If Not ValidarDatos() Then
  119. Dim res As Integer
  120. oRequisicionDePagoCE_Refrescar()
  121. res = RequisicionDePagoDAO.GuardarNuevaRequisicion(oRequisicionDePagoCE, Transaccion)
  122. If res = 1 Then
  123. frmINV.EnviadoContaduria = False
  124. frmINV.EstadoBoton()
  125. CargarRegistro()
  126. End If
  127. End If
  128. End Sub
  129. Private Sub CargarCuentasBancarias()
  130. If Not (Empresa Is Nothing) Then
  131. Me.cbxCuentaBancaria.SelectedIndex = -1
  132. Dim Banco As String = cbxCodigoBanco.SelectedValue
  133. Me.cbxCuentaBancaria.DataSource = BancosDAO.CuentasBancarias(Empresa, Banco)
  134. Me.cbxCuentaBancaria.DisplayMember = "NumCuenta"
  135. Me.cbxCuentaBancaria.ValueMember = "NumCuenta"
  136. Me.cbxCuentaBancaria.SelectedIndex = -1
  137. End If
  138. End Sub
  139. Private Sub cbxCuentaBancaria_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxCuentaBancaria.SelectedIndexChanged
  140. CargarSaldoActualDeCuenta()
  141. End Sub
  142. Private Sub cbxCodigoBanco_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxCodigoBanco.SelectedIndexChanged
  143. FinCambioCuentaBancaria = False
  144. CargarCuentasBancarias()
  145. FinCambioCuentaBancaria = True
  146. End Sub
  147. Private Function ValidaMonto(ByVal pValorTXT As String, ByRef MensajeError As String) As Boolean
  148. Dim rValor As Double
  149. If pValorTXT.Length > 0 Then
  150. If Not Double.TryParse(pValorTXT, rValor) Then
  151. MensajeError = "Valor no válido."
  152. Return False
  153. Else
  154. Return True
  155. End If
  156. Else
  157. Return True
  158. End If
  159. End Function
  160. Private Sub txtMontoPago_TextChanged(sender As Object, e As EventArgs) Handles txtMontoPago.TextChanged
  161. End Sub
  162. Private Sub txtMontoPago_Validating(sender As Object, e As CancelEventArgs) Handles txtMontoPago.Validating
  163. End Sub
  164. Private Sub txtMontoPago_Validated(sender As Object, e As EventArgs) Handles txtMontoPago.Validated
  165. Me.ErrorProvider1.SetError(txtMontoPago, "")
  166. End Sub
  167. Private Sub txtAFavorDe_TextChanged(sender As Object, e As EventArgs)
  168. End Sub
  169. Private Sub txtConcepto_TextChanged(sender As Object, e As EventArgs) Handles txtConcepto.TextChanged
  170. End Sub
  171. Private Sub cbxSolicitante_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxSolicitante.SelectedIndexChanged
  172. End Sub
  173. Private Sub cbxFormaDePago_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxFormaDePago.SelectedIndexChanged
  174. End Sub
  175. Private Sub btnAccion_Click(sender As Object, e As EventArgs) Handles btnAccion.Click
  176. Dim Err As Boolean = ValidarDatos()
  177. If Err Then
  178. MsgBox("Valores no válidos")
  179. Else
  180. If Me.Transaccion = "N" Then
  181. GuardarRequisicion()
  182. Else
  183. Me.Close()
  184. End If
  185. End If
  186. End Sub
  187. Function ValidarDatos()
  188. Dim Solicitante As String = String.Empty
  189. Dim Emisor As String = String.Empty
  190. Dim FormaPago As String = String.Empty
  191. Dim MontoPago As Double = 0
  192. Dim Banco As String = String.Empty
  193. Dim CuentaBanco As String = String.Empty
  194. Dim SaldoContable As Double = 0
  195. Dim Concepto As String = String.Empty
  196. Dim FechaPago As Date = Date.Now.Date
  197. Dim CodigoRequisicion As String = String.Empty
  198. Dim CodigoInversion As String = String.Empty
  199. Dim Err As Boolean = False
  200. Solicitante = cbxSolicitante.SelectedValue
  201. Emisor = cboEmisor.SelectedValue
  202. FormaPago = cbxFormaDePago.SelectedValue
  203. MontoPago = Operaciones.ConvertirDecimal(txtMontoPago.Text.ToString)
  204. Banco = cbxCodigoBanco.SelectedValue
  205. CuentaBanco = cbxCuentaBancaria.SelectedValue
  206. SaldoContable = Operaciones.ConvertirDecimal(txtSaldoContable.Text.ToString)
  207. Concepto = txtConcepto.Text
  208. FechaPago = dtpFechaPago.Value
  209. CodigoRequisicion = txtCodigoRequisicion.Text.ToString
  210. CodigoInversion = txtCodigoInversion.Text.ToString
  211. If (String.IsNullOrEmpty(Solicitante) Or Solicitante Is Nothing) Or
  212. (String.IsNullOrEmpty(Emisor) Or Emisor Is Nothing) Or
  213. (String.IsNullOrEmpty(FormaPago) Or FormaPago Is Nothing) Or
  214. (String.IsNullOrEmpty(Banco) Or Banco Is Nothing) Or
  215. (String.IsNullOrEmpty(CuentaBanco) Or CuentaBanco Is Nothing) Or
  216. (String.IsNullOrEmpty(Concepto) Or Concepto Is Nothing) Or
  217. (String.IsNullOrEmpty(CodigoRequisicion) Or CodigoRequisicion Is Nothing) Or
  218. (String.IsNullOrEmpty(CodigoInversion) Or CodigoInversion Is Nothing) Or
  219. MontoPago = 0 Or SaldoContable = 0 Then
  220. Err = True
  221. End If
  222. Return Err
  223. End Function
  224. Private Sub txtSaldoContable_TextChanged(sender As Object, e As EventArgs) Handles txtSaldoContable.TextChanged
  225. End Sub
  226. Private Sub dtpFechaPago_ValueChanged(sender As Object, e As EventArgs) Handles dtpFechaPago.ValueChanged
  227. End Sub
  228. Private Sub txtAFavorDe_Leave(sender As Object, e As EventArgs)
  229. End Sub
  230. Private Sub txtConcepto_Leave(sender As Object, e As EventArgs) Handles txtConcepto.Leave
  231. End Sub
  232. Private Sub oRequisicionDePagoCE_Refrescar()
  233. Dim Solicitante As String = String.Empty
  234. Dim Emisor As String = String.Empty
  235. Dim FormaPago As String = String.Empty
  236. Dim MontoPago As Double = 0
  237. Dim Banco As String = String.Empty
  238. Dim CuentaBanco As String = String.Empty
  239. Dim SaldoContable As Double = 0
  240. Dim Concepto As String = String.Empty
  241. Dim FechaPago As Date = Date.Now.Date
  242. Dim CodigoRequisicion As String = String.Empty
  243. Dim CodigoInversion As String = String.Empty
  244. Dim Err As Boolean = False
  245. Solicitante = cbxSolicitante.SelectedValue
  246. Emisor = cboEmisor.SelectedValue
  247. FormaPago = cbxFormaDePago.SelectedValue
  248. MontoPago = Operaciones.ConvertirDecimal(txtMontoPago.Text.ToString)
  249. Banco = cbxCodigoBanco.SelectedValue
  250. CuentaBanco = cbxCuentaBancaria.SelectedValue
  251. SaldoContable = Operaciones.ConvertirDecimal(txtSaldoContable.Text.ToString)
  252. Concepto = txtConcepto.Text
  253. FechaPago = dtpFechaPago.Value
  254. CodigoRequisicion = txtCodigoRequisicion.Text.ToString
  255. CodigoInversion = txtCodigoInversion.Text.ToString
  256. oRequisicionDePagoCE.CodigoInversion = CodigoInv
  257. oRequisicionDePagoCE.AFavorDe = Emisor
  258. oRequisicionDePagoCE.FormaDePago = FormaPago
  259. oRequisicionDePagoCE.MontoDelPago = MontoPago
  260. oRequisicionDePagoCE.FechaDelPago = FechaPago
  261. oRequisicionDePagoCE.CodigoBanco = Banco
  262. oRequisicionDePagoCE.NumeroCuenta = CuentaBanco
  263. oRequisicionDePagoCE.SaldoContable = SaldoContable
  264. oRequisicionDePagoCE.Concepto = Concepto
  265. oRequisicionDePagoCE.UsuarioSolicitante = Solicitante
  266. oRequisicionDePagoCE.CodigoInversion = CodigoInversion
  267. oRequisicionDePagoCE.CodigoReq = CodigoRequisicion
  268. End Sub
  269. Private Sub btnVistaPreliminar_Click(sender As Object, e As EventArgs) Handles btnVistaPreliminar.Click
  270. Impresion(True)
  271. End Sub
  272. Private Sub btnImprimir_Click(sender As Object, e As EventArgs) Handles btnImprimir.Click
  273. Impresion(False)
  274. End Sub
  275. Private Sub Impresion(ByVal pVistaPreliminar As Boolean)
  276. If RequisicionDePagoDAO.ExisteRequisicion(CodigoInv) Then
  277. Dim oImprimir As New frmImprimir
  278. oImprimir.NombreRPT = "rptRequisicionDePago.rpt"
  279. oImprimir.IdDocumento = CodigoInv
  280. If pVistaPreliminar = True Then
  281. oImprimir.CargarRPT()
  282. oImprimir.ShowDialog()
  283. Else
  284. oImprimir.VistaPrevia = False
  285. oImprimir.CargarRPT()
  286. End If
  287. End If
  288. End Sub
  289. Private Sub CargarSaldoActualDeCuenta()
  290. Dim vCuentaContable As String
  291. Dim vSaldo As Double
  292. Dim vBDSAP As String
  293. Dim Banco As String = cbxCodigoBanco.SelectedValue
  294. Dim CuentaBancaria As String = cbxCuentaBancaria.SelectedValue
  295. If Not String.IsNullOrEmpty(Empresa) And Not Banco Is Nothing And
  296. Not CuentaBancaria Is Nothing And FinCambioCuentaBancaria Then
  297. vCuentaContable = BancosDAO.ObtieneCuentaContable(Empresa, Banco, CuentaBancaria)
  298. vBDSAP = EmpresasDAO.ObtenerNombreBDSAP(Empresa)
  299. vSaldo = InvSAP.ObtenerSaldoActualDeCuenta(vCuentaContable, vBDSAP)
  300. txtSaldoContable.Text = vSaldo.ToString(Configuraciones.CodigoTXTMontos)
  301. End If
  302. End Sub
  303. Private Sub btnCancelar_Click(sender As Object, e As EventArgs) Handles btnCancelar.Click
  304. Me.Close()
  305. End Sub
  306. Private Sub txtCodigoInversion_TextChanged(sender As Object, e As EventArgs) Handles txtCodigoInversion.TextChanged
  307. End Sub
  308. Private Sub txtCodigoReq_TextChanged(sender As Object, e As EventArgs)
  309. End Sub
  310. Private Sub btnEnviar_Click(sender As Object, e As EventArgs) Handles btnValidar.Click
  311. frmINV.EnviadoContaduria = True
  312. frmINV.EstadoBoton()
  313. End Sub
  314. Private Sub btnNuevo_Click(sender As Object, e As EventArgs)
  315. Transaccion = "N"
  316. btnAccion.Text = "Nuevo"
  317. PrepararNuevo()
  318. End Sub
  319. Private Sub BtnModificar_Click(sender As Object, e As EventArgs)
  320. Transaccion = "M"
  321. btnAccion.Text = "Modificar"
  322. End Sub
  323. Private Sub navNuevo_Click(sender As Object, e As EventArgs)
  324. Transaccion = "N"
  325. btnAccion.Text = "Nuevo"
  326. PrepararNuevo()
  327. End Sub
  328. Private Sub navModificar_Click(sender As Object, e As EventArgs) Handles navModificar.Click
  329. Transaccion = "M"
  330. btnAccion.Text = "Modificar"
  331. End Sub
  332. Private Sub cboEmisor_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboEmisor.SelectedIndexChanged
  333. End Sub
  334. End Class