Histórico da Página
| Índice | ||
|---|---|---|
|
Introdução
Neste documento procuramos apresentar e justificar as escolhas técnicas realizadas durante a implementação da rotina SCANCREF. As escolhas podem ser agrupadas da seguinte maneira:
...
- É uma evolução do ADVPL e, ao contrário desta, continuará recebendo atualizações no futuro, portanto é a escolha mais adequada para a construção de uma rotina durável;
- Suporte a namespaces: o que permitiu otimizar a organização conforme arquitetura escolhida;
- Suporte a Reflection e Annotations: embora não tenha sido essencial, este recurso permitiu criar uma nova camada de abstração sobre os objetos o que facilitou muito a implementação da rotina (ex.: a criação de metadados sobre os campos de cada registro, tais como a quantidade de casas decimais ou a posição de cada campo).
Anexo I – Artefatos MVC
Anexo II – Classes e métodos TLPP
Namespace backoffice.fiscal.arquivos.estadual.scancref.model
...
ScancRefService():QryCJO()
Retorno
| Tipo | Descrição |
|---|---|
| Character | com o alias da query para uso |
...
DefCliFor of Class ScancRefService method
...
ScancRefService():DefCliFor()
Retorno
| Tipo | Descrição |
|---|---|
| Array | com os dados da base |
...
getRegA6HD of Class ScancRefService method
...
ScancRefService():getRegA6HD()
Retorno
| Tipo | Descrição |
|---|---|
| Object | retorna um objeto do tipo RegA6HD |
...
getRegA6Q1 of Class ScancRefService method
...
ScancRefService():getRegA6Q1()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q1 |
...
getRegA6Q2 of Class ScancRefService method
...
ScancRefService():getRegA6Q2()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q2 |
...
getRegA6Q3 of Class ScancRefService method
...
ScancRefService():getRegA6Q3()
Retorno
| Tipo | Descrição |
|---|---|
| Array | retorna um array de objetos do tipo RegA6Q3 |
...
getRegA6Q41 of Class ScancRefService method
...
ScancRefService():getRegA6Q41()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q41 |
...
getRegA6Q42 of Class ScancRefService method
...
ScancRefService():getRegA6Q42()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q42 |
...
getRegA6Q43 of Class ScancRefService method
...
ScancRefService():getRegA6Q43()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q43 |
...
getRegA6Q5 of Class ScancRefService method
...
ScancRefService():getRegA6Q5()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q5 |
...
getRegA6Q6 of Class ScancRefService method
...
ScancRefService():getRegA6Q6()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q6 |
...
getRegA6Q61 of Class ScancRefService method
...
ScancRefService():getRegA6Q61()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q61 |
...
getRegA6Q62 of Class ScancRefService method
...
ScancRefService():getRegA6Q62()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q62 |
...
getRegA6Q63 of Class ScancRefService method
...
ScancRefService():getRegA6Q63()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q63 |
...
getRegA6Q71 of Class ScancRefService method
...
ScancRefService():getRegA6Q71()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q71 |
...
getRegA6Q72 of Class ScancRefService method
...
ScancRefService():getRegA6Q72()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q72 |
...
getRegA6Q73 of Class ScancRefService method
...
ScancRefService():getRegA6Q73()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q73 |
...
getRegA6Q8 of Class ScancRefService method
...
ScancRefService():getRegA6Q8()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q8 |
...
getRegA6Q91 of Class ScancRefService method
...
ScancRefService():getRegA6Q91()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q91 |
...
getRegA6Q92 of Class ScancRefService method
...
ScancRefService():getRegA6Q92()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q92 |
...
getRegA6Q93 of Class ScancRefService method
...
ScancRefService():getRegA6Q93()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q93 |
...
getRegA6Q10 of Class ScancRefService method
...
ScancRefService():getRegA6Q10()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q10 |
...
getRegA6Q11 of Class ScancRefService method
...
ScancRefService():getRegA6Q11()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q11 |
...
getRegA6Q12 of Class ScancRefService method
...
ScancRefService():getRegA6Q12()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q12 |
...
getRegA6Q13 of Class ScancRefService method
...
ScancRefService():getRegA6Q13()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q13 |
...
getRegA6Q14 of Class ScancRefService method
...
ScancRefService():getRegA6Q14()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q14 |
...
getRegA6Q15 of Class ScancRefService method
...
ScancRefService():getRegA6Q15()
Retorno
| Tipo | Descrição |
|---|---|
| Object | objeto com dados do registro A6Q15 |
Namespace backoffice.fiscal.arquivos.estadual.scancref.file
ScancRef class
...
Classe modelo para o arquivo SCANC Refinaria
Definição:
Sintaxe
ScancRef()
...
makeRecords of Class ScancRef method
...
Método responsável por montar os registros do arquivo
Definição:
Sintaxe
ScancRef():makeRecords(cIdGrupo,cMesAno,cUfDest,_cFilial)
Parâmetros
| Nome | Tipo | Uso | Descrição |
|---|---|---|---|
| cIdGrupo | character | Obrigatório | Identificador do grupo |
| cMesAno | character | Obrigatório | Identificador do período |
| cUfDest | character | Obrigatório | Unidade federativa do arquivo |
| _cFilial | character | Obrigatório | Filial para a qual o arquivo será gerado |
...
writeRecords of Class ScancRef method
...
Método responsável por escrever o arquivo texto
Definição:
Sintaxe
ScancRef():writeRecords(oWriter)
Parâmetros
| Nome | Tipo | Uso | Descrição |
|---|---|---|---|
| oWriter | object | Obrigatório | Objeto da classe FWFileWriter responsável pela escrita no arquivo texto |
...
writeCounters of Class ScancRef method
...
RODAPÉ - gera os totais de linhas de todos os registros do arquvo
Definição:
Sintaxe
ScancRef():writeCounters()
...
ScancTotais class
...
RODAPÉ - gera os totais de linhas de todos os registros do arquivo
Definição:
Sintaxe
ScancTotais()
Namespace backoffice.fiscal.arquivos.utils
AnnotationHelper class
...
Classe no padrão Singleton que fornece um objeto e métodos estáticos para manipulação de annotations
Definição:
Sintaxe
AnnotationHelper()
...
getDataAnnotation of Class AnnotationHelper method
...
Organiza as annotations de um objeto em um objeto HashMap de acordo com a chave de pesquisa informada
Definição:
Sintaxe
AnnotationHelper():getDataAnnotation(oObj,cAnnotationName,cKey)
Parâmetros
| Nome | Tipo | Uso | Descrição |
|---|---|---|---|
| oObj | Object | Obrigatório | o objeto para o qual se quer obter os dados de annotation |
| cAnnotationName | Character | Obrigatório | o nome da annotation a ser obtida |
| cKey | Character | Obrigatório | o índice de pesquisa para o HashMap (deve ser uma propriedade da annotation) |
Retorno
| Tipo | Descrição |
|---|---|
| Object | retorna um objeto HashMap |
...
getInstance of Class AnnotationHelper method
...
Cria uma instância (se não houver) e a fornece
Definição:
Sintaxe
AnnotationHelper():getInstance()
Retorno
| Tipo | Descrição |
|---|---|
| Object | retorna um objeto oAnnotationHelper |