- Fórum
- Protheus/Microsiga/Totvs
- Instalação e Configuração Protheus
- Dicas e Informações
- Importar Arquivo no Protheus CSV Advpl
Perguntas Importar Arquivo no Protheus CSV Advpl
- lalberto
- Autor do Tópico
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 2 meses atrás - 12 anos 2 meses atrás #5296
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Importar Arquivo no Protheus CSV Advpl foi criado por lalberto
MicroSiga: Aprenda a importar arquivos CSV usando AdvPL
A importação de arquivos gerados pelo Excel é bem simples, para isso apenas informe em cada coluna o nome real do campo da tabela, exemplo: A1_FILIAL;A1_NOME;A1_END;
#include "totvs.ch"
#include "protheus.ch"
User Function AEST901()
Local cArq := "clientes.txt"
Local cLinha := ""
Local lPrim := .T.
Local aCampos := {}
Local aDados := {}
Private aErro := {}
If !File(cDir+cArq)
MsgStop("O arquivo " +cDir+cArq + " não foi encontrado. A importação será abortada!","[AEST901] - ATENCAO")
Return
EndIf
FT_FUSE(cDir+cArq)
ProcRegua(FT_FLASTREC())
FT_FGOTOP()
While !FT_FEOF()
IncProc("Lendo arquivo texto...")
cLinha := FT_FREADLN()
If lPrim
aCampos := Separa(cLinha,";",.T.)
lPrim := .F.
Else
AADD(aDados,Separa(cLinha,";",.T.))
EndIf
FT_FSKIP()
EndDo
Begin Transaction
ProcRegua(Len(aDados))
For i:=1 to Len(aDados)
IncProc("Importando Clientes...")
dbSelectArea("SA1")
dbSetOrder(1)
dbGoTop()
If !dbSeek(xFilial("SA1")+aDados[i,1])
Reclock("SA1",.T.)
SA1->A1_FILIAL := xFilial("SA1")
For j:=1 to Len(aCampos)
cCampo := "SA1->" + aCampos[j]
&cCampo := aDados[i,j]
Next j
SA1->(MsUnlock())
EndIf
Next i
End Transaction
FT_FUSE()
ApMsgInfo("Importação dos Clientes concluída com sucesso!","[AEST901] - SUCESSO")
Return
A importação de arquivos gerados pelo Excel é bem simples, para isso apenas informe em cada coluna o nome real do campo da tabela, exemplo: A1_FILIAL;A1_NOME;A1_END;
#include "totvs.ch"
#include "protheus.ch"
User Function AEST901()
Local cArq := "clientes.txt"
Local cLinha := ""
Local lPrim := .T.
Local aCampos := {}
Local aDados := {}
Private aErro := {}
If !File(cDir+cArq)
MsgStop("O arquivo " +cDir+cArq + " não foi encontrado. A importação será abortada!","[AEST901] - ATENCAO")
Return
EndIf
FT_FUSE(cDir+cArq)
ProcRegua(FT_FLASTREC())
FT_FGOTOP()
While !FT_FEOF()
IncProc("Lendo arquivo texto...")
cLinha := FT_FREADLN()
If lPrim
aCampos := Separa(cLinha,";",.T.)
lPrim := .F.
Else
AADD(aDados,Separa(cLinha,";",.T.))
EndIf
FT_FSKIP()
EndDo
Begin Transaction
ProcRegua(Len(aDados))
For i:=1 to Len(aDados)
IncProc("Importando Clientes...")
dbSelectArea("SA1")
dbSetOrder(1)
dbGoTop()
If !dbSeek(xFilial("SA1")+aDados[i,1])
Reclock("SA1",.T.)
SA1->A1_FILIAL := xFilial("SA1")
For j:=1 to Len(aCampos)
cCampo := "SA1->" + aCampos[j]
&cCampo := aDados[i,j]
Next j
SA1->(MsUnlock())
EndIf
Next i
End Transaction
FT_FUSE()
ApMsgInfo("Importação dos Clientes concluída com sucesso!","[AEST901] - SUCESSO")
Return
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Ultima edição: 12 anos 2 meses atrás por lalberto.
O tópico foi trancado.
- leanroxx
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 6
- Obrigados Recebidos: 0
11 anos 11 meses atrás #8225
por leanroxx
Respondido por leanroxx no tópico Re: Importar Arquivo no Protheus CSV Advpl
Luiz, estou precisando importar o cadastro de clientes do sistema antigo para o Protheus.
Já gerei o arquivo em texto (csv, txt ou dbf) já no layout do protheus.
Como executo essa rotina que você citou??
Já gerei o arquivo em texto (csv, txt ou dbf) já no layout do protheus.
Como executo essa rotina que você citou??
O tópico foi trancado.
- Fórum
- Protheus/Microsiga/Totvs
- Instalação e Configuração Protheus
- Dicas e Informações
- Importar Arquivo no Protheus CSV Advpl
Tempo para a criação da página:0.100 segundos