Dúvida
Precisarei incluir o número de série para cada item da NF (EICDI154) e efetuar a quebra, mesma lógica da numeração de Lote. Temos algum ponto de entrada para quebra de itens da Nota fiscal e de lote?
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) – Easy Import Control – Todas versões
Solução
Para as quebras do itens será necessário implementar dois pontos de entrada:
1) Tem_Outra_Quebra: Este ponto ele vai ligar a variável lQuebra_Espe para informar ao sistema que usa uma quebra específica.
| Nome | Tipo | Descrição |
| TEM_OUTRA_QUEBRA | Caracter | Possibilita customizar novas opções de quebra para a Nota Fiscal. |
Exemplo:
#Include 'Protheus.ch'
User Function EICDI154()
If ValType(ParamIXB) == "A"
cParam:= ParamIXB[1]
Else
cParam:= ParamIXB
EndIf
cParam:= Upper(cParam)
Case cParam == "TEM_OUTRA_QUEBRA"
lQuebra_espe:=.T.
IF nItem >= GetMV("MV_HDNFIMP") .OR.;
cForn # Work1->WKFORN .OR.;
nItem == 0 .OR. cCFO # Work1->WK_CFO .OR.;
(lIntDraw .AND. Work1->WKACMODAL # cACModal) .OR.;
(lQuebraOperacao .AND. cOperacao # Work1->WK_OPERACA)
lQuebrou_NF:=.T.
Endif
EndCase
Return
2) QUEBROU_NF: Para informar ao sistema quando deve quebrar a nota (é chamado item a item, e informa true na variável lQuebrou_NF para quebrar).
| Nome | Tipo | Descrição |
| QUEBROU_NF | Caracter | Possibilita controlar a quebra de nota. |
Exemplo:
#Include 'Protheus.ch'
User Function EICDI154()
If ValType(ParamIXB) == "A"
cParam:= ParamIXB[1]
Else
cParam:= ParamIXB
EndIf
cParam:= Upper(cParam)
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
EndCase
Return
Saiba mais
PE EICDI154 - Recebimento de Importação
0 Comentários