Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Definir variáveis no início da rotina;
Variáveis com nome lógico;


Âncora_Toc208823471_Toc208823471Programa Exemplo 

No exemplo abaixo, vamos demonstrar a padronização em um programa que está em produção.
Programa CAD_LFIS – Cadastro de Localização Física, onde os 3 primeiros caracteres indicam o módulo (Cadastro = CAD), o restante identifica o tipo, sempre com 4 caracteres.
Este programa tem como objetivo cadastrar as gôndolas da Loja.
Estrutura da Tabela – AA3CLOFI.

...


Onde LOF_LOJA é a identificação da loja, o LOF_GONDOLA é o número da gôndola e o LOF_COD_ITEM é o código do item.

...

Estrutura do Programa

O programa deve possuir a seguinte estrutura:

Referência: Possui a referência dos objetos utilizados na aplicação. Nele deveremos adicionar referência às Funções, por exemplo.

Web References: Nesta propriedade devemos referenciar o Web Service utilizado na aplicação.

Forms: Classe pública de inicialização do projeto.

Telas da Aplicação: Cada aplicação poderá ter mais de uma tela. O nome das mesmas poderá ser aplicado na sequência em que ocorre o acesso durante a navegação.

Ex: T_X_YYYYYY

Onde X é o número da tela e YYYYYY nome da tela.

...



Classe: Forms
O programa principal (WMSMobile) inicia o programa a partir desta classe, o conteúdo altera de acordo com a aplicação.
Exemplo:
Imports System.Web.Services
Imports RMSMobile_Funcoes.Forms 'Importa a referencia a Funções
Imports RMS.RMSMobile.CAD.AUDG.wsProduto'Importa ao WebService utilizado na Aplicação
Public Class Forms
Inherits RMSMobile_Funcoes.Forms 'Importa as instruções do Funções para dentro
da classe
Shared instance As Forms
Dim f_T_1_Exemplo As T_1_Exemplo 'declarar as telas contidas na aplicação
..... 'Caso necessário declarar também
variáveis globais
Public _wsProduto As wsProduto.wsProduto 'declarar a variável de acesso ao Web
Service
'procedimento público para acesso interno das funções
Public Shared Function getInstance() As Forms
getInstance = RMS.RMSMobile.CAD.AUDG.Forms.getInstance(Nothing, Nothing, 0, Nothing)
End Function
'procedimento público para inicializar a aplicação
Public Shared Function getInstance(ByVal form_back As System.Windows.Forms.Form, ByVal SystemUser As String, ByVal Store As Decimal, ByVal comprador As String) As Forms
If (instance Is Nothing And form_back Is Nothing) Then
MessageBox.Show("ERRO NO PROGRAMA (instance==null && form_back==null) chamando a classe RMS.RMSMobile.CAD.AUDG.Forms")
getInstance = Nothing
Exit Function
End If
If (instance Is Nothing) Then
instance = New RMS.RMSMobile.CAD.AUDG.Forms
instance.Forms(SystemUser, Store, comprador)
End If
If Not (instance.iniciado) Then
instance.inicio(form_back)
End If
getInstance = instance
End Function
'ao carregar o classe valida primeiramente se existem os objetos utilizados na
aplicação
Private Shadows Sub Forms(ByVal SystemUser As String, ByVal Store As Decimal,
ByVal comprador As String)
MyBase.setObjetos("'AA3CITEM','AA3CCEAN','AA2CTABE'")
MyBase.Forms(SystemUser, Store, comprador)
End Sub
'procedimento para carregar as telas e a chamada ao WebService da aplicação
Protected Overrides Function iniciaForms() As Boolean
iniciaForms = True 'variável auxiliar no carregamento do módulo
'carregar e traduzir as telas da aplicação
Me.f_T_1_Exemplo = MyBase.TraduzirForm(New T_1_Exemplo)
'carregar o WebService utilizado
_wsProduto = New wsProduto.wsProduto
_wsProduto.Url = Me.wsPath + "wsProduto.asmx"

'Carregar a tela principal
Me.f_T_1_Exemplo.Show()
End Function
'Descarregar as telas ao encerrar a aplicação
Protected Overrides Sub fimForms()
' libera recursos de todos os Forms do módulo
Me.f_T_1_Exemplo.Dispose()
instance = Nothing
End Sub
End Class

Âncora_Toc208823474_Toc208823474DataSet e Cursores
Para trabalhar com tabelas nas Aplicações é utilizado o objeto DataSet.
Sempre que é feita uma chamada ao WebService, alteramos o cursor da aplicação para o modo em espera.
Exemplo:
Dim ds As DataSet
Cursor.Current = Cursors.WaitCursor
ds = Forms.getInstance()._wsProduto.detProdutos(codigo, Store)
Cursor.Current = Cursors.Default
Para utilizar os objetos DataSet e Cursores é necessário importar a classe das mesmas:
Imports System.Data
imports System.Windows.Forms
Âncora_Toc208823475_Toc208823475

Mensagens
Âncora_Toc208823476_Toc208823476
Premissas
Utilizar rotina de tradução.
Exemplo:
MsgBox(Forms.Traduzir("Produto inválido"))
Âncora_Toc208823477_Toc208823477


Tradução
Um ponto muito importante no Sistema RMSMobile é a tradução de telas e mensagens.
A tradução dos componentes do form é automática pelo RMSMobile_Funcoes, por isso deve-se durante o desenvolvimento colocar no arquivo config do Programa o seguinte parâmetro:
<add key = "enviaPalavras" value = "S" />
Para que no banco de dados de tradução seja carregada a palavra a ser traduzida.
Em funções na rotina "Traduzir", identifica se o parâmetro "enviaPalavras" está com o valor "S", e chama o processo de gravação da palavra no WebService.
No WebService a gravação da palavra no banco de dados utiliza o parâmetro do Web.Config:
<add key = "connTrad" value = "Provider=MSDAORA.1;User ID=RMS_TRADUCAO;Data Source=DESENV;Password=RMS_TRADUCAO" />

Caso seja necessário concatenar uma mensagem e utilizar a função Traduzir nas strings.
Âncora

_Toc208823478_Toc208823478Controle de Fontes
Sempre solicitar uma vez antes de alocar um fonte no RMSCatal, ou de preferência deletar o destino antes de solicitar e substituir o arquivo para que seja alterado.
Para efetuar um desenvolvimento do WebService é necessário que o mesmo esteja instalado na máquina de desenvolvimento.
Ao instalar o os códigos fontes em uma máquina de desenvolvimento, é interessante a consulta também no manual de instalação dos programas.
Âncora_Toc208823479_Toc208823479

Web Service
Ao baixar um arquivo com extensão .SLN de um projeto WebService para implementar na máquina, verificar se a pasta do projeto está com o Compartilhamento Web definido:
Image Removed Image Added

Abrir o arquivo em modo texto e averiguar se o endereço do projeto está correto:

...

Projetos RMSMobile

...

1.1

...

06/03/15

...

Mirella Vaqueiro

...

Ao baixar um projeto do RMSMobile deve-se baixar todos os módulos do mesmo, pois o menu do programa guarda todas as referências apontando diretamente para o projeto.
Image Modified

...

1. HISTÓRICO DE REVISÕES

...

 

...

 

...

 

...

1.0

...

05/07/11

...

Carmem Elvira

...

  • Criação do documento e últimas atualizações;