Versão atual:

Reclock cria registro com campos em branco

Estou utilizando essa função para inserir uma linha na tabela SNG. Porém ela é criada em branco mesmo o array tendo os valores necessarios para inserção. Alguem já teve esse problema?

static function ClonaSNG(cDest, oSay)
    local nY := 0
    local aCampos := {}


    DbSelectArea("SNG")
    DbSetOrder(1)
    // Adiciona no array
    aAdd(aCampos, {"NG_FILIAL" , SubStr(cDest,1,3)})

    for nY := 1 to SNG->(fCount())
        if X3Uso(GetSX3Cache(SNG->(FieldName(nY)), "X3_USADO"))
            if Alltrim(SNG->(FieldName(nY))) <> "NG_FILIAL"
                aAdd(aCampos, {SNG->(FieldName(nY)), SNG->&(FieldName(nY))})
            endif
        endif
    next nY

    // Aplica o array

    if len(aCampos) > 0
        Begin Transaction

            RecLock("SNG", .T.)

                for nY := 1 to Len(aCampos)
                    SNG->(aCampos[nY][1]) := (aCampos[nY][2])
                    ProcessMessages()
                next nY

            SNG->(MsUnlock())

            oSay:SetText("Clonando "+SNG->NG_GRUPO+" para a empresa: " + cDest)
        End Transaction
    endif
return nil

Versões (2):

Ver a versão formatada

Reclock cria registro com campos em branco

Comentário

new question