- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- IMPORTAÇÃO DE ARQUIVO XLS PARA PROTHEUS
×
Linguagem de Programação ADVPL
Perguntas IMPORTAÇÃO DE ARQUIVO XLS PARA PROTHEUS
- Waldenilson
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 15
- Obrigados Recebidos: 0
10 anos 2 meses atrás #24824
por Waldenilson
IMPORTAÇÃO DE ARQUIVO XLS PARA PROTHEUS foi criado por Waldenilson
Bom dia,
Estou com problemas de fazer uma rotina que leia um arquivo XLS e carregar esses dados na minha tabela SB1, já tentei com utilizar a rotina CargaXLS que tem disponível
para download aqui no site mais me parece que essa rotina só serve para versão anterior do Protheus 10. E gerou o seguinte log.
THREAD ERROR (adm, PCENG04) 02/09/2014 11:24:16
variable does not exist OMAINWND on U_CARGAXLS(CARGAXLS.PRW) 02/09/2014 11:22:51 line : 46
[TOTVS build: 7.00.120420A-20120726]
Publicas
Public 1: CPAISLOC(C) :BRA
STACK U_CARGAXLS(CARGAXLS.PRW) 02/09/2014 11:22:51
Param 1: CARQE(U) : NIL
Param 2: CORIGEME(U) : NIL
Param 3: NLINTITE(U) : NIL
Param 4: LTELA(L) : .T.
Private 1: CARQ(C) :
Private 2: CARQMACRO(C) :XLS2DBF.XLA
Private 3: CTEMP(C) :C:\Users\adm.CMV\AppData\Local\Temp\
Private 4: CSYSTEM(C) :\SYSTEM\
Private 5: CORIGEM(C) :
Private 6: NLINTIT(N) :0
Private 7: AARQUIVOS(A) :
Private 8: ARET(A) :
Local 1: CARQE(U) :NIL
Local 2: CORIGEME(U) :NIL
Local 3: NLINTITE(U) :NIL
Local 4: LTELA(L) :.T.
Local 5: BOK( :{||LOK:= .T. ,ODLG:END()}
Local 6: BCANCEL( :{||LOK:= .F. ,ODLG:END()}
Local 7: LOK(L) :.F.
Local 8: NLIN(N) :20
Local 9: NCOL1(N) :15
Local 10: NCOL2(N) :45
Local 11: CMSG(C) :
Local 12: ODLG(U) :NIL
Local 13: OARQ(U) :NIL
Local 14: OORIGEM(U) :NIL
Local 15: OMACRO(U) :NIL
STACK { | E | ERRORDIALOG( E ) }(APLIB240.PRW) 07/01/2013 10:36:52
Param 1: E(O) : O
Local CodeBlock 1: E(O)
STACK ERRORDIALOG(APLIB240.PRW) 07/01/2013 10:36:52
Param 1: E(O) : O
Local 1: E(O)
Local 2: LINSIGA(L) :.F.
Local 3: CMSG(U) :NIL
Local 4: NI(U) :NIL
Local 5: CX(U) :NIL
Local 6: URETURN(U) :NIL
Local 7: CERROR(U) :NIL
Local 8: LSKIPERROR(L) :.F.
STACK ERRORDLG(APLIB240.PRW) 07/01/2013 10:36:52
Param 1: OERR(O) : O
Local 1: OERR(O)
Local 2: ODLG(U) :NIL
Local 3: OFONT(U) :NIL
Local 4: OBMP(U) :NIL
Local 5: OPANEL(U) :NIL
Local 6: OPANELBMP(U) :NIL
Local 7: ODETAIL(U) :NIL
Local 8: OSEND(U) :NIL
Local 9: OCLOSE(U) :NIL
Local 10: OERROR(U) :NIL
Local 11: CMSG(U) :NIL
Files
Alguém tem alguma rotina parecida ou semelhante para me ajudar.. Fico no aguardo
Obrigado!
Estou com problemas de fazer uma rotina que leia um arquivo XLS e carregar esses dados na minha tabela SB1, já tentei com utilizar a rotina CargaXLS que tem disponível
para download aqui no site mais me parece que essa rotina só serve para versão anterior do Protheus 10. E gerou o seguinte log.
THREAD ERROR (adm, PCENG04) 02/09/2014 11:24:16
variable does not exist OMAINWND on U_CARGAXLS(CARGAXLS.PRW) 02/09/2014 11:22:51 line : 46
[TOTVS build: 7.00.120420A-20120726]
Publicas
Public 1: CPAISLOC(C) :BRA
STACK U_CARGAXLS(CARGAXLS.PRW) 02/09/2014 11:22:51
Param 1: CARQE(U) : NIL
Param 2: CORIGEME(U) : NIL
Param 3: NLINTITE(U) : NIL
Param 4: LTELA(L) : .T.
Private 1: CARQ(C) :
Private 2: CARQMACRO(C) :XLS2DBF.XLA
Private 3: CTEMP(C) :C:\Users\adm.CMV\AppData\Local\Temp\
Private 4: CSYSTEM(C) :\SYSTEM\
Private 5: CORIGEM(C) :
Private 6: NLINTIT(N) :0
Private 7: AARQUIVOS(A) :
Private 8: ARET(A) :
Local 1: CARQE(U) :NIL
Local 2: CORIGEME(U) :NIL
Local 3: NLINTITE(U) :NIL
Local 4: LTELA(L) :.T.
Local 5: BOK( :{||LOK:= .T. ,ODLG:END()}
Local 6: BCANCEL( :{||LOK:= .F. ,ODLG:END()}
Local 7: LOK(L) :.F.
Local 8: NLIN(N) :20
Local 9: NCOL1(N) :15
Local 10: NCOL2(N) :45
Local 11: CMSG(C) :
Local 12: ODLG(U) :NIL
Local 13: OARQ(U) :NIL
Local 14: OORIGEM(U) :NIL
Local 15: OMACRO(U) :NIL
STACK { | E | ERRORDIALOG( E ) }(APLIB240.PRW) 07/01/2013 10:36:52
Param 1: E(O) : O
Local CodeBlock 1: E(O)
STACK ERRORDIALOG(APLIB240.PRW) 07/01/2013 10:36:52
Param 1: E(O) : O
Local 1: E(O)
Local 2: LINSIGA(L) :.F.
Local 3: CMSG(U) :NIL
Local 4: NI(U) :NIL
Local 5: CX(U) :NIL
Local 6: URETURN(U) :NIL
Local 7: CERROR(U) :NIL
Local 8: LSKIPERROR(L) :.F.
STACK ERRORDLG(APLIB240.PRW) 07/01/2013 10:36:52
Param 1: OERR(O) : O
Local 1: OERR(O)
Local 2: ODLG(U) :NIL
Local 3: OFONT(U) :NIL
Local 4: OBMP(U) :NIL
Local 5: OPANEL(U) :NIL
Local 6: OPANELBMP(U) :NIL
Local 7: ODETAIL(U) :NIL
Local 8: OSEND(U) :NIL
Local 9: OCLOSE(U) :NIL
Local 10: OERROR(U) :NIL
Local 11: CMSG(U) :NIL
Files
Alguém tem alguma rotina parecida ou semelhante para me ajudar.. Fico no aguardo
Obrigado!
Por favor Acessar ou Registrar para participar da conversa.
- admin
- Desconectado
- Administrador
Menos
Mais
- Postagens: 216
- Obrigados Recebidos: 0
10 anos 2 meses atrás #24848
por admin
Respondido por admin no tópico IMPORTAÇÃO DE ARQUIVO XLS PARA PROTHEUS
Comenta essa linha:
//Define MsDialog oDlg Title 'Integração de Excel' From 7,10 To 20,50 OF oMainWnd
e muda para:
Define MsDialog oDlg Title 'Integração de Excel' From 7,10 To 20,50
compila e veja se funfa.
//Define MsDialog oDlg Title 'Integração de Excel' From 7,10 To 20,50 OF oMainWnd
e muda para:
Define MsDialog oDlg Title 'Integração de Excel' From 7,10 To 20,50
compila e veja se funfa.
Por favor Acessar ou Registrar para participar da conversa.
- Waldenilson
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 15
- Obrigados Recebidos: 0
10 anos 2 meses atrás #24858
por Waldenilson
Respondido por Waldenilson no tópico IMPORTAÇÃO DE ARQUIVO XLS PARA PROTHEUS
Amigo segui o que vc envio no tópico compilei essa alteração.
Mas quando a rotina iniciou a mesma deu mais um erro na linha 65. Na função ENCHOICEBAR. Estou enviando o erro de log.
THREAD ERROR (adm, PCENG04) 03/09/2014 08:56:14
Alias does not exist SX2 on ALIASINDIC(MATA103.PRW) 04/03/2013 11:50:58 line : 15012
[TOTVS build: 7.00.120420A-20120726]
Called from ENCHOICEBAR(MSLIB.PRW) 06/02/2013 14:13:32 line : 1387
Called from {|SELF|ENCHOICEBAR(ODLG,BOK,BCANCEL)}(CARGAXLS.PRW) 03/09/2014 08:55:35 line : 65
Called from ::MSDIALOG:ACTIVATE
Called from U_CARGAXLS(CARGAXLS.PRW) 03/09/2014 08:55:35 line : 65
Publicas
Public 1: CPAISLOC(C) :BRA
STACK U_CARGAXLS(CARGAXLS.PRW) 03/09/2014 08:55:35
Param 1: CARQE(U) : NIL
Param 2: CORIGEME(U) : NIL
Param 3: NLINTITE(U) : NIL
Param 4: LTELA(L) : .T.
Private 1: CARQ(C) :
Private 2: CARQMACRO(C) :XLS2DBF.XLA
Private 3: CTEMP(C) :C:\Users\adm.CMV\AppData\Local\Temp\
Private 4: CSYSTEM(C) :\SYSTEM\
Private 5: CORIGEM(C) :
Private 6: NLINTIT(N) :0
Private 7: AARQUIVOS(A) :
Private 8: ARET(A) :
Local 1: CARQE(U) :NIL
Local 2: CORIGEME(U) :NIL
Local 3: NLINTITE(U) :NIL
Local 4: LTELA(L) :.T.
Local 5: BOK( :{||LOK:= .T. ,ODLG:END()}
Local 6: BCANCEL( :{||LOK:= .F. ,ODLG:END()}
Local 7: LOK(L) :.F.
Local 8: NLIN(N) :70
Local 9: NCOL1(N) :15
Local 10: NCOL2(N) :45
Local 11: CMSG(C) :
Local 12: ODLG(O)
Local 13: OARQ(O)
Local 14: OORIGEM(O)
Local 15: OMACRO(O)
STACK ::MSDIALOG:ACTIVATE
Local 1: SELF(O)
STACK {|SELF|ENCHOICEBAR(ODLG,BOK,BCANCEL)}(CARGAXLS.PRW) 03/09/2014 08:55:35
Param 1: SELF(O) : O
Local CodeBlock 1: SELF(O)
STACK ENCHOICEBAR(MSLIB.PRW) 06/02/2013 14:13:32
Param 1: ODLG(O) : O
Param 2: BOK( : {||LOK:= .T. ,ODLG:END()}
Param 3: BCANCEL( : {||LOK:= .F. ,ODLG:END()}
Param 4: LMESSAGEDEL(L) : .F.
Param 5: ABUTTONS(U) : NIL
Param 6: NREG(U) : NIL
Param 7: CALIAS(U) : NIL
Param 8: LMASHUPS(L) : .T.
Param 9: LIMPCAD(L) : .T.
Param 10: LPADRAO(L) : .T.
Param 11: LHASOK(L) : .T.
Param 12: LWALKTHRU(L) : .T.
Local 1: ODLG(O)
Local 2: BOK( :{||LOK:= .T. ,ODLG:END()}
Local 3: BCANCEL( :{||LOK:= .F. ,ODLG:END()}
Local 4: LMESSAGEDEL(L) :.F.
Local 5: ABUTTONS(U) :NIL
Local 6: NREG(U) :NIL
Local 7: CALIAS(U) :NIL
Local 8: LMASHUPS(L) :.T.
Local 9: LIMPCAD(L) :.T.
Local 10: LPADRAO(L) :.T.
Local 11: LHASOK(L) :.T.
Local 12: LWALKTHRU(L) :.T.
Local 13: OFORMBAR(O)
Local 14: BSET15(U) :NIL
Local 15: BSET24(U) :NIL
Local 16: BOKACTION( :{|| ( LOKOK:=IF(LMESSAGEDEL,IIF(FINDFUNCTION("APMSGYESNO"), APMSGYESNO(OEMTOANSI(IF( CPAISLOC $ "ANG|PTG", "CONFIRMAR A EXCLUSãO ?", "CONFIRMA A EXCLUSAO ?" )), OEMTOANSI("ATENçãO")), (CMSGYESNO:="MSGYESNO", &CMSGYESNO.(OEMTOANSI(IF( CPAISLOC $ "ANG|PTG", "CONFIRMAR A EXCLUSãO ?", "CONFIRMA A EXCLUSAO ?" )), OEMTOANSI("ATENçãO")))), .T. ),LOK:=IF(LOKOK,(REGOTO(NREG,CALIAS),SAFEEVAL(BOK)), .F. ),EVALRETOK(LOK,NBAR),IF(TYPE("INCLUI") = "L" .AND. __NNIVELBAR == 0,__LLOOP := INCLUI,)) }
Local 17: BCANACTION( :{|| ( __LLOOP:= .F. ,EVAL(BCANCEL),BUTTONOFF(BSET15,BSET24, .T. )) }
Local 18: LOK(U) :NIL
Local 19: LOKOK(U) :NIL
Local 20: NBAR(N) :0
Local 21: CALIASATU(C) :
Local 22: NX(U) :NIL
Local 23: CTITLE(U) :NIL
Local 24: NTAMABUTTONS(U) :NIL
Local 25: LHASSHORTCUT(U) :NIL
Local 26: NSHORTCUT(N) :0
Local 27: CSETKEYLIST(C) :
Local 28: CTOOLTIP(C) :
STACK ALIASINDIC(MATA103.PRW) 04/03/2013 11:50:58
Param 1: CALIAS(C) :
Param 2: LHELP(U) : NIL
Local 1: CALIAS(C) :
Local 2: LHELP(U) :NIL
Local 3: AAREA(A) :
Local 4: AAREASX2(A) :
Local 5: AAREASX3(A) :
Local 6: LRET(L) :.F.
Local 7: NAT(N) :0
STACK { | E | ERRORDIALOG( E ) }(APLIB240.PRW) 07/01/2013 10:36:52
Param 1: E(O) : O
Local CodeBlock 1: E(O)
STACK ERRORDIALOG(APLIB240.PRW) 07/01/2013 10:36:52
Param 1: E(O) : O
Local 1: E(O)
Local 2: LINSIGA(L) :.F.
Local 3: CMSG(U) :NIL
Local 4: NI(U) :NIL
Local 5: CX(U) :NIL
Local 6: URETURN(U) :NIL
Local 7: CERROR(U) :NIL
Local 8: LSKIPERROR(L) :.F.
STACK ERRORDLG(APLIB240.PRW) 07/01/2013 10:36:52
Param 1: OERR(O) : O
Local 1: OERR(O)
Local 2: ODLG(U) :NIL
Local 3: OFONT(U) :NIL
Local 4: OBMP(U) :NIL
Local 5: OPANEL(U) :NIL
Local 6: OPANELBMP(U) :NIL
Local 7: ODETAIL(U) :NIL
Local 8: OSEND(U) :NIL
Local 9: OCLOSE(U) :NIL
Local 10: OERROR(U) :NIL
Local 11: CMSG(U) :NIL
Files
Mas quando a rotina iniciou a mesma deu mais um erro na linha 65. Na função ENCHOICEBAR. Estou enviando o erro de log.
THREAD ERROR (adm, PCENG04) 03/09/2014 08:56:14
Alias does not exist SX2 on ALIASINDIC(MATA103.PRW) 04/03/2013 11:50:58 line : 15012
[TOTVS build: 7.00.120420A-20120726]
Called from ENCHOICEBAR(MSLIB.PRW) 06/02/2013 14:13:32 line : 1387
Called from {|SELF|ENCHOICEBAR(ODLG,BOK,BCANCEL)}(CARGAXLS.PRW) 03/09/2014 08:55:35 line : 65
Called from ::MSDIALOG:ACTIVATE
Called from U_CARGAXLS(CARGAXLS.PRW) 03/09/2014 08:55:35 line : 65
Publicas
Public 1: CPAISLOC(C) :BRA
STACK U_CARGAXLS(CARGAXLS.PRW) 03/09/2014 08:55:35
Param 1: CARQE(U) : NIL
Param 2: CORIGEME(U) : NIL
Param 3: NLINTITE(U) : NIL
Param 4: LTELA(L) : .T.
Private 1: CARQ(C) :
Private 2: CARQMACRO(C) :XLS2DBF.XLA
Private 3: CTEMP(C) :C:\Users\adm.CMV\AppData\Local\Temp\
Private 4: CSYSTEM(C) :\SYSTEM\
Private 5: CORIGEM(C) :
Private 6: NLINTIT(N) :0
Private 7: AARQUIVOS(A) :
Private 8: ARET(A) :
Local 1: CARQE(U) :NIL
Local 2: CORIGEME(U) :NIL
Local 3: NLINTITE(U) :NIL
Local 4: LTELA(L) :.T.
Local 5: BOK( :{||LOK:= .T. ,ODLG:END()}
Local 6: BCANCEL( :{||LOK:= .F. ,ODLG:END()}
Local 7: LOK(L) :.F.
Local 8: NLIN(N) :70
Local 9: NCOL1(N) :15
Local 10: NCOL2(N) :45
Local 11: CMSG(C) :
Local 12: ODLG(O)
Local 13: OARQ(O)
Local 14: OORIGEM(O)
Local 15: OMACRO(O)
STACK ::MSDIALOG:ACTIVATE
Local 1: SELF(O)
STACK {|SELF|ENCHOICEBAR(ODLG,BOK,BCANCEL)}(CARGAXLS.PRW) 03/09/2014 08:55:35
Param 1: SELF(O) : O
Local CodeBlock 1: SELF(O)
STACK ENCHOICEBAR(MSLIB.PRW) 06/02/2013 14:13:32
Param 1: ODLG(O) : O
Param 2: BOK( : {||LOK:= .T. ,ODLG:END()}
Param 3: BCANCEL( : {||LOK:= .F. ,ODLG:END()}
Param 4: LMESSAGEDEL(L) : .F.
Param 5: ABUTTONS(U) : NIL
Param 6: NREG(U) : NIL
Param 7: CALIAS(U) : NIL
Param 8: LMASHUPS(L) : .T.
Param 9: LIMPCAD(L) : .T.
Param 10: LPADRAO(L) : .T.
Param 11: LHASOK(L) : .T.
Param 12: LWALKTHRU(L) : .T.
Local 1: ODLG(O)
Local 2: BOK( :{||LOK:= .T. ,ODLG:END()}
Local 3: BCANCEL( :{||LOK:= .F. ,ODLG:END()}
Local 4: LMESSAGEDEL(L) :.F.
Local 5: ABUTTONS(U) :NIL
Local 6: NREG(U) :NIL
Local 7: CALIAS(U) :NIL
Local 8: LMASHUPS(L) :.T.
Local 9: LIMPCAD(L) :.T.
Local 10: LPADRAO(L) :.T.
Local 11: LHASOK(L) :.T.
Local 12: LWALKTHRU(L) :.T.
Local 13: OFORMBAR(O)
Local 14: BSET15(U) :NIL
Local 15: BSET24(U) :NIL
Local 16: BOKACTION( :{|| ( LOKOK:=IF(LMESSAGEDEL,IIF(FINDFUNCTION("APMSGYESNO"), APMSGYESNO(OEMTOANSI(IF( CPAISLOC $ "ANG|PTG", "CONFIRMAR A EXCLUSãO ?", "CONFIRMA A EXCLUSAO ?" )), OEMTOANSI("ATENçãO")), (CMSGYESNO:="MSGYESNO", &CMSGYESNO.(OEMTOANSI(IF( CPAISLOC $ "ANG|PTG", "CONFIRMAR A EXCLUSãO ?", "CONFIRMA A EXCLUSAO ?" )), OEMTOANSI("ATENçãO")))), .T. ),LOK:=IF(LOKOK,(REGOTO(NREG,CALIAS),SAFEEVAL(BOK)), .F. ),EVALRETOK(LOK,NBAR),IF(TYPE("INCLUI") = "L" .AND. __NNIVELBAR == 0,__LLOOP := INCLUI,)) }
Local 17: BCANACTION( :{|| ( __LLOOP:= .F. ,EVAL(BCANCEL),BUTTONOFF(BSET15,BSET24, .T. )) }
Local 18: LOK(U) :NIL
Local 19: LOKOK(U) :NIL
Local 20: NBAR(N) :0
Local 21: CALIASATU(C) :
Local 22: NX(U) :NIL
Local 23: CTITLE(U) :NIL
Local 24: NTAMABUTTONS(U) :NIL
Local 25: LHASSHORTCUT(U) :NIL
Local 26: NSHORTCUT(N) :0
Local 27: CSETKEYLIST(C) :
Local 28: CTOOLTIP(C) :
STACK ALIASINDIC(MATA103.PRW) 04/03/2013 11:50:58
Param 1: CALIAS(C) :
Param 2: LHELP(U) : NIL
Local 1: CALIAS(C) :
Local 2: LHELP(U) :NIL
Local 3: AAREA(A) :
Local 4: AAREASX2(A) :
Local 5: AAREASX3(A) :
Local 6: LRET(L) :.F.
Local 7: NAT(N) :0
STACK { | E | ERRORDIALOG( E ) }(APLIB240.PRW) 07/01/2013 10:36:52
Param 1: E(O) : O
Local CodeBlock 1: E(O)
STACK ERRORDIALOG(APLIB240.PRW) 07/01/2013 10:36:52
Param 1: E(O) : O
Local 1: E(O)
Local 2: LINSIGA(L) :.F.
Local 3: CMSG(U) :NIL
Local 4: NI(U) :NIL
Local 5: CX(U) :NIL
Local 6: URETURN(U) :NIL
Local 7: CERROR(U) :NIL
Local 8: LSKIPERROR(L) :.F.
STACK ERRORDLG(APLIB240.PRW) 07/01/2013 10:36:52
Param 1: OERR(O) : O
Local 1: OERR(O)
Local 2: ODLG(U) :NIL
Local 3: OFONT(U) :NIL
Local 4: OBMP(U) :NIL
Local 5: OPANEL(U) :NIL
Local 6: OPANELBMP(U) :NIL
Local 7: ODETAIL(U) :NIL
Local 8: OSEND(U) :NIL
Local 9: OCLOSE(U) :NIL
Local 10: OERROR(U) :NIL
Local 11: CMSG(U) :NIL
Files
Por favor Acessar ou Registrar para participar da conversa.
- admin
- Desconectado
- Administrador
Menos
Mais
- Postagens: 216
- Obrigados Recebidos: 0
- Waldenilson
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 15
- Obrigados Recebidos: 0
10 anos 2 meses atrás #24871
por Waldenilson
Respondido por Waldenilson no tópico IMPORTAÇÃO DE ARQUIVO XLS PARA PROTHEUS
Não ! O que eu devo fazer? Tenho que criar um menu para essa rotina ?
Por favor Acessar ou Registrar para participar da conversa.
- admin
- Desconectado
- Administrador
Menos
Mais
- Postagens: 216
- Obrigados Recebidos: 0
10 anos 2 meses atrás #24875
por admin
Respondido por admin no tópico IMPORTAÇÃO DE ARQUIVO XLS PARA PROTHEUS
Brother vc deverá criar uma opção no menu para chamar esta rotina.
vai no configurador e seleciona o menu que do módulo que deseja roda-la e acrescenta chamando este fonte.
vai no configurador e seleciona o menu que do módulo que deseja roda-la e acrescenta chamando este fonte.
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- IMPORTAÇÃO DE ARQUIVO XLS PARA PROTHEUS
Tempo para a criação da página:0.151 segundos