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?
Raphael, que operação você está fazendo? Qual o valor de nOpc?
— Daniel Mendes 20 de Apr de 2021Oi Daniel, boa tarde! Estou passando 4 (MODEL_OPERATION_UPDATE)
— Raphael Neves Pinheiro 20 de Apr de 2021