Versão atual:

MVC Execauto MATA010

Amigos, boa tarde!

Por algum motivo que não estou conseguindo identificar o motivo do erro abaixo:


DescriþÒo de erro: [erro no parÔmetroFWFormFieldsModel: Quantidade de campos retornado pelo bloco de carga do modelo:SB1MASTER, Ú menor que a quantidade de campos na estrutura. Verifique o bloco de carga:{|X,Y|FORMLOADFIELD(X,Y)}}Pilha de Erro: [ THREAD ERROR ([12208], HTTP_WT_LJPRODREST_HTTPREST_WEBREST@01|FALSE, THIS) 20/04/2021 12:14:28

erro no parÔmetroFWFormFieldsModel: Quantidade de campos retornado pelo bloco de carga do modelo:SB1MASTER, Ú menor que a quantidade de campos na estrutura. Verifique o bloco de carga:{|X,Y|FORMLOADFIELD(X,Y)} on LOAD(FWFORMFIELDSMODEL.PRX) 04/12/2020 09:31:42 line : 2773

Estou fazendo um fonte para alteração e inclusão de produto via integração com outro sistema.

Segue abaixo o exemplo do meu código usando apenas os campos obrigatórios:

//Pegando o modelo de dados, setando a operação de inclusão
    oModel := FWLoadModel("MATA010")
    oModel:SetOperation(nOpc)
    oModel:Activate()

    //Pegando o model e setando os campos
    //oSB1Mod := oModel:GetModel("SB1MASTER")
    oModel:SetValue("SB1MASTER","B1_GRUPO"      , oParseJSON:B1_GRUPO     )
    oModel:SetValue("SB1MASTER","B1_COD"        , oParseJSON:B1_COD       )
    oModel:SetValue("SB1MASTER","B1_DESC"       , oParseJSON:B1_DESC      )
    oModel:SetValue("SB1MASTER","B1_TIPO"       , oParseJSON:B1_TIPO      )    
    oModel:SetValue("SB1MASTER","B1_UM"         , oParseJSON:B1_XIDIOMA   )
    oModel:SetValue("SB1MASTER","B1_LOCPAD"     , oParseJSON:B1_LOCPAD    )
    oModel:SetValue("SB1MASTER","B1_PRV1"       , oParseJSON:B1_PRV1      )
    oModel:SetValue("SB1MASTER","B1_CODBAR"     , oParseJSON:B1_CODBAR    )
    oModel:SetValue("SB1MASTER","B1_POSIPI"     , oParseJSON:B1_POSIPI    )
    oModel:SetValue("SB1MASTER","B1_TS"         , oParseJSON:B1_TS        )
    oModel:SetValue("SB1MASTER","B1_ORIGEM"     , oParseJSON:B1_ORIGEM    )
    oModel:SetValue("SB1MASTER","B1_GRTRIB"     , oParseJSON:B1_GRTRIB    )
    oModel:SetValue("SB1MASTER","B1_GRPTI"      , oParseJSON:B1_GRPTI     )
    oModel:SetValue("SB1MASTER","B1_XSINOPS"    , oParseJSON:B1_XSINOPS   )
    oModel:SetValue("SB1MASTER","B1_XIDIOMA"    , oParseJSON:B1_XIDIOMA   )
    oModel:SetValue("SB1MASTER","B1_XEDITOR"    , oParseJSON:B1_XEDITOR   )
    oModel:SetValue("SB1MASTER","B1_XAUTOR"     , oParseJSON:B1_XAUTOR    )
    oModel:SetValue("SB1MASTER","B1_XAUTOR2"    , oParseJSON:B1_XAUTOR2   )
    oModel:SetValue("SB1MASTER","B1_XANOEDI"    , oParseJSON:B1_XANOEDI   )
    oModel:SetValue("SB1MASTER","B1_XLARGUR"    , oParseJSON:B1_XLARGUR   )
    oModel:SetValue("SB1MASTER","B1_XALTURA"    , oParseJSON:B1_XALTURA   )
    oModel:SetValue("SB1MASTER","B1_XCOMPRI"    , oParseJSON:B1_XCOMPRI   )
    oModel:SetValue("SB1MASTER","B1_PESBRU"     , oParseJSON:B1_PESBRU    )
    oModel:SetValue("SB1MASTER","B1_XTPENC"     , oParseJSON:B1_XTPENC    )
    oModel:SetValue("SB1MASTER","B1_PESO"       , oParseJSON:B1_PESO      )
    oModel:SetValue("SB1MASTER","B1_SERIE"      , oParseJSON:B1_SERIE     )
    oModel:SetValue("SB1MASTER","B1_XNRPAGI"    , oParseJSON:B1_XNRPAGI   )
    oModel:SetValue("SB1MASTER","B1_XPAIS"      , oParseJSON:B1_XPAIS     )
    oModel:SetValue("SB1MASTER","B1_XCOLECA"    , oParseJSON:B1_XCOLECA   )

    //Se conseguir validar as informações
    If oModel:VldData()

        //Tenta realizar o Commit
        If oModel:CommitData()
            lOk := .T.

            //Se não deu certo, altera a variável para false
        Else
            lOk := .F.
        EndIf

    //Se não conseguir validar as informações, altera a variável para false
    Else
        lOk := .F.
    EndIf

    //Se não deu certo a inclusão, mostra a mensagem de erro
    If ! lOk
        //Busca o Erro do Modelo de Dados
        aErro := oModel:GetErrorMessage()

        aAdd(aMensag, {'{"Retorno":"200"' +;
        ',"Id do formulário de origem:":'  + '"' + cValToChar(aErro[01]) + '"'+;
        ',"Id do campo de origem: "    :'  + '"' + cValToChar(aErro[02]) + '"'+;
        ',"Id do formulário de erro: " :'  + '"' + cValToChar(aErro[03]) + '"'+;
        ',"Id do campo de erro: "      :'  + '"' + cValToChar(aErro[04]) + '"'+;
        ',"Id do erro: "               :'  + '"' + cValToChar(aErro[05]) + '"'+;
        ',"Mensagem do erro: "         :'  + '"' + cValToChar(aErro[06]) + '"'+;
        ',"Mensagem da solução: "      :'  + '"' + cValToChar(aErro[07]) + '"'+;
        ',"Valor atribuído: "          :'  + '"' + cValToChar(aErro[08]) + '"'+;
        ',"Valor anterior: "           :'  + '"' + cValToChar(aErro[09]) + '"}'})

        //Mostra mensagem de erro
        lRet := .F.
        ConOut("Erro!")
    Else
        lRet := .T.
        ConOut("Produto incluido!")
    EndIf

    //Desativa o modelo de dados
    oModel:DeActivate()

Alguém já passou por isso?

Versão (1):

Ver a versão formatada

MVC Execauto MATA010

Comentário

new question