Histórico da Página
...
| Bloco de código | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#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"
//Inclui uma opção no botão Outras Ações
If AScan(aBotoesDesp, {|x| x[1] == "TESTE1"}) == 0
AAdd(aBotoesDesp, {"TESTE1", {|| MsgInfo("Teste")}, "Teste aBotoesDesp", "Teste aBotoesDesp"})
EndIf
//Exclui a opção Incluir do botão Outras Ações
nPos := AScan(aBotoesDesp, {|x| x[3] == "Incluir"})
if nPos > 0
ADEL(aBotoesDesp,nPos)
ASIZE(aBotoesDesp,LEN(aBotoesDesp)-1)
EndIf
Case cParam == "ANTES_TELA_DESP"
lAltDesp := .f.
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)
Case cParam == "VISUAL_CAMPOS"
//Ponto de entrada executado ao clicar em "Visualizar"
AADD(aSemSX3,{"NOVO_CAMPO","C",15,0})
MsgInfo("Entrou no Ponto de entrada VISUAL_CAMPOS")
Case cParam == "INICIO_OPCAO"
//Ponto de entrada executado ao clicar em "Visualizar", "Alterar" e "Incluir"
msginfo("Entrou no PE INICIO_OPCAO")
Case cParam == "ESTORNO"
MsgInfo('Estorno não permitido')
lSair :=.t.
Case cParam == "COLUNAS_BOTOES_LOTES"
AADD(aBotaoLote,{"NOVO_BOTAO",{|| Msginfo("ENTROU NO PONTO DE ENTRADA COLUNAS_BOTOES_LOTES "),oMarkItens:oBrowse:Refresh() }, "","teste"})
Case cParam == "RET_VALID_CAMB"
lRetValCamb:=.T.
Case cParam == "ALTERA_PESO"
lAlteraNcm:=.F.
nPesLiqTot:=1234
Case cParam == "ANTES_DELETA_INV"
MSGINFO("Validando exclusão da Invoice...")
lDelInvoice:=.F.//NÃO PERMITE DELETAR A INVOICE
Case cParam == "DI500LOTES_ALT_CPOSENC"
Aadd(aCposGet,"WV_FILIAL")
AaDD(aCposGet,"WV_LOTE")"
AADD(aCamposTWV,{"WK_DESCR", , GetSX3Cache("B1_DESC","X3_TITULO"), GetSX3Cache("B1_DESC","X3_PICTURE")})
Case cParam == "DESPESA_OK"
M->WD_VALOR_R:=1000
Case cParam == "DI500SW8TWVGRV_GRV_WORKTWV"
WORK_TWV->WV_QTDE := WORK_SW8->WKQTDE
Case cParam == "DI500GRVLOTE_ATU_WORKSWV"
WORK_SWV->WV_OBS := "ESCREVER AQUI A OBSERVAÇÃO ou INFORMAÇÃO DO CAMPO"
Case cParam == "GRAVA_FINAL"
SW6->(RecLock("SW6",.F.))
SW6->W6_PESOL := 2217
SW6->(MSUNLOCK())
Case cParam == "FINAL_OPCAO"
if nOPC_mBrw == 3
MbrChgLoop( .F. )
endif
Case cParam == "ANT_GRAVA_TUDO"
lSair := .t.
Case cParam == "BROWSE_SELECIONA"
AADD(aBotaoItem,{"Teste" ,{|| nOpcaoItem:=0,If( SuaFuncao(),oDlgItens:End(),)},'Teste'})
Case cParam == "ANTES_CONF_CAPA"
lSair := .t.
Case cParam == "TELA_MARCA_ITEM"
MsgInfo("Valor da varíavel - " + cValToChar(nTamDlg),"Atenção")
EndCase
Return
User Function Legenda()
Local aLegenda := {}
aadd(aLegenda, {"BR_BRANCO", "Titulo 1"})
aadd(aLegenda, {"BR_VERMELHO", "Titulo 2"})
BrwLegenda("Customizado", "Legenda", aLegenda)
Return
|
...
| Parâmetro | Nome | Tipo | Permite alterar | Descrição |
|---|---|---|---|---|
| STRU_WORKS | aSemSX3SW7 | Array | Sim | Array com os campos que serão criados na work de itens da manutenção de itens do embarque. |
| ANT_VALID_SW6 | cNomeCampo | Caracter | Sim | Variável que armazena o nome do campo a ser validado. |
| MANUT_SW9 | lSair | Lógico | Sim | Variável usada no ponto de entrada MANUT_SW9 |
| ANTES_TELA | aCamposMostra | Array | Sim | Array que armazena os campos a serem apresentados em tela |
| ANTES_TELA_DESP | lAltDesp | Lógico | Sim | Se variável igual a false deixa a tela das despesas somente para consulta. |
| BROWSE_SELECIONA | aDarGets | Array | Sim | Array com os campos que serão exibidos na tela de manutenção dos itens do embarque. |
| BROWSE_SELECIONA | aCamposItem | Array | Sim | Array com os campos que serão exibidos na tela de manutenção dos itens do embarque. |
| BROWSE_SELECIONA | aBotaoItem | Array | Sim | Possibilita a adição de novas ações na tela de itens |
| ANT_GRAVA_CAPA | cTitItens | Caracter | Sim | Permite manipular o título da tela de itens |
| POS_GRAVA_CAPA | nOpcaoItem | Numérico | Sim | Permite verificar e intervir na ação de acesso à tela de itens |
| ANT_GRAVA_TUDO | lSair | Lógico | Sim | Quando igual a true cancela a gravação do processo e quando igual a false segue com a gravação. Aplicado somente se houve alteração ou inclusão do item. Para alterações somente na capa do processo utilizar o ponto de entrada ANTES_CONF_CAPA. |
| TELA_DESP | aBotoesDesp | Array | Sim | Disponível no ponto de entrada com o parâmetro TELA_DESP, possibilita a customização das ações exibidas na tela de despesas do desembaraço. |
| POS_GRAVA_TUDO | aCamposItem | Array | Sim | Disponível no ponto de entrada com o parâmetro BROWSE_SELECIONA, possibilita a adição de campos na tela de seleção de itens das fases de embarque e desembaraço. |
| BROWSE_WORK_SW9 | aBotoes e aTB_CposSW9 | Array | Sim | Possibilita a adição de novas opções na tela de invoices do desembaraço. Através da customização dos botões. |
| RATEIO_ACRESCIMOS | cCodRatPeso | Caracter | Sim | Variável para indicar quais os códigos de acréscimos terão o rateio efetuado por peso. |
DESVIA_REL | lDesvio | Lógico | Sim | Variável que define se haverá desvio na impressão do Relatório |
| ANTES_INFO_COMPL | nLin2 | Numérico | Sim | Variável que Possibilita inserir dados na próxima linha disponível antes da impressão da seção Informações Complementares do Relatório de Conferência da DI |
| IMP_COMPLE | cMemo | Memo | Sim | Variável que receberá o conteúdo(customizado) a ser impresso em Informações Complementares do Relatório de Conferência da DI |
| FINAL_IMPR_ADI | nLin2 | Numérico | Sim | Variável que Possibilita inserir dados na próxima linha disponível no Final da Impressão da Adição dentro do loop da impressões das adições |
| ANTES_INICIA_SW6_SW9 | cCpoNaoInicia | Caracter | Sim | Disponível na inclusão da Invoice, possibilita relacionar os campos da capa do Purchase Order (SW2) que não devem ser considerados ao carregar a capa da Invoice (SW9) |
| AROTINA | aRotina | Array | Sim | Variável que recebe as novas rotinas a serem exibidas no menu de outras ações do desembaraço |
| ALTERA_WHEN | lWhenDesp := .F. | Lógico | Sim | Variável responsável por Desabilitar o campo "Despesa" |
| ALTERA_WHEN | lWhenAdian := .F. | Lógico | Sim | Variável responsável por Desabilitar o campo "Adiantamento" |
| ALTERA_WHEN | lWhenPgPor := .F. | Lógico | Sim | Variável responsável por Desabilitar o campo "Pago Por" |
| ALTERA_WHEN | lWhenGrFin := .F. | Lógico | Sim | Variável responsável por Desabilitar o campo "Gera Título no Financeiro?". |
| GERATXT_MERCODI_ALT | cValCampo | Caracter | Sim | Variável que possibilita a alteração dos dados do mercosul(certificado) no TXT de envio da DI eletrônica. |
| DI500LOTEVAL_VALLOTE | lValLote | Lógico | Sim | Variável utilizada para validação do número do lote na inclusão. Deve-se usar a variável private cValCampo para a identificação do campo que está sendo validado, no caso do número do lote (e da data de validade) a variável estará com o conteúdo “LOTE”, use a variável lValLote para identificar se a validação está correta ou não (.T., para correto, e .F., para incorreto). A criação do ponto de entrada adicionará novas validações ao sistema, ou seja, as validações já existentes no padrão do sistema continuarão sendo executadas. |
| DI500LOTEVAL_VALLOTE | cValCampo | Caracter | Não | Variável utilizada para identificar qual campo está sendo validado. Para a validação do número do lote (e da data de validade) a variável estará com o conteúdo “LOTE”. |
| ANTES_TELA_DESP_MANUT | lSair | Lógico | Sim | Variável que possibilita a permissão ou não de uma alteração ou inclusão da despesa do desembaraço, se retornar .T. permite a inclusão ou alteração da despesa e se retornar .F. volta pra tela anterior sem abrir a tela de inclusão ou alteração. |
| ADD_TB_CAMPOS | aTB_Campos | Array | Sim | Array com os campos de itens do processo exibidos nas telas de Visualização e Estorno. |
| ALTERA_AEMBARQUE | aEmbarques | Array | Sim | Array com os campos da capa do processo a serem exibidos na manutenção do Embarque/Desembaraço. |
| DESPESA | lSair | Lógico | Sim | Variável que possibilita a permissão ou não de uma alteação ou incluão da despesa do desembaraço, se retornar .T. permite a inclusão ou alteração da despesa e se retornar .F. volta pra tela anterior sem abrir a tela de inclusão ou alteração. |
| DESP_ALTERA1 | lSair | Lógico | Sim | Variável que possibilita a permissão ou não de uma alteração ou inclusão da despesa do desembaraço, se retornar .T. permite a inclusão ou alteração da despesa e se retornar .F. volta pra tela anterior sem abrir a tela de inclusão ou alteração. |
| DESP_EXCLUI1 | lSair | Lógico | Sim | Variável que possibilita a permissão ou não de uma alteração ou inclusão da despesa do desembaraço, se retornar .T. permite a inclusão ou alteração da despesa e se retornar .F. volta pra tela anterior sem abrir a tela de inclusão ou alteração. |
| FILTRA_BROWSE | aCores | Array | Sim | Variável que possibilita a adição de legendas e status customizados para a tela de Embarque/Desembaraço. O legado ainda será utilizável (vide o exemplo de utilização) porém recomenda-se atualizar para o novo padrão. |
| FILTRA_BROWSE | aFilters | Array | Sim | Variável que possibilita a adição de filtros customizados para a tela de Embarque/Desembaraço. |
| FILTRA_BROWSE | aVisions | Array | Sim | Variável que possibilita a adição de visões customizadas para a tela de Embarque/Desembaraço. |
| VISUAL_CAMPOS | aSemSX3 | Array | Sim | Array que contém os campos exibidos na tabela temporária "TRB". |
| ESTORNO | lSair | Lógico | Sim | Se retornar .T. o sistema não permite o estorno do processo, se retornar .F. o sistema permite o estorno do processo. |
| COLUNAS_BOTOES_LOTES | aBotaoLote | Array | Sim | Ao incluir opções na variável aBotaoLote, esta opção será apresentada no botão Outras ações. |
| ALTERA_PESO | lAlteraNcm | Lógico | Sim | Variável para realizar a bloqueio do campo de N.C.M, não permitindo a alteração. |
| ALTERA_PESO | nPesLiqTot | Numérico | Sim | Variável que contém o valor do peso liquido total. |
DI500LOTES_ALT_CPOSENC | aCposGet | Array | Sim | Array que contém os campos de usuário apresentados na manutenção de lotes |
DI500LOTES_ALT_CPOSENC | aCamposTWV | Array | Sim | Array que contém os campos de usuário apresentados no grid na manutenção de lotes |
| RET_VALID_CAMB | lRetValidCamb | Lógico | Sim | Caso o parâmetro esteja como .T. permitirá a validação da alteração dos itens do embarque/desembaraço para processos que possuírem controle de câmbio. |
| ANTES_DELETA_INV | lDelInvoice | Lógico | Sim | Se .T. permite excluir a invoice. |
| TELA_TOTAIS | aTB_CpoTot | Array | Sim | Ao usar o parâmetro "TELA_TOTAIS" use esta variável para adicionar novos campos a tela. |
| INTSIS_MONTACAPA_PAS | aCabAux | Array | Sim | Permite adicionar os campos a serem exibidos na capa |
| ADICBUTTON | aButtons | Array | Sim | Array que contém os botões exibidos na opção Siscomex |
| RATEIA_DESC_INV | lAlteraRateio | Lógico | Sim | Parâmetro que permitirá a alteração da forma de rateio do desconto entre os itens da Invoice |
| FINAL_OPCAO | nOPC_mBrw | Numérico | Não | Permite manipular o retorno da tela de forma que fique no browse ou na tela de dados. MbrChgLoop( .F. ) retorna para o browse, MbrChgLoop( .T. ) retorna para a tela de dados. Onde 2 = Visualização, 3 = Inclusão, 4 = Alteração e 5 = Estorno. |
| ANTES_CONF_CAPA | lSair | Lógico | Sim | Quando igual a true cancela a gravação do processo e quando igual a false segue com a gravação. |
| TELA_MARCA_ITEM | nTamDlg | Numérico | Sim | Tamanho da tela na marcação do item para o processo |
...
Import HTML Content
Visão Geral
Conteúdo das Ferramentas