Manual de programador _ControlsSAP.pdf
Manual de programador _ControlsSAP.pdf
Manual de programador _ControlsSAP.pdf
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>ControlsSAP</strong> Framework ®<br />
3.2.5 FormApplication<br />
Si queremos reutilizar nuestro código en un entorno fuera <strong>de</strong> SAP Business One, podremos<br />
simular un entorno parecido en aspecto y funcionalida<strong>de</strong>s vistas, utilizando el tipo <strong>de</strong><br />
formulario FormApplication. Con el dispondremos <strong>de</strong> una interficie parecida a la <strong>de</strong> SAP<br />
incluyendo la barra <strong>de</strong> herramientas, barra <strong>de</strong> menú, menú principal, etc. Dispone <strong>de</strong> métodos<br />
para:<br />
• Conectar a la base <strong>de</strong> datos<br />
• Añadir los módulos <strong>de</strong> trabajo y sus menús<br />
• Abrir formularios<br />
• Desplazarse por los registros, crear, buscar, etc.…<br />
• Gestionar las aplicaciones<br />
• Control <strong>de</strong> versiones<br />
En el evento Load <strong>de</strong>l formulario llamaremos a la función Connect. Esta función realizará la<br />
conexión a la última base <strong>de</strong> datos <strong>de</strong> SAP conectada. Si es la primera vez se mostrará un<br />
formulario en el que indicaremos los datos necesarios para la conexión.<br />
Para cargar módulos <strong>de</strong> trabajo utilizaremos AddNewModule/AddItemModule y lo<br />
realizaremos en el evento LoadModules. Si estos necesitan crear tablas, campos, etc. lo<br />
realizarán antes <strong>de</strong> iniciarse la aplicación informando al usuario <strong>de</strong> los cambios que se van a<br />
realizar para cada módulo.<br />
Public Class frmMenu<br />
Private Sub frmMenu_Load(ByVal sen<strong>de</strong>r As Object, ByVal e As<br />
EventArgs) Handles MyBase.Load<br />
Me.Connect()<br />
End Sub<br />
Private Sub frmMenu_LoadModules(ByVal sen<strong>de</strong>r As Object, ByVal e As<br />
EventArgs) Handles Me.LoadModules<br />
Me.AddItemsModule(DLL.LoadDLL(Me.Company))<br />
End Sub<br />
End Class<br />
Listado 12: Conexión y arranque <strong>de</strong> un módulo <strong>de</strong>s<strong>de</strong> un formulario FormApplication.<br />
32