frmReqPago.vb 15 KB

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