Inclusão LoadValue MVC

Galera, Boa Tarde, criei um fonte para fazer uma inclusão de alguns dados da tabela de produtos em MVC.

Porém está dando um problema, nas linhas dos campos de PESO e Peso Bruto, se eu removo essas duas linhas a inclusão é feita, onde será que errei?


                elseif AllTrim(aSB1Str[nX, 1]) == "B1_PESO" 
                    oSB1Mod:LoadValue("B1_PESO",   Alltrim(TRBSB1->B1_PESO))
                elseif AllTrim(aSB1Str[nX, 1]) == "B1_PESBRU"   
                    oSB1Mod:LoadValue("B1_PESBRU", Alltrim(TRBSB1->B1_PESBRU))

Segue o código completo:


   //Pegando o model e setando os campos
            oSB1Mod := oModel:GetModel("SB1MASTER")
            for nX := 1 to Len(aSB1Str)
                if AllTrim(aSB1Str[nX, 1]) == "B1_COD"
                    oSB1Mod:LoadValue("B1_COD", cPrefx + AllTrim(TRBSB1->B1_COD))
                elseif AllTrim(aSB1Str[nX, 1]) $ "B1_LOCPAD"
                    oSB1Mod:LoadValue("B1_LOCPAD", cPrefx)
                elseif AllTrim(aSB1Str[nX, 1]) $ "B1_LOCALIZ"
                    oSB1Mod:LoadValue("B1_LOCALIZ", "S")
                elseif AllTrim(aSB1Str[nX, 1]) == "B1_XCODORI"
                    oSB1Mod:LoadValue("B1_XCODORI", AllTrim(TRBSB1->B1_COD))
                elseif AllTrim(aSB1Str[nX, 1]) == "B1_PESO" 
                    oSB1Mod:LoadValue("B1_PESO",   Alltrim(TRBSB1->B1_PESO))
                elseif AllTrim(aSB1Str[nX, 1]) == "B1_PESBRU"   
                    oSB1Mod:LoadValue("B1_PESBRU", Alltrim(TRBSB1->B1_PESBRU))
                elseif !(AllTrim(aSB1Str[nX, 1]) $ "B1_XDETA|B1_MOPC")
                    if oSB1Mod:HasField(aSB1Str[nX, 1])
                        if aSB1Str[nX, 2] == "D"
                            oSB1Mod:LoadValue(aSB1Str[nX, 1], SToD(&("TRBSB1->"+aSB1Str[nX, 1])))
                        else
                            oSB1Mod:LoadValue(aSB1Str[nX, 1], &("TRBSB1->"+aSB1Str[nX, 1]))
                        endif
                    endif
                endif

            next nX

Luiz, a função AllTrim sempre trará um retorno do tipo caractere. Como os campos B1_PESO e B1_PESBRU são numéricos, pode estar ocorrendo algum problema ao preencher os valores.

Tente fazer dessa forma:


// se os campos TRBSB1->B1_PESO e TRBSB1->B1_PESBRU já são numéricos, informe eles diretamente
oSB1Mod:LoadValue("B1_PESO",   TRBSB1->B1_PESO)
oSB1Mod:LoadValue("B1_PESBRU", TRBSB1->B1_PESBRU)

// se não, utilize a função Val para converter eles para numérico
oSB1Mod:LoadValue("B1_PESO",   Val(TRBSB1->B1_PESO))
oSB1Mod:LoadValue("B1_PESBRU", Val(TRBSB1->B1_PESBRU))

Giordano, Bom Dia.

Já fiz dessa forma também e ele não deu.

Valeu.

Qual erro que é exibido?