[BRA] Colocando o campo de nota fiscal na função de Compensação de Terceiros

Quando acessamos a função de compensação de terceiros, não existe no standard o campo com o número da nota fiscal:

Vamos colocar um campo que carregue o número da nota fiscal na função de Compensação de Terceiros. Primeiro vamos criar o campo no ecrã, acesse em:

DESENVOLVIMENTO>DICIONÁRIO TRATAMENTOS>ECRÃS>ECRÃS

Selecione o ecrã BPOINET :

Insira na linha 26 um campo que chamaremos de YNUMNFE:

Posição 6.1:

Descrição NÚMERO NF-E e tipo A (Alfanumérico) :

Registro AFIXADO para não permitir alterações ou registro direto no campo:

Clique em GRAVAR:

E depois em VALIDAÇÃO:

Coloque o código de atividade:

Agora na aba GERAL do Ecrã verifique o tratamento específico ligado ao Ecrã:

No caso é o tratamento SPEBPOI. Acesse o tratamento em:

DESENVOLVIMENTO>DICIONÁRIO DE TRATAMENTOS>SCRIPTS>EDITOR DE TRATAMENTOS

Agora vamos digitar o código que trará no campo YNUMNFE o código da nota fiscal, no caso o tratamento buscará o número da nota fiscal de serviço, número da nota de produtos e em casos de fatura de terceiro retorne a informação.

$ACTION
Case ACTION
When "AV_CHOIX" : Gosub AV_CHOIX From SUBBPOI : Gosub AV_CHOIX : GPE=1
Endcase
Return

$AV_CHOIX
If !clalev([YXQNFEMT]) : Local File XQNFEMONIT[YXQNFEMT] : Endif
Local Integer I
For I=1 To [M:BPOI]NB
Read [YXQNFEMT]XQNFEMT0= [M:BPOI]NUM(I-1)
If !fstat
If [YXQNFEMT]NFEMTNNFOFIC = ''
If [YXQNFEMT]NFEMTNUM = ''
[M:BPOI]YNUMNFE(I-1) = 'Fat. Terc.'
Else
[M:BPOI]YNUMNFE(I-1) = [YXQNFEMT]NFEMTNUM
Endif
Else
[M:BPOI]YNUMNFE(I-1) = [YXQNFEMT]NFEMTNNFOFIC
Endif
Else
[M:BPOI]YNUMNFE(I-1) = 'Fat. Terc.'
Endif
Next
Affzo [M:BPOI]YNUMNFE
Return

Clique em COMPILAR e faça o teste:

Verifique que agora o campo será carregado:

Espero ter ajudado!