Este Ponto de Entrada pertence à rotina de Recebimento de Importação. Ele deve ser utilizado para customização desta rotina.
Programa Fonte: EICDI154.PRW
#Include 'Protheus.ch'
User Function EICDI154()
Local cParam
Local nValQuebra:= 150 //Quantidade de itens desejada por nota fiscal (alterar conforme necessidade)
local lExibeTela:= .F.
If ValType(ParamIXB) == "A"
cParam:= ParamIXB[1]
Else
cParam:= ParamIXB
EndIf
cParam:= Upper(cParam)
Do Case
Case cParam == "TEM_OUTRA_QUEBRA"
lQuebra_espe:= .T.
Case cParam == "QUEBROU_NF"
IF nTipoNF == 2 .Or. nTipoNF == 7
IF Work1->WKNOTAOR <> cNumComp .OR. Work1->WKSERIEOR <> cSerieComp .Or. nItem >= nValQuebra
cNumComp := WORK1->WKNOTAOR
cSerieComp := WORK1->WKSERIEOR
lQuebrou_NF:= .T.
ENDIF
ELSE
IF nItem >= nValQuebra .OR.;
cForn # Work1->WKFORN .OR. (EICLoja() .And. cForLoj # Work1->WKLOJA) .OR.;
nItem == 0 .OR. If(lQuebraCFO, cCFO # Work1->WK_CFO,.F.) .OR.;
(lIntDraw .AND. Work1->WKACMODAL # cACModal) .OR.;
(lQuebraOperacao .AND. cOperacao # Work1→WK_OPERACA)
lQuebrou_NF:= .T.
ENDIF
ENDIF
Case cParam == "INICIA_VARIAVEIS"
lLoop:= .T.
Case cParam == "FINALGRAVA"
/* lComDiferenca indica se há divergência entre os valores dos impostos informados nas despesas do desembaraço comparados aos valores dos impostos apurados pelo recebimento de importação. */
If lComDiferenca
//lRetorno aborta a gravação do recebimento de importação
lRetorno:= .F.
//Exibe a tela com a mensagem de divergências (lExibeTela é local, disponível apenas na customização)
If lExibeTela
DI154MsgDif(.T.) //função padrão que exibe a tela de divergências dos valores de impostos
EndIf
EndIf
Case cParam == "GERA_MAINWND"
lEstornoPE:= .F.
Case cParam == "IDI154MNU"
Local aRotina := {}
//{Nome apresentado, Função que vai ser executado, 0 ,0}
aAdd(aRotina,{"P.E. de Teste","FUNCTIONX",0,0})
Return aRotina
Case cParam == "GRAVACAO_SF1"
cChaveSF1 := 'nova chave da nfe'
Case cParam == "ADD_ESTRU_WORK1"
//AADD(aDBF_Stru,{"campo" ,"tipo",tamanho,decimal quando houver})
AADD(aDBF_Stru,{"WKNomeCampo" ,"N",13,3})
EndCase
Return
Nome | Tipo | Descrição |
---|---|---|
TEM_OUTRA_QUEBRA | Caracter | Possibilita customizar novas opções de quebra para a Nota Fiscal. |
QUEBROU_NF | Caracter | Possibilita controlar a quebra de nota. |
GRAVACAO_SF1 | Caracter | Possibilita alterar o valor da chave da nota fiscal. |
INICIA_VARIAVEIS | Caracter | Chamada para prosseguir ou impedir a abertura da tela para gerar nota fiscal na rotina de recebimento de importação. Atribuir a variável lLoop := .T. para impedir a abertura da janela de nota fiscal. Atribuir lLoop := .F. |
FINALGRAVA | Caracter | Chamado após a apuração dos valores do recebimento de importação, permite determinar se o sistema deverá prosseguir com a geração do recebimento de importação. Neste momento estará disponível a variável lRetorno. Vide também a variável lComDiferenca abaixo. |
GERA_MAINWND | Caracter | Executado antes da abertura da tela do recebimento de importaçao, permite customizar o título (variável cTit) e ações da tela, como o desabilitar o botão estonar (variável lEstornoPE). |
IDI154MNU | Caracter | Possibilita a inclusão de opções no menu mbrowse. |
ADD_ESTRU_WORK1 | Caracter | Possibilita a inclusão de campos na estrutura da work1. |
Parâmetro | Nome | Tipo | Permite alterar | Descrição |
---|---|---|---|---|
GRAVACAO_SF1 | cChaveSF1 | Caracter | Sim | Variável com a chave da nota do momento do recebimento da importação. |
INICIA_VARIAVEIS | lLoop | Lógico | Sim | Atribuir .T. para impedir a geração de nota fiscal. Atribuir .F. para permitir a geração da nota fiscal. |
FINALGRAVA | lRetorno | Lógico | Sim | Disponível no ponto de entrada com o parâmetro FINALGRAVA, determina se o sistema deverá prosseguir (true) ou não (false) com a gravação do recebimento de importação. Quando definido que não deverá prosseguir com a geração de recebimento de importação, a tela de divergência de valores de impostos não será exibida caso existam divergências entre os dados informados no processo e os impostos apurados pelo sistema. Para exibir a tela de divergências pode ser realizada a chamada da função DI154MsgDif(.T.) pela customização. Vide também a variável lComDiferenca. |
FINALGRAVA | lComDiferenca | Lógico | Não | Também disponível no ponto de entrada com o parâmetro FINALGRAVA, permite identificar se houve divergências entre os impostos informados nas despesas do desembaraço e os impostos calculados pelo recebimento de importação (cenário de negócio com o parâmetro MV_TEM_DI desabilitado). A variável lComDiferenca será True quando houver despesas de impostos informadas no desembaraço e houver divergência; quando não houver despesas de impostos lançadas no desembaraço o sistema informará que estas não foram cadastradas para o processo e a variável lComDiferenca não será alterada para True. Neste cenário, a verificação da não existência das despesas de impostos (SWD) deve ser feita pela customização. |
GERA_MAINWND | cTit | Caracter | Sim | Disponível no ponto de entrada com o parâmetro GERA_MAINWND, permite customizar o título da tela do recebimento de importação, aberto após acesso às ações do browse. |
GERA_MAINWND | lEstornoPE | Lógico | Sim | Disponível no ponto de entrada com o parâmetro GERA_MAINWND, permite desabilitar (False) o botão estorno para os processos que possuem nota fiscal gerada. |
IDI154MNU | aRotina | Array | Sim | Array disponível para criar botões e suas respectivas funções no menu Outras Ações do recebimento da importação. |
ADD_ESTRU_WORK1 | aDBF_Stru | Array | Sim | Array disponível para incluir campos na work1. |
<!-- esconder o menu --> <style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |