Pergunte aqui
1

Vincular campos no Writer

perguntadas 2020-05-14 13:54:43 +0100

imagem do gravatar de acamposxp

updated 2020-06-03 23:41:03 +0100

imagem do gravatar de Schiavinatto

Olá, estou criando um modelo .odt (Writer) para a empresa que trabalho. O sistema de documentos só aceita esse formato para edição.

O modelo é uma Ordem de Fornecimento. Temos 70 contratos com 70 fornecedores diferentes. Cada OF é enviada para fornecedores individuais.

Criei um campo Fornecedores em FUNÇÕES >> Lista de Entrada que me permite escolher individualmente o fornecedor (Nome, CNPJ, endereço, etc)

Da mesma forma criei outro com Objeto, com a descrição (número do contrato, descrição, etc).

Quero saber se existe alguma forma de vincular Fornecedores1 a Objeto1, Fornecedores2 a Objeto2...

Se não for possível dessa forma, aceito sugestões (se possível, que não dependam de banco de dados externo)

C:\fakepath\Modelo OS.odt

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

Comentários

Ola @acamposxp, seja bem vindo ao Grupo.

Do jeito que menciona, quer um Writer com Banco de Dados embutido !!!!

Talvez por Macro !!!!

Tem certeza que o sistema não aceita Calc (ods) ficaria fácil.

Para facilitar, edite sua pergunta, e com uso do ícone clipe, anexe um modelo desta OF, identificando o texto variável (fornecedor / descrição )

imagem do gravatar de SchiavinattoSchiavinatto ( 2020-05-14 17:27:58 +0100 )editar

@Schiavinatto, anexei o modelo (alterei pra preservar os dados das empresas). Infelizmente, para edição o sistema não aceita ods, somente para anexar arquivos. Só aceita odt porque as assinaturas do solicitante são feita automaticamente conforme pré-cadastro das autoridades no sistema para comprovar autenticidade. Tem sugestão de como usar Macro pra esse fim?

imagem do gravatar de acamposxpacamposxp ( 2020-05-14 17:55:08 +0100 )editar

1 Resposta

0

respondidas 2020-05-14 19:21:35 +0100

imagem do gravatar de Schiavinatto

updated 2020-05-15 00:55:53 +0100

@acamposxp, segue uma sugestão, a Macro esta rústica, dá para melhorar, é só para ter uma ideia. ( o arquivo esta como modelo, para evitar salvar em cima do original )

Como usar:

Coloque o cursor após FORNECEDOR:

Descrição da imagem

No Menu [ Fornecedores ] escolha o desejado:

Descrição da imagem

Se servir me avise para melhorar a macro

Macro melhorada

REM  *****  BASIC  *****
Global CONTRATADO, OBJETO As String


Sub FORNECEDOR1  ' não pode conter espaços vazio.
    CONTRATADO = "FORNECEDOR 1 LTDA, CNPJ: 35.409.4536/0001-84. END: Rua Praça Americano Silva, Nº 3303- Machado. CEP: 40.455-880. Salvador-BA."
    OBJETO = "Encaminhamos a presente ORDEM DE SERVIÇOS, referente ao Contrato nº 13420/2019 – Serviço Especializado em guarda documental e o bla bla bla bla bla bla....... REF.:"
    Padrao  
End Sub


'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
'                                   SUBMACROS
'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

Sub Padrao
'---------------------------------------------------------------------
    Negrito "false" 'desliga o negrito
    InserirTexto CONTRATADO
    Execute "InsertPara" : Execute "InsertPara" ' termina a linha e pula uma.
dim args12(0) as new com.sun.star.beans.PropertyValue
args12(0).Name = "Bold" : args12(0).Value = true ' liga o negrito
CreateUnoService("com.sun.star.frame.DispatchHelper") _
.executeDispatch(ThisComponent.CurrentController.Frame, ".uno:Bold", "", 0, args12())
    InserirTexto "OBJETO: " ' texto não variável en negrito
    Negrito "false" ' desliga o negrito
    InserirTexto OBJETO
End Sub


Sub InserirTexto ( xTEXTO As String )
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Text"
args2(0).Value = xTEXTO
CreateUnoService("com.sun.star.frame.DispatchHelper") _
.executeDispatch(ThisComponent.CurrentController.Frame, ".uno:InsertText", "", 0, args2())
End Sub


Sub Execute ( oQue$ )
CreateUnoService("com.sun.star.frame.DispatchHelper") _
.executeDispatch(ThisComponent.CurrentController.Frame, ".uno:" & oQue & "", "", 0, Array())
End Sub


Sub Negrito ( XXX As String ) ' false / true
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Bold" : args1(0).Value = XXX
CreateUnoService("com.sun.star.frame.DispatchHelper") _
.executeDispatch(ThisComponent.CurrentController.Frame, ".uno:Bold", "", 0, args1())
End Sub

-----------------------------------------------------------------------------

ATENÇÂO:: Para dar mais detalhes a sua pergunta, use Descrição da imagem na pergunta ou Descrição da imagem abaixo. Não use Adicionar resposta para comentário. Grato.

Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha Descrição da imagem a esquerda da resposta, para finalizar a pergunta.

editar assinalar como ofensivo Excluir Link mais

Comentários

@Schiavinatto, é uma sugestão muito boa. só me preocupa o fato eu não ter conhecimentos em programação muito grande para incluir dados novos, mas estou disposto a aprender. Percebi que além de alterar manualmente o script com os dados ainda é necessário editar o menu [FORNECEDORES], está correto, já que ele não é alterado automaticamente quando se troca o nome da empresa? Só um detalhe, com 70 empresas o menu não ficaria truncado?

imagem do gravatar de acamposxpacamposxp ( 2020-05-14 20:31:15 +0100 )editar

@acamposxp,, Enter em contato direto veja aqui: https://wiki.documentfoundation.org/U... , sigilo garantido.

Envie uma copia do arquivo, com os dados preenchidos de um fornecedor, para ver o padrão que esta.

Preparo o arquivo e passo as dicas para continuar, nada complicado.

imagem do gravatar de SchiavinattoSchiavinatto ( 2020-05-14 20:56:14 +0100 )editar

@Schiavinatto, enviado. Antecipadamente agradecido.

imagem do gravatar de acamposxpacamposxp ( 2020-05-14 21:40:19 +0100 )editar

@Schiavinatto, encaminhei a senha do campo. Tinha incluído senha como teste e esqueci de retirar no envio.

imagem do gravatar de acamposxpacamposxp ( 2020-05-15 00:16:35 +0100 )editar
1

@Schiavinatto, quero agradecer novamente. Vai ajudar bastante no nosso dia a dia. VC deixou enxuta mesmo. Muito obrigado

imagem do gravatar de acamposxpacamposxp ( 2020-05-15 01:21:43 +0100 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2020-05-14 13:54:43 +0100

Lidas: 41 vezes

Última atualização: May 15 '20