Árvore de páginas

Versões comparadas

Chave

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

...

Bloco de código
languagecpp
themeMidnight
titleEICDI500
linenumberstrue
collapsetrue
 #include "protheus.ch"

User function EICDI500()

   Local cParam := if(Type("ParamIxb") = "A", ParamIxb[1], if(Type("ParamIxb") = "C", ParamIxb, ""))

   Do Case

      Case cParam == "STRU_WORKS"

         aadd(aSemSX3SW7,{"W7_DTPRVE","D",8,0})

      Case cParam == "BROWSE_SELECIONA"

         aadd(aCamposItem,{"W7_DTPRVE",,"DT Prev Entrega",""})
         aadd(aCamposItem,{"W7_DTENTRG",,"DT Entrega",""})

         //AAdd(aBotaoItem, {"" ,{|| MsgInfo("Teste")}, "Botão de teste"})
         //AAdd(aCamposItem, {"WKCAMPO" , , "Titulo" , "substituir por picture"})

      Case cParam == "GRV_WORK_ITEM"

         WORK->W7_DTENTRG  := SW3->W3_DT_ENTR
         WORK->W7_DTPRVE   := SW3->W3_DT_ENTR - 5
         
      Case  ParamIXB == "ANT_VALID_SW6"

         If cNomeCampo =   'TFOBUNIT'

            MsgInfo("Entrou no ponto de entrada para validação dos campos no item do embarque.")

         EndIf

      Case PARAMIXB == "MANUT_SW9"

         lSair : = .T.

      Case PARAMIXB == "ANTES_TELA"

         MsgInfo("Entrou no ponto de entrada para manipulação de campos customizados.")

      Case cParam == "TELA_DESP"

         If AScan(aBotoesDesp, {|x| x[1] == "TESTE1"}) == 0

            AAdd(aBotoesDesp, {"TESTE1", {|| MsgInfo("Teste")}, "Teste aBotoesDesp", "Teste aBotoesDesp"})

         EndIf

      Case cParam == "BROWSE_WORK_SW9"

         AAdd(aBotoes, {"TESTE aBotoes", {|| MsgInfo("Teste aBotoes")}, "Teste aBotoes", "Teste aBotoes"})

         AAdd(aTB_CposSW9, {"TESTE aTB_CposSW9", {|| MsgInfo("Teste aBotoes")}, "Teste aTB_CposSW9", "Teste aTB_CposSW9"})

      Case cParam == "RATEIO_ACRESCIMOS"

         cCodRatPeso := "10/13"

      Case cParam == "DESVIA_REL"

         lDesvio := .T.

      Case cParam == "ANTES_INFO_COMPL"

         nLin2 := 20

      Case cParam == "IMP_COMPLE"

         cMemo := "Teste"

      Case cParam == "FINAL_IMPR_ADI"

         nLin2 := 20

      Case cParam == "MANUT_W9_INC"

         MsgInfo("Ponto de entrada com o parâmetro MANUT_W9_INC")

         //M->W9_FRETEIN:= 145.00

      Case cParam == "ANTES_INICIA_SW6_SW9"

         //MsgInfo("Ponto de entrada com o parâmetro ANTES_INICIA_SW6_SW9")

         cCpoNaoInicia += "W2_AAAA; W2_BBBB"

      Case cParam == "INICIA_SW6_SW9"

         MsgInfo("Ponto de entrada com o parâmetro INICIA_SW6_SW9")

         //M->W9_ABCD:= SW2→W2_ABCD

      Case cParam == "AROTINA"

         Aadd(aRotina, {"Nova Rotina", "DI500Rotina", 0, 2})
		
		 // Exemplo do FILTRA_BROWSE
         If (nPos := AScan(aRotina,{|x| x[1] == "Legendas"})) > 0
             aDel(aRotina, nPos)
             aSize(aRotina, Len(aRotina) - 1)
             aAdd(aRotina, {"Legendas", "u_Legenda", 0, 2}) // Essa User Function está disponível no final deste exemplo.
         EndIf    
    
      Case cParam == "ALTERA_WHEN"

         lWhenDesp := .F.    //Desabilita o campo Despesa

         lWhenAdian := .F.   //Adianta/o

         lWhenPgPor := .F.  //Pago Por

         lWhenGrFin := .F.  //Gera Financ.

      Case PARAMIXB == "GERATXT_MERCODI_ALT"

         If !lMERCODI

            Aadd(aLoadTxt,{ 86 ," ", "C" , 1 , 0 ,1141 ,1141})

         Elseif Ascan(aLoadTxt, {|x|x[1] == 86}) # 0

            Aadd(aLoadTxt,{ 86 ," ", "C" , 1 , 0 ,1141 ,1141})

         EndIf

      Case ParamIXB == "DI500LOTEVAL_VALLOTE" .AND. cValCampo == "LOTE"
         MsgInfo("DI500LOTEVAL_VALLOTE")
		
 	  Case ParamIXB == "DESPESA"
         
         IF !lSair
             msginfo("Abrindo a tela de despesas")
         ELSE
             msginfo("Não é possível abrir a tela de despesas")
		 Endif
  
	   Case cParam == "ANTES_TELA_DESP_MANUT"
          lSair:=.T.
          aAdd(aEncAltera, "WD_PRDSIS")
		  msginfo("Entrou no Ponto de Entrada WD_PRDSIS")
      
       Case cParam == "DESP_ALTERA1"
        
         If lSair
             msginfo("Permitida a alteração na tela de despesas")
         ELSE
             msginfo("Não é possível abrir a tela de alteração de despesa")
		 Endif
                
       Case cParam == "DESP_EXCLUI1"
            
	     If lSair
             msginfo("Permitida a exclusão na tela de despesas")
         ELSE
             msginfo("Não é possível abrir a tela de exclusão de despesa")
         Endif

      Case ParamIXB == "INCLUI_DESP"

         MsgInfo("Ponto de entrada antes de salvar a inclusão da despesa")

      Case ParamIXB == "ALTERA_DESP"

         MsgInfo("Ponto de entrada antes de salvar a alteração da despesa")

      Case ParamIXB == "DELETA_DESP "

         MsgInfo("Ponto de entrada antes de excluir a despesa")
	
	  Case cParam == "ADD_TB_CAMPOS" //Adiciona campos a serem exibidos nos itens nas opções de Menu "Visualização" e "Estorno"
                       /*{Nome_Campo ,,Tamanho              , Decimais             }*/
    	 AADD(aTB_Campos,{"NOVOCAMPO",,AVSX3("W3_QTSEGUM",5),AVSX3("W3_QTSEGUM" ,6)}) 

	  Case cParam == "ALTERA_AEMBARQUE" //Adiciona campos a serem exibidos na manutenção do Embarque/Desembaraço
	     If aScan(aEmbarques,{|x| x == "W6_ARMADOR"}) == 0
	        AADD(aEmbarques,"W6_ARMADOR")
    	 EndIf
      Case cParam == "FILTRA_BROWSE"
		 // aCores legado - {Filtro, Cor}
	     // AAdd(aCores, {"!Empty(SW6->W6_DT_ENCE)", "BR_VERDE"})
         // Caso utilize o legado, o menu de legendas ficará sem descrição das legendas quando utilizado, então recomenda-se ou atualizar para o novo padrão, ou alterar o aRotina para adicionar 
         // um menu de legendas customizado. Um exemplo estará disponível no case AROTINA.
		
	     // aCores novo padrão - {Filtro, Cor, Nome da legenda}
         AAdd(aCores, {"!Empty(SW6->W6_DT_ENCE)", "BR_VERDE", "Título 1"})
         AAdd(aCores, {"!Empty(SW6->W6_CHEG) .and. Empty(SW6->W6_DTREG_D)", "BR_VERMELHO", "Título 2"})

	     // aFilters - Filtros para substituirem os padrões - {Nome do filtro, Filtro}
         aAdd(aFilters, {"Nome do Filtro", "!Empty(SW6->W6_DT_ETD)"})
         aAdd(aFilters, {"Nome do Filtro 2", "!Empty(SW6->W6_CHEG) .and. Empty(SW6->W6_DTREG_D)"})

		 // aVisions - Visões do Browse
         oDSView := FWDSView():New()
         oDSView:SetName("Nome da visão")
         oDSView:SetPublic(.T.)
         oDSView:SetCollumns(AvGetCpBrw("SW6"))
         oDSView:SetOrder(1)
         oDSView:AddFilter("Nome do filtro", "!Empty(SW6->W6_CHEG) .and. Empty(SW6->W6_DTREG_D)")
         oDSView:SetID("1")
         oDsView:SetLegend(.T.)
         aAdd(aVisions, oDSView)
    EndCase

Return


User Function Legenda()
Local aLegenda := {}
   aadd(aLegenda, {"BR_BRANCO", "Titulo 1"})
   aadd(aLegenda, {"BR_VERMELHO", "Titulo 2"})
   BrwLegenda("Customizado", "Legenda", aLegenda)
Return 

...