Versão atual:

variable is not an object on IMPCSV(ZSBZCAD.PRW) 13/03/2023 16:21:22 line : 153

Pessoal, criei um fonte da tabela SBZ, onde no "outras ações" coloquei a opção de importar csv na grid, porém ele está me retornando esse erro mesmo eu tendo declarado a variável como objeto. O que posso fazer? Segue o código da função que importa o CSV:

Static Function ImpCSV(oModel, oView)
    Local WAREA        := GETAREA()  //SALVA ALIAS E POSIÇÃO DO BANCO DE DADOS
    Local nLin      ,nLastKey ,lContinua,cDat    , cArq   ,_xCont , cArquivo,_aEstrut
    Local cExt         := "Arquivos | *.CSV"
    Local cPath        := "Selecione diretório"
    Local cArq         := ""
    Local cPath        := "C:\temp"
    local cFileOpen    := cPath
    Local cNimearq     := ""
    Local _cLog        := ""
    Local aCloss    := {}
    Local oModelSBZ as object 
    oModelSBZ := oModel:GetModel( 'SBZGRID' )

    Local nLine   := 1

    Local nTam    := 0

    Local cDupl := .F.


    oModelSBZ:SetMaxLine( 99999 ) => ERRO NESSA LINHA

    if oModelSBZ:length() == 1 .and. Empty( oModelSBZ:GetValue('SBZ_COD') )
        nLine := oModelSBZ:length()
    else
        nLine := oModelSBZ:length() + 1
    endif


    cPath:=cGetFile(cExt,cExt)
    cFileOpen := cPath

    FT_FUSE(cFileOpen)
    FT_FGoTop()
    cArq       := cPath
    nHdl    := fOpen(cArq)
    If nHdl == -1
        MsgAlert("O arquivo de nome "+cArq+" nao pode ser aberto! Verifique os parametros.","Atencao!")
        Return
    Endif
    nrg:=0

    FT_FGoTop()
    procregua(nrg)
    nLidos    := 0
    _cCodPrin := ""
    _nSeq     := 1
    _ln       := 1
    _lAcols   := .f.

    aFilial := {}
    _CODIGO := ""

    While !FT_FEOF()
////        Begin Transaction
        cLine     := FT_FReadLn()
        aLinha     := Separa(cLine,";")
        nLidos++

        IF nLidos >= 2
            IF LEN(aLinha) > 0

                nLine := oModelSBZ:AddLine()

                oModelSBZ:AddLine()

                oModelSBZ:GoLine( nLine )

                oModelSBZ:SetValue('SBZ_COD',aLinha[01])
                VldCodProd(oModelSBZ)

                oView:Refresh()


            Endif
        Endif

        FT_FSkip()
    EndDo
    FT_FUse()
    Fclose(cArq)
    oView:Refresh()
    oModelSBZ:GoLine( 1 )

RETURN

Agradeço a ajuda desde já!

Versão (1):

Ver a versão formatada

variable is not an object on IMPCSV(ZSBZCAD.PRW) 13/03/2023 16:21:22 line : 153

Comentário

new question