Árvore de páginas

Versões comparadas

Chave

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

CONTEÚDO

  1. Visão Geral
  2. Descrição
  3. Informações Técnicas
  4. 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.

03. INFORMAÇÕES TÉCNICAS

Rotina Automática:

Bloco de código
languageyml
themeFadeToGrey
firstline1
titleChamada da Rotina Automática:
linenumberstrue
FISA061( [aWizAuto], [aFilAuto], cDir, cArq, nTipo ) --> Nil

...

Dica
titleDicas

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
titleImportante

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 - MATA089NomeTipoDescriçãoDefaultObrigatórioReferência

[xAutoCab]Array of RecordConteudo Conteúdo dos campos preenchidos na Wizard.
X

[aFilAuto]Array of RecordFiliais que serão processadas.



cDirCaracterCaminho pasta destino.



cArqCaracterNome do arquivo.



nTipoNumericoPodendo ser uma das opções: 1-Processar; 2-Importar; 3-Gerar arquivo.
X

04. EXEMPLO

Bloco de código
languagegroovy
themeMidnight
firstline1
titleExemplo: Utilização do FISA061 como rotina automática
linenumberstrue
#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>