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á!

compartilhar
  • Esse botão aparece no browse? Ou ele fica disponível para usuário durante um inclusão/alteração, com o formulário já aberto?

    Daniel Mendes   13 de Mar de 2023
  • Olá Daniel! Ele aparece durante a inclusão, no menu "Outras Ações".

    Anne Cavalcante   13 de Mar de 2023
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags devforum mvc advpl fonte csv importacao ou faça a sua própria pergunta.