Versão atual:

Erro ao gerar mais de um documento de entrada via execauto AJUDA:FA050NUM

Bom dia, estou tentando gerar mais de um documento de entrada via execauto e estou recebendo o erro a seguir quando gero o segundo documento:

--------------------------------------------------------------------------------
AJUDA:FA050NUM  
Número título já existe para este forne-cedor.

Tabela SF1 10/03/2021 10:24:05
                    - cTipo       :=N
                    - cFormul     :=N
                    - cNFiscal    :=010032021
                    - cSerie      :=1
                    - dDEmissao   :=10/03/2021
                    - cLoja       :=01
                    - cA100For    :=002453 < -- Invalido
                    - cEspecie    :=REC
--------------------------------------------------------------------------------

O primeiro documento é gerado corretamente, porém ao gerar o segundo, aparentemente a numeração que está tentando gerar o título é do primeiro documento.

Por exemplo, gerei o documento "1" e gerou o título para esse documento, então pego a próxima numeração para gerar o próximo documento, no caso "2", e quando gero ocorre que está referenciando ao documento "1".

Já tentei formulário próprio = Sim e Não. Já tentei enviar com F1_FORMUL = Sim e sem numero de documento. Inclusive gerando duas notas para fornecedores diferentes, gera o mesmo erro.

Segue trecho do código.

Begin Transaction

    // reinicia variáveis
    lMsErroAuto := .F.

    _cDoc := GetSxeNum("SF1", "F1_DOC")
    // confirma a sequencia
    ConfirmSX8()

    // dados do cabecalho da NF
    aAdd(_aCabAuto,{"F1_FILIAL" , xFilial("SF1") ,Nil})
    aAdd(_aCabAuto,{"F1_TIPO"   , _cTipoNota      ,Nil})
    aAdd(_aCabAuto,{"F1_FORMUL" , "N"             ,Nil})
    aAdd(_aCabAuto,{"F1_DOC"    , _cDoc          ,Nil})
    aAdd(_aCabAuto,{"F1_SERIE"  , _cSer          ,Nil})
    aAdd(_aCabAuto,{"F1_EMISSAO", dDataBase       ,Nil})
    aAdd(_aCabAuto,{"F1_FORNECE", _cCliente      ,Nil})
    aAdd(_aCabAuto,{"F1_LOJA"   , _cLoja         ,Nil})
    aAdd(_aCabAuto,{"F1_ESPECIE", "REC"          ,Nil})
    aAdd(_aCabAuto,{"F1_CONDPAG", _cCondPag      ,Nil})
    aAdd(_aCabAuto,{"F1_NATUREZ", _cNaturez      ,Nil})
    aAdd(_aCabAuto,{"F1_VEXIDRE", _cReportID     ,Nil})

    // ordena dados conforme dicionário
    _aCabAuto := FWVetByDic(_aCabAuto,'SF1',.F.)

    DbSelectArea("SF1")
    DbSelectArea("SD1")
    MsExecAuto({|x,y,z| MATA103(x,y,z)}, _aCabAuto, _aIteAuto, 3) // 3-inclusao

    // ocorreu erro
    If lMsErroAuto
        RollBackSX8()
        DisarmTransaction()
        MostraErro()
        _lRet := .F.
    Else
        _lRet := .T.
    EndIf
End Transaction

Grato!

Versões (3):

Ver a versão formatada

Erro ao gerar mais de um documento de entrada via execauto AJUDA:FA050NUM

Comentário

new question