frmReqPago.vb 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453
  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 RequisicionDePagoDAO.ExisteRequisicion(CodigoInv) Then
  54. CargarRegistro()
  55. Else
  56. PrepararNuevo()
  57. End If
  58. End Sub
  59. Sub ConfiguracionReportoVenta()
  60. If txtCodigoInversion.Text.IndexOf("REPOVENTA") > -1 Then
  61. btnValidar.Visible = False
  62. End If
  63. End Sub
  64. Sub inicializar()
  65. cbxCodigoBanco.SelectedIndex = -1
  66. cbxCuentaBancaria.SelectedIndex = -1
  67. cbxFormaDePago.SelectedIndex = -1
  68. cbxSolicitante.SelectedIndex = -1
  69. cboEmisor.SelectedIndex = -1
  70. txtSaldoContable.Text = 0
  71. dtpFechaPago.Value = Date.Today.Date
  72. If String.IsNullOrEmpty(txtMontoPago.Text) Then
  73. txtMontoPago.Text = 0
  74. End If
  75. End Sub
  76. Private Sub RPAGBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles RPAGBindingNavigatorSaveItem.Click
  77. Me.Validate()
  78. Me.RPAGBindingSource.EndEdit()
  79. Me.TableAdapterManager.UpdateAll(Me.InversionesDataSet1)
  80. End Sub
  81. Private Sub CargarRegistro()
  82. Dim CodigoInversion As String = txtCodigoInversion.Text.ToString
  83. oRequisicionDePagoCE = New RequisicionDePagoCE
  84. oRequisicionDePagoCE = RequisicionDePagoDAO.CargarRegistro(CodigoInv)
  85. vCargandoRegistro = True
  86. cbxSolicitante.SelectedValue = oRequisicionDePagoCE.UsuarioSolicitante
  87. cboEmisor.SelectedValue = oRequisicionDePagoCE.AFavorDe
  88. cbxFormaDePago.SelectedValue = oRequisicionDePagoCE.FormaDePago
  89. txtMontoPago.Text = oRequisicionDePagoCE.MontoDelPago.ToString
  90. cbxCodigoBanco.SelectedValue = oRequisicionDePagoCE.CodigoBanco
  91. cbxCuentaBancaria.SelectedValue = oRequisicionDePagoCE.NumeroCuenta
  92. txtSaldoContable.Text = oRequisicionDePagoCE.SaldoContable.ToString
  93. txtConcepto.Text = oRequisicionDePagoCE.Concepto
  94. dtpFechaPago.Value = oRequisicionDePagoCE.FechaDelPago
  95. txtCodigoInversion.Text = oRequisicionDePagoCE.CodigoInversion
  96. txtCodigoRequisicion.Text = oRequisicionDePagoCE.CodigoReq
  97. vCargandoRegistro = False
  98. Me.Transaccion = "C"
  99. Me.btnAccion.Text = "Aceptar"
  100. End Sub
  101. Private Sub CargarEmisores()
  102. Me.cboEmisor.DataSource = oDAOGeneral.ListaEmisores
  103. Me.cboEmisor.DisplayMember = "Descripcion"
  104. Me.cboEmisor.ValueMember = "Codigo"
  105. Me.cboEmisor.SelectedIndex = -1
  106. End Sub
  107. Private Sub PrepararNuevo()
  108. oRequisicionDePagoCE = New RequisicionDePagoCE
  109. Me.Transaccion = "N"
  110. Me.btnAccion.Text = "Guardar"
  111. txtCodigoInversion.Text = CodigoInv
  112. inicializar()
  113. End Sub
  114. Private Sub GuardarRequisicion()
  115. If Not ValidarDatos() Then
  116. Dim res As Integer
  117. oRequisicionDePagoCE_Refrescar()
  118. res = RequisicionDePagoDAO.GuardarNuevaRequisicion(oRequisicionDePagoCE, Transaccion)
  119. If res = 1 Then
  120. frmINV.EnviadoContaduria = False
  121. Dim Id As Integer = frmINV.vBindingSource.Current("DocId")
  122. frmINV.CargarRegistro(Id)
  123. frmINV.EstadoBoton()
  124. CargarRegistro()
  125. End If
  126. End If
  127. End Sub
  128. Private Sub CargarCuentasBancarias()
  129. If Not (Empresa Is Nothing) Then
  130. Me.cbxCuentaBancaria.SelectedIndex = -1
  131. Dim Banco As String = cbxCodigoBanco.SelectedValue
  132. Me.cbxCuentaBancaria.DataSource = BancosDAO.CuentasBancarias(Empresa, Banco)
  133. Me.cbxCuentaBancaria.DisplayMember = "NumCuenta"
  134. Me.cbxCuentaBancaria.ValueMember = "NumCuenta"
  135. Me.cbxCuentaBancaria.SelectedIndex = -1
  136. End If
  137. End Sub
  138. Private Sub cbxCuentaBancaria_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxCuentaBancaria.SelectedIndexChanged
  139. CargarSaldoActualDeCuenta()
  140. End Sub
  141. Private Sub cbxCodigoBanco_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxCodigoBanco.SelectedIndexChanged
  142. FinCambioCuentaBancaria = False
  143. CargarCuentasBancarias()
  144. FinCambioCuentaBancaria = True
  145. End Sub
  146. Private Function ValidaMonto(ByVal pValorTXT As String, ByRef MensajeError As String) As Boolean
  147. Dim rValor As Double
  148. If pValorTXT.Length > 0 Then
  149. If Not Double.TryParse(pValorTXT, rValor) Then
  150. MensajeError = "Valor no válido."
  151. Return False
  152. Else
  153. Return True
  154. End If
  155. Else
  156. Return True
  157. End If
  158. End Function
  159. Private Sub txtMontoPago_TextChanged(sender As Object, e As EventArgs) Handles txtMontoPago.TextChanged
  160. End Sub
  161. Private Sub txtMontoPago_Validating(sender As Object, e As CancelEventArgs) Handles txtMontoPago.Validating
  162. End Sub
  163. Private Sub txtMontoPago_Validated(sender As Object, e As EventArgs) Handles txtMontoPago.Validated
  164. Me.ErrorProvider1.SetError(txtMontoPago, "")
  165. End Sub
  166. Private Sub txtAFavorDe_TextChanged(sender As Object, e As EventArgs)
  167. End Sub
  168. Private Sub txtConcepto_TextChanged(sender As Object, e As EventArgs) Handles txtConcepto.TextChanged
  169. End Sub
  170. Private Sub cbxSolicitante_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxSolicitante.SelectedIndexChanged
  171. End Sub
  172. Private Sub cbxFormaDePago_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxFormaDePago.SelectedIndexChanged
  173. End Sub
  174. Private Sub btnAccion_Click(sender As Object, e As EventArgs) Handles btnAccion.Click
  175. Dim Err As Boolean = ValidarDatos()
  176. If Err Then
  177. MsgBox("Valores no válidos")
  178. Else
  179. If Me.Transaccion = "N" Then
  180. GuardarRequisicion()
  181. Else
  182. Me.Close()
  183. End If
  184. End If
  185. End Sub
  186. Function ValidarDatos()
  187. Dim Solicitante As String = String.Empty
  188. Dim Emisor As String = String.Empty
  189. Dim FormaPago As String = String.Empty
  190. Dim MontoPago As Double = 0
  191. Dim Banco As String = String.Empty
  192. Dim CuentaBanco As String = String.Empty
  193. Dim SaldoContable As Double = 0
  194. Dim Concepto As String = String.Empty
  195. Dim FechaPago As Date = Date.Now.Date
  196. Dim CodigoRequisicion As String = String.Empty
  197. Dim CodigoInversion As String = String.Empty
  198. Dim Err As Boolean = False
  199. Solicitante = cbxSolicitante.SelectedValue
  200. Emisor = cboEmisor.SelectedValue
  201. FormaPago = cbxFormaDePago.SelectedValue
  202. MontoPago = Operaciones.ConvertirDecimal(txtMontoPago.Text.ToString)
  203. Banco = cbxCodigoBanco.SelectedValue
  204. CuentaBanco = cbxCuentaBancaria.SelectedValue
  205. SaldoContable = Operaciones.ConvertirDecimal(txtSaldoContable.Text.ToString)
  206. Concepto = txtConcepto.Text
  207. FechaPago = dtpFechaPago.Value
  208. CodigoRequisicion = txtCodigoRequisicion.Text.ToString
  209. CodigoInversion = txtCodigoInversion.Text.ToString
  210. If (String.IsNullOrEmpty(Solicitante) Or Solicitante Is Nothing) Or
  211. (String.IsNullOrEmpty(Emisor) Or Emisor Is Nothing) Or
  212. (String.IsNullOrEmpty(FormaPago) Or FormaPago Is Nothing) Or
  213. (String.IsNullOrEmpty(Banco) Or Banco Is Nothing) Or
  214. (String.IsNullOrEmpty(CuentaBanco) Or CuentaBanco Is Nothing) Or
  215. (String.IsNullOrEmpty(Concepto) Or Concepto Is Nothing) Or
  216. (String.IsNullOrEmpty(CodigoRequisicion) Or CodigoRequisicion Is Nothing) Or
  217. (String.IsNullOrEmpty(CodigoInversion) Or CodigoInversion Is Nothing) Or
  218. MontoPago = 0 Or SaldoContable = 0 Then
  219. Err = True
  220. End If
  221. Return Err
  222. End Function
  223. Private Sub txtSaldoContable_TextChanged(sender As Object, e As EventArgs) Handles txtSaldoContable.TextChanged
  224. End Sub
  225. Private Sub dtpFechaPago_ValueChanged(sender As Object, e As EventArgs) Handles dtpFechaPago.ValueChanged
  226. End Sub
  227. Private Sub txtAFavorDe_Leave(sender As Object, e As EventArgs)
  228. End Sub
  229. Private Sub txtConcepto_Leave(sender As Object, e As EventArgs) Handles txtConcepto.Leave
  230. End Sub
  231. Private Sub oRequisicionDePagoCE_Refrescar()
  232. Dim Solicitante As String = String.Empty
  233. Dim Emisor As String = String.Empty
  234. Dim FormaPago As String = String.Empty
  235. Dim MontoPago As Double = 0
  236. Dim Banco As String = String.Empty
  237. Dim CuentaBanco As String = String.Empty
  238. Dim SaldoContable As Double = 0
  239. Dim Concepto As String = String.Empty
  240. Dim FechaPago As Date = Date.Now.Date
  241. Dim CodigoRequisicion As String = String.Empty
  242. Dim CodigoInversion As String = String.Empty
  243. Dim Err As Boolean = False
  244. Solicitante = cbxSolicitante.SelectedValue
  245. Emisor = cboEmisor.SelectedValue
  246. FormaPago = cbxFormaDePago.SelectedValue
  247. MontoPago = Operaciones.ConvertirDecimal(txtMontoPago.Text.ToString)
  248. Banco = cbxCodigoBanco.SelectedValue
  249. CuentaBanco = cbxCuentaBancaria.SelectedValue
  250. SaldoContable = Operaciones.ConvertirDecimal(txtSaldoContable.Text.ToString)
  251. Concepto = txtConcepto.Text
  252. FechaPago = dtpFechaPago.Value
  253. CodigoRequisicion = txtCodigoRequisicion.Text.ToString
  254. CodigoInversion = txtCodigoInversion.Text.ToString
  255. oRequisicionDePagoCE.CodigoInversion = CodigoInv
  256. oRequisicionDePagoCE.AFavorDe = Emisor
  257. oRequisicionDePagoCE.FormaDePago = FormaPago
  258. oRequisicionDePagoCE.MontoDelPago = MontoPago
  259. oRequisicionDePagoCE.FechaDelPago = FechaPago
  260. oRequisicionDePagoCE.CodigoBanco = Banco
  261. oRequisicionDePagoCE.NumeroCuenta = CuentaBanco
  262. oRequisicionDePagoCE.SaldoContable = SaldoContable
  263. oRequisicionDePagoCE.Concepto = Concepto
  264. oRequisicionDePagoCE.UsuarioSolicitante = Solicitante
  265. oRequisicionDePagoCE.CodigoInversion = CodigoInversion
  266. oRequisicionDePagoCE.CodigoReq = CodigoRequisicion
  267. End Sub
  268. Private Sub btnVistaPreliminar_Click(sender As Object, e As EventArgs) Handles btnVistaPreliminar.Click
  269. Impresion(True)
  270. End Sub
  271. Private Sub btnImprimir_Click(sender As Object, e As EventArgs) Handles btnImprimir.Click
  272. Impresion(False)
  273. End Sub
  274. Private Sub Impresion(ByVal pVistaPreliminar As Boolean)
  275. If RequisicionDePagoDAO.ExisteRequisicion(CodigoInv) Then
  276. Dim oImprimir As New frmImprimir
  277. oImprimir.NombreRPT = "rptRequisicionDePago.rpt"
  278. oImprimir.IdDocumento = CodigoInv
  279. If pVistaPreliminar = True Then
  280. oImprimir.CargarRPT()
  281. oImprimir.ShowDialog()
  282. Else
  283. oImprimir.VistaPrevia = False
  284. oImprimir.CargarRPT()
  285. End If
  286. End If
  287. End Sub
  288. Private Sub CargarSaldoActualDeCuenta()
  289. Dim vCuentaContable As String
  290. Dim vSaldo As Double
  291. Dim vBDSAP As String
  292. Dim Banco As String = cbxCodigoBanco.SelectedValue
  293. Dim CuentaBancaria As String = cbxCuentaBancaria.SelectedValue
  294. If Not String.IsNullOrEmpty(Empresa) And Not Banco Is Nothing And
  295. Not CuentaBancaria Is Nothing And FinCambioCuentaBancaria Then
  296. vCuentaContable = BancosDAO.ObtieneCuentaContable(Empresa, Banco, CuentaBancaria)
  297. vBDSAP = EmpresasDAO.ObtenerNombreBDSAP(Empresa)
  298. vSaldo = InvSAP.ObtenerSaldoActualDeCuenta(vCuentaContable, vBDSAP)
  299. txtSaldoContable.Text = vSaldo.ToString(Configuraciones.CodigoTXTMontos)
  300. End If
  301. End Sub
  302. Private Sub btnCancelar_Click(sender As Object, e As EventArgs) Handles btnCancelar.Click
  303. Me.Close()
  304. End Sub
  305. Private Sub txtCodigoInversion_TextChanged(sender As Object, e As EventArgs) Handles txtCodigoInversion.TextChanged
  306. End Sub
  307. Private Sub txtCodigoReq_TextChanged(sender As Object, e As EventArgs)
  308. End Sub
  309. Private Sub btnEnviar_Click(sender As Object, e As EventArgs) Handles btnValidar.Click
  310. frmINV.EnviadoContaduria = True
  311. Dim Id As Integer = frmINV.vBindingSource.Current("DocId")
  312. frmINV.EstadoBoton()
  313. frmINV.CargarRegistro(Id)
  314. frmINV.EstadoBoton()
  315. End Sub
  316. Private Sub btnNuevo_Click(sender As Object, e As EventArgs)
  317. Transaccion = "N"
  318. btnAccion.Text = "Nuevo"
  319. PrepararNuevo()
  320. End Sub
  321. Private Sub BtnModificar_Click(sender As Object, e As EventArgs)
  322. Transaccion = "M"
  323. btnAccion.Text = "Modificar"
  324. End Sub
  325. Private Sub navNuevo_Click(sender As Object, e As EventArgs)
  326. Transaccion = "N"
  327. btnAccion.Text = "Nuevo"
  328. PrepararNuevo()
  329. End Sub
  330. Private Sub navModificar_Click(sender As Object, e As EventArgs) Handles navModificar.Click
  331. Transaccion = "M"
  332. btnAccion.Text = "Modificar"
  333. End Sub
  334. Private Sub cboEmisor_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboEmisor.SelectedIndexChanged
  335. End Sub
  336. End Class