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á!
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 2023Olá Daniel! Ele aparece durante a inclusão, no menu "Outras Ações".
— Anne Cavalcante 13 de Mar de 2023