- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Curriculos x Word ( Integração )
×
Linguagem de Programação ADVPL
Perguntas Curriculos x Word ( Integração )
- michelp
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 115
- Obrigados Recebidos: 0
11 anos 8 meses atrás #11276
por michelp
Curriculos x Word ( Integração ) foi criado por michelp
Bom dia,
Preciso integrar alguns dados do curriculo ao Word, mais estou com dificuldade para achar o erro de lógica do programa.
THREAD ERROR (administrador, SERVER2) 04/03/2013 10:17:12
type mismatch on compare on IMPWORD(INTWORD.PRW) 04/03/2013 10:16:20 line : 75
Será que alguém pode me ajudar.
#include "Protheus.Ch"
#include "MSOle.Ch"
User Function tword()
Local nOpcA := 0
Local cPerg := "MSWORD"
Private cCadastro := "Integração Protheus Vs Ms-Word"
Private aSay := {}
Private aButton := {}
Pergunte(cPerg,.F.)
aAdd( aSay, "Esta rotina irá imprimir informacoes do candidato" )
aAdd( aButton, { 5,.T.,{|| Pergunte(cPerg,.T. )}})
aAdd( aButton, { 1,.T.,{|| nOpca := 1,FechaBatch()}})
aAdd( aButton, { 2,.T.,{|| FechaBatch() }} )
FormBatch( cCadastro, aSay, aButton )
If nOpcA == 1
Processa( {|| ImpWord() }, "Processando..." )
Endif
Return
Static Function ImpWord()
Local oWord := Nil
Local cTitulo1 := "Selecione o arquivo"
Local cExtens := "Modelo Word | *.dot"
Local cFileOpen := ""
Local cFileSave := ""
cFileOpen := cGetFile(cExtens,cTitulo1,,,.T.)
oWord := OLE_CreateLink()
OLE_NewFile( oWord, cFileOpen )
dbSelectArea("SQG")
dbSetOrder(1) // Indice 1 : QG_FILIAL+QG_CURRIC
dbSeek( xFilial("SQG")+mv_par01+mv_par02 )
If !Found()
Help("",1,"NORECNO")
RETURN
End
OLE_SetDocumentVar( oWord, 'MS_QG_CURRIC' , SQG->QG_CURRIC )
OLE_SetDocumentVar( oWord, 'MS_QG_NOME', SQG->QG_NOME )
OLE_UpDateFields( oWord )
If mv_par03<>3
If mv_par03==1
OLE_SetProperty( oWord, '208', .F. )
OLE_PrintFile( oWord )
Elseif mv_par03 == 2
cFileSave := SubStr(cFileOpen,1,At(".",Trim(cFileOpen))-1)
OLE_SaveAsFile( oWord, cFileSave+SA1->A1_COD+"_AP5.doc" )
Endif
OLE_CloseLink( oWord )
Endif
Return
Preciso integrar alguns dados do curriculo ao Word, mais estou com dificuldade para achar o erro de lógica do programa.
THREAD ERROR (administrador, SERVER2) 04/03/2013 10:17:12
type mismatch on compare on IMPWORD(INTWORD.PRW) 04/03/2013 10:16:20 line : 75
Será que alguém pode me ajudar.
#include "Protheus.Ch"
#include "MSOle.Ch"
User Function tword()
Local nOpcA := 0
Local cPerg := "MSWORD"
Private cCadastro := "Integração Protheus Vs Ms-Word"
Private aSay := {}
Private aButton := {}
Pergunte(cPerg,.F.)
aAdd( aSay, "Esta rotina irá imprimir informacoes do candidato" )
aAdd( aButton, { 5,.T.,{|| Pergunte(cPerg,.T. )}})
aAdd( aButton, { 1,.T.,{|| nOpca := 1,FechaBatch()}})
aAdd( aButton, { 2,.T.,{|| FechaBatch() }} )
FormBatch( cCadastro, aSay, aButton )
If nOpcA == 1
Processa( {|| ImpWord() }, "Processando..." )
Endif
Return
Static Function ImpWord()
Local oWord := Nil
Local cTitulo1 := "Selecione o arquivo"
Local cExtens := "Modelo Word | *.dot"
Local cFileOpen := ""
Local cFileSave := ""
cFileOpen := cGetFile(cExtens,cTitulo1,,,.T.)
oWord := OLE_CreateLink()
OLE_NewFile( oWord, cFileOpen )
dbSelectArea("SQG")
dbSetOrder(1) // Indice 1 : QG_FILIAL+QG_CURRIC
dbSeek( xFilial("SQG")+mv_par01+mv_par02 )
If !Found()
Help("",1,"NORECNO")
RETURN
End
OLE_SetDocumentVar( oWord, 'MS_QG_CURRIC' , SQG->QG_CURRIC )
OLE_SetDocumentVar( oWord, 'MS_QG_NOME', SQG->QG_NOME )
OLE_UpDateFields( oWord )
If mv_par03<>3
If mv_par03==1
OLE_SetProperty( oWord, '208', .F. )
OLE_PrintFile( oWord )
Elseif mv_par03 == 2
cFileSave := SubStr(cFileOpen,1,At(".",Trim(cFileOpen))-1)
OLE_SaveAsFile( oWord, cFileSave+SA1->A1_COD+"_AP5.doc" )
Endif
OLE_CloseLink( oWord )
Endif
Return
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
11 anos 8 meses atrás #11292
por kanaamlrr
Respondido por kanaamlrr no tópico Curriculos x Word ( Integração )
Cara, pelo que eu consegui ver, o erro pode ser nos "IFS" que você tem dentro da função ImpWOrd.
Verifica se os "MV_PARXX" são tipo numérico, pois a comparação está com numérico.
Provavelmente é caracter, dessa forma você pode converter para numérico ou colocar sua constante como caracter adicionando aspas no inicio e no fim dela.
Verifica se os "MV_PARXX" são tipo numérico, pois a comparação está com numérico.
Provavelmente é caracter, dessa forma você pode converter para numérico ou colocar sua constante como caracter adicionando aspas no inicio e no fim dela.
Por favor Acessar ou Registrar para participar da conversa.
- michelp
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 115
- Obrigados Recebidos: 0
11 anos 8 meses atrás #11293
por michelp
Respondido por michelp no tópico Curriculos x Word ( Integração )
Kanaâm, obrigado pela ajuda, mais ainda não deu certo.
Olha como deixei e veja por favor se fiz corretamente.
Outra coisa que esta me intrigando é que ao abrir o .DOT aparece a mensagem de erro direto na função, porém já fiz isso e sempre deu certo.
Se puder me ajudar, não sou muito bom em advpl e estou perdido.
Att. Michel
Olha como deixei e veja por favor se fiz corretamente.
Outra coisa que esta me intrigando é que ao abrir o .DOT aparece a mensagem de erro direto na função, porém já fiz isso e sempre deu certo.
Se puder me ajudar, não sou muito bom em advpl e estou perdido.
Att. Michel
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
11 anos 8 meses atrás #11295
por kanaamlrr
Respondido por kanaamlrr no tópico Curriculos x Word ( Integração )
Então cara, pelo que eu vi, seu fonte aparentemente está correto.
O erro no .DOT eu não sei te dizer o que pode ser pois nunca trabalhei com isso.
Se ele ainda está dando erro na execução, vai debugando ele e verifica o que ele está fazendo na linha em que o erro é apresentado.
O erro no .DOT eu não sei te dizer o que pode ser pois nunca trabalhei com isso.
Se ele ainda está dando erro na execução, vai debugando ele e verifica o que ele está fazendo na linha em que o erro é apresentado.
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Curriculos x Word ( Integração )
Tempo para a criação da página:0.094 segundos