frmReqPago.vb 15 KB

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