CONTEÚDO
- Visão Geral
- Descrição
- Informações Técnicas
- Exemplo
01. VISÃO GERAL
Linha de Produto: | Microsiga Protheus® |
Segmento: | Serviços |
Módulo: | SIGAFIS - Livros Fiscais |
Função: | FISA061 - Importação de Arquivo Magnético da FCI |
Abrangências: | Microsiga Protheus 12 |
Versões: | Microsiga Protheus 12 |
Sistemas Operacionais: | Todos |
Compatível com as Bases de Dados: | Todos |
Nível de Acesso: | Nível 1 (Acesso Clientes) |
Idiomas: | Todos |
02. DESCRIÇÃO
Esta rotina tem a finalidade de efetuar a o processamento, geração e importação de arquivo magnético da FCI, através do mecanismo de rotina automática.
Rotina Automática:
Bloco de código |
---|
language | yml |
---|
theme | FadeToGrey |
---|
firstline | 1 |
---|
title | Chamada da Rotina Automática: |
---|
linenumbers | true |
---|
|
FISA061( [aWizAuto], [aFilAuto], cDir, cArq, nTipo ) --> Nil |
...
Dica |
---|
|
O Array aWizAuto com o conteúdo do assistente (Wizard), DEVE ser informado manualmente.nos moldes do exemplo demonstrado abaixo no quando "Exemplo: Utilização do FISA061 como rotina automática ". A funcionalidade xMagLeWiz (Carrega NÃO DEVERÁ ser utilizada a funcionalidade xMagLeWiz para carregar os dados da Wizard automaticamente e apresenta a wizard em tela), NÃO DEVE ser utilizada, pois esta função só funciona em MODO GRÁFICO. O segundo parâmetro contendo as filiais de processamento é opcional, no exemplo abaixo, foi mostrado usando utilizando a funcionalidade MatFilCalc (Carrega filiais da empresa corrente), caso utilizada, como demonstrado no exemplo, deve-se invoca-la passando o primeiro parâmetro como .F. Ex: MatFilCalc(.F.) . Para o correto funcionamento, as posições 1 e 2 do array aWizAuto referente as 'data de' e 'data ate', devem ser informadas no formato (aaaammddAAAAMMDD) - AnoMesDia. |
Aviso |
---|
|
Quando Tipo Quando Tipo 2-"Importar" ou 3-"Gerar arquivo", a variável cDir (Diretório do arquivo a ser importado), não deve ser o mesmo diretório informado no STARTPATH(Ex: "\system\"). Devido ser Devido ser no STARTPATH onde é feita uma cópia do arquivo original, para que rotina FISA061 tenha acesso exclusivo aos dados e processamento do arquivo. |
ExecAuto - MATA089 | Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|
| [xAutoCab] | Array of Record | Conteudo Conteúdo dos campos preenchidos na Wizard. |
| X |
|
| [aFilAuto] | Array of Record | Filiais que serão processadas. |
|
|
|
| cDir | Caracter | Caminho pasta destino. |
|
|
|
| cArq | Caracter | Nome do arquivo. |
|
|
|
| nTipo | Numerico | Podendo ser uma das opções: 1-Processar; 2-Importar; 3-Gerar arquivo. |
| X |
|
04. EXEMPLO
Bloco de código |
---|
language | groovy |
---|
theme | Midnight |
---|
firstline | 1 |
---|
title | Exemplo: Utilização do FISA061 como rotina automática |
---|
linenumbers | true |
---|
|
#Include "PROTHEUS.CH"
User Function FCI()
Local lMostraTela := .F.
Local aWizAuto := {} // Array com conteudoconteúdo dos campos preenchidos na wizard
Local aFilAuto := {} // Array com as filiais que seraoserão processadas
Local cDir := "C:\TEMPFCI\" //Diretorio Diretório não pode ser o mesmo informado StartPath
Local cArq := "FCI.TXT"
Local nTipo := 3 // 1-Processar; 2-Importar; 3-Gerar arquivo
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
Private lAutoErrNoFile := .F.
IF SELECT("SX2") == RpcSetType( 3 )
RpcSetEnv( "99", "01" )
0
cCodEmp := aParams[1]
cCodFil := aParams[2]
PREPARE ENVIRONMENT EMPRESA cCodEmp FILIAL cCodFil
ENDIF
aFilAuto := MatFilCalc(.F.)
Aadd(aWizAuto,{ "20180201", ; // Data de
"20180228", ; // Data ate
"FCI_P001", ; // Produto de
"FCI_P003", ; // Produto ate
"2" , ; // Seleciona filiais ? 1-Sim|2-Não
"100" , ; // VersaoVersão
"2" , ; // Considera produtos bloqueados ? 1-Sim|2-Não
"1"}) // Usar cod.FCI anterior para mesma faixa? 1-Sim|2-Não
MSExecAuto({|x,y,z,m,n|FISA061(x,y,z,m,n)}, aWizAuto, aFilAuto, cDir, cArq, nTipo)
If lMsErroAuto
MostraErro()
EndIf
RpcClearEnv()RESET ENVIRONMENT
Return Nil |
HTML |
---|
<!-- esconder o menu -->
<style>
div.theme-default .ia-splitter #main {
margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
display: none;
}
#main {
padding-left: 10px;
padding-right: 10px;
overflow-x: hidden;
}
.aui-header-primary .aui-nav, .aui-page-panel {
margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
margin-left: 0px !important;
}
</style>
|