NxtSX5Nota() não funciona para SD9

Recentemente fizemos uma alteração aqui na empresa, passamos a utilizar o parâmetro MV_TPNRNFS com o conteúdo = "3", ou seja, considerando SD9 para fazer o controle de numerações para as NFs.

O problema é que existe uma rotina personalizada que faz a confecção de NFs de Devolução e para isso, utiliza a função NxtSX5Nota() para retornar o próximo número (F1_DOC) e montar o array da execauto MATA103. A utilização está da seguinte forma:

cNumNF := NxtSx5Nota(cSerie, .T., GetNewPar("MV_TPNRNFS","3"))

porém esta função não está retornando nenhum número, o retorno está vazio.

Para investigar o motivo, consegui o fonte (MATXFUNA.prw) padrão que contém a definição da função NxtSx5Nota() e nela pude constatar que, embora em vários lugares encontremos exemplos utilizando o 3º parâmetro igual a "3", incrivelmente essa função não realiza nenhuma tratativa para o valor = "3".

A pergunta então é: Qual função vocês geralmente usam para retornar o próximo numero de F1_DOC?

Aqui eu só passo o número da série. No meu caso série é igual a "3".

doc := NxtSX5Nota(_serie + SPACE(2))

Ao utilizar dessa forma (sem informar o 3º parâmetro), a função utiliza como default o valor “1” considerando assim, a tabela SX5 como padrão de numeração, que não é o meu caso.
Preciso que seja utilizada a SD9, sendo assim seria necessário informar o 3º parâmetro = “3”, entretanto dessa foram também não funciona.

Bom dia,

Marcos você verificou se ao fazer o getnewpar ele não está pegando o valor com espaços? As vezes um alltrim pode resolver seu problema.

Att.

Tenta utilizar a função MA461NumNf quando se trabalha com controle de numeração pela SD9

Marcos, boa tarde beleza? Você conseguiu resolver? estou com a mesma situação aqui, eu vi que, mesmo que o controle seja pela SD9, ele continua atualizando na X5 pensei em deixar como 1 e ver se vou ter problemas.