CONTEÚDO
| Linha de Produto: | Microsiga Protheus® |
|---|---|
| Segmento: | Serviços |
| Módulo: | Fiscal |
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.
Parâmetros do ponto de Entrada:
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
|---|---|---|---|---|---|
| aManif | Array of Record | Array contendo todos os Manifestos da Viagem | X |
Retorno:
Nome | Tipo | Descrição |
|---|---|---|
| aManif | Array | Array contendo apenas os Manifestos que devem ser considerados |
#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 |
Não há.