• A Confluence está sendo executada atualmente com todos os plugins que não são do sistema desabilitados. Pode haver perda de algumas funcionalidades

Árvore de páginas

CONTEÚDO

01. DADOS GERAIS

Linha de Produto:Microsiga Protheus®
Segmento:Serviços
Módulo:Fiscal

02. DESCRIÇÃO

Este ponto de entrada encontra-se no fonte EDIMT.PRW e foi criado para filtrar quais manifestos deverão ser considerados no arquivo que será gerado. O Ponto de Entrada recebe um array contendo todos os manifestos da viagem selecionada no momento da geração do arquivo e retorna um array contendo os manifestos que devem ser considerados.

03. ESPECIFICAÇÃO

Parâmetros do ponto de Entrada:

Nome

Tipo

Descrição

DefaultObrigatórioReferência
aManifArray of Record

Array contendo todos os Manifestos da Viagem


X

Retorno:

Nome

Tipo

Descrição

aManifArray

Array contendo apenas os Manifestos que devem ser considerados

04. EXEMPLO DE UTILIZAÇÃO


EDIMTMAN
#include "RWMAKE.CH"  
#include "PROTHEUS.CH" 

User Function EDIMTMAN

// Variaveis utilizadas na selecao de categorias
Local oChkQual,lQual,oQual,cVarQLocal aTotMan := {}

// Carrega bitmaps
Local oOk       := LoadBitmap( GetResources(), "LBOK")
Local oNo       := LoadBitmap( GetResources(), "LBNO")
Local nForMan   := 0       

Alert ("Ponto de Entrada EDIMTMAN - Validado!!")	

For nForMan:= 1 To Len(ParamIxb)    

    AADD(aTotMan,{.F.,ParamIxb[nForMan,1]})   
    
Next nForMan     

DEFINE MSDIALOG oDlg TITLE OemToAnsi("Seleção de Manifestos") STYLE DS_MODALFRAME From 145,0 To 445,628 OF oMainWnd PIXEL	

oDlg:lEscClose := .F.	

@ 05,15 TO 125,300 LABEL OemToAnsi("Marque os Manifestos a serem considerados no processamento") OF oDlg  PIXEL
@ 15,20 CHECKBOX oChkQual VAR lQual PROMPT OemToAnsi("Inverte Seleção") SIZE 50, 10 OF oDlg PIXEL ON CLICK (AEval(aTotMan, {|z| z[1] := If(z[1]==.T.,.F.,.T.)}), oQual:Refresh(.F.))	
@ 30,20 LISTBOX oQual VAR cVarQ Fields HEADER "",OemToAnsi("Manifesto"),OemToAnsi("Descrição") SIZE 273,090 ON DBLCLICK (aTotMan:=MtFClTroca(oQual:nAt,aTotMan),oQual:Refresh()) NoScroll OF oDlg PIXEL	

oQual:SetArray(aTotMan)	

oQual:bLine := { || {If(aTotMan[oQual:nAt,1],oOk,oNo),aTotMan[oQual:nAt,2]}}	

DEFINE SBUTTON FROM 134,240 TYPE 1 ACTION If(MtMCalOk(aTotMan,.T.,.T.),oDlg:End(),) ENABLE OF oDlg	
DEFINE SBUTTON FROM 134,270 TYPE 2 ACTION If(MtMCalOk(aTotMan,.F.,.T.),oDlg:End(),) ENABLE OF oDlg	

ACTIVATE MSDIALOG oDlg CENTERED      

aTotMan:= ProcManif(aTotMan) 

Return(aTotMan)

Static Function MtMCalOk(aFilsCalc,lValidaArray,lMostraTela)

Local lRet:=.F.
Local nx:=0
Default lMostraTela := .T.

If !lValidaArray	
    aFilsCalc := {}	
    lRet := .T.Else	// Checa marcacoes efetuadas	
    
    For nx:=1 To Len(aFilsCalc)		
        If aFilsCalc[nx,1]			
            lRet:=.T.		
        EndIf	
    Next nx	// Checa se existe algum manifesto marcado na confirmacao	
    
    If !lRet		
        If lMostraTela			
            Aviso(OemToAnsi("Atenção"),OemToAnsi("Deve ser selecionado ao menos um manifesto para o processamento."),{"Ok"})		
        EndIf	
    EndIf
EndIf

Return lRet

/*ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ÚÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
¿±±±±³ Função    ³ MtFClTroca					                    ³±±±±
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
´±±±±³ Autor     ³ Microsiga Software S/A         ³ Data ³ 12/01/06 ³±±±±
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ
´±±±±³ Descrição ³ Troca marcador entre x e branco                  ³±±±±
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
´±±±±³ Parametros ³ ExpN1 = Linha onde o click do mouse ocorreu     ³±±±±
³                 ³ ExpA2 = Array com as opcoes para selecao        ³±±±±
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
´±±±±³  Uso      ³ Protheus 8.11                                    ³±±±±
ÀÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Ù±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/

Static Function MtFClTroca(nIt,aArray)

aArray[nIt,1] := !aArray[nIt,1]

Return aArray   

/*ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ÚÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
¿±±±±³ Função    ³ ProcManif					                    ³±±±±
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
´±±±±³ Autor     ³ Microsiga Software S/A         ³ Data ³ 12/01/06 ³±±±±
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ
´±±±±³ Descrição ³ Manifestos que devem ser processados             ³±±±±
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
´±±±±³ Parametros ³ ExpN1 = Array com todos os manifestos           ³±±±±
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
´±±±±³  Uso      ³ Protheus 8.11                                    ³±±±±
ÀÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Ù±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/

Static Function ProcManif(aTotMan)

Local nForManif  := 0
Local aManifOK   := {}		

For nForManif := 1 To Len(aTotMan)			

    If aTotMan[nForManif,1]				
        AADD(aManifOK,aTotMan[nForManif,2])			
    EndIf		

Next nForManif   

Return aManifOK


05. DEMAIS INFORMAÇÕES

Não há.