Vincular campos no Writer

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)

Modelo OS.odt

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 )

@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?

@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.

@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?

@acamposxp, Enter em contato direto veja aqui: https://wiki.documentfoundation.org/User:Schiavinatto , 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.

@schiavinatto, enviado. Antecipadamente agradecido.

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

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