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


#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á.