CONTEÚDO

  1. Visão Geral
  2. Exemplo de utilização
  3. Parâmetros
  4. Variáveis
  5. Tabelas utilizadas


01. VISÃO GERAL

Este Ponto de Entrada pertence à rotina de Recebimento de Importação. Ele deve ser utilizado para customização desta rotina.

Programa Fonte: EICDI154.PRW


02. EXEMPLO DE UTILIZAÇÃO

#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

03. Parâmetros


NomeTipoDescrição
TEM_OUTRA_QUEBRACaracterPossibilita customizar novas opções de quebra para a Nota Fiscal.
QUEBROU_NFCaracterPossibilita controlar a quebra de nota.
GRAVACAO_SF1CaracterPossibilita alterar o valor da chave da nota fiscal.
INICIA_VARIAVEISCaracterChamada 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.
FINALGRAVACaracterChamado 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_MAINWNDCaracterExecutado 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).
IDI154MNUCaracterPossibilita a inclusão de opções no menu mbrowse.
ADD_ESTRU_WORK1CaracterPossibilita a inclusão ou alteração de campos na estrutura da work1.
FIM_ESTORNOCaracterPossibilita o acréscimo de funções no estorno das notas fiscais de entrada na rotina Recebimento de Importação, o ponto de entrada é executado após o estorno da(s) nota (s) de entrada.
ESTORNO NA NOTACaracterPossibilita gravação dos dados antes de realizar o estorno, é executado durante o while na SF1, antes de efetivar o estorno.
ANTES_ESTORNO_NOTACaracterExecutado no início da função do estorno da nota, no momento de declaração de variáveis. Possibilita sair da rotina antes de ser executada.
GRV_WORK1CaracterPossibilita a gravação na Work1 campos customizados da tabela SWV.
RATEIO_ACRESCIMOCaracterPermite a customização de rateios dos itens quando a variável lExitPE for setada como .T..
DEDUCAO_FRETECaracterPermite a dedução de frete no momento da geração da NF quando a variável lDeduFrete estiver habilitada.
WHILE_1_WORK2CaracterPermite manipular alguns valores apurados por adição
ALT_CRIT_RAT_DSPICMCaracterAltera o Critério de Rateio das despesas base de ICMS na Nota Fiscal

04. Variáveis


ParâmetroNomeTipoPermite alterarDescrição
GRAVACAO_SF1cChaveSF1CaracterSimVariável com a chave da nota do momento do recebimento da importação.
INICIA_VARIAVEISlLoopLógicoSimAtribuir .T. para impedir a geração de nota fiscal. Atribuir .F. para permitir a geração da nota fiscal.
FINALGRAVAlRetornoLógicoSim

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.

FINALGRAVAlComDiferencaLógicoNã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_MAINWNDcTitCaracterSimDisponí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_MAINWNDlEstornoPELógicoSimDisponí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.
IDI154MNUaRotinaArraySimArray disponível para criar botões e suas respectivas funções no menu Outras Ações do recebimento da importação.
ADD_ESTRU_WORK1aDBF_StruArraySimArray disponível para incluir ou alterar campos na work1.
ANTES_ESTORNO_NOTAlOkLógicoSimQuando alterada para falso por meio do ponto de entrada   'ANTES_ESTORNO_NOTA', sai da rotina sem executar.


05. TABELAS UTILIZADAS

<!-- 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>