Árvore de páginas

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 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:

Chamada da Rotina Automática:
FISA061( [aWizAuto], [aFilAuto], cDir, cArq, nTipo ) --> Nil

Retorno:

Retorno:
Nil

Dicas

O Array aWizAuto com o conteúdo do assistente (Wizard), DEVE ser informado nos moldes do exemplo demonstrado abaixo no quando "Exemplo: Utilização do FISA061 como rotina automática ".

A funcionalidade xMagLeWiz (Carrega 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 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 (AAAAMMDD) - AnoMesDia.

Importante

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 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 RecordConteú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

Exemplo: Utilização do FISA061 como rotina automática
#Include "PROTHEUS.CH"

User Function FCI()

    Local lMostraTela := .F.
    Local aWizAuto    := {} 		// Array com conteúdo dos campos preenchidos na wizard
    Local aFilAuto    := {}			// Array com as filiais que serão processadas

    Local cDir        := "\FCI\"	 // 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") == 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"     , ; // Versã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

	RESET ENVIRONMENT
 
Return Nil