Geração Txts Bayer
v2.12.0-r
Orienta a instalação, configuração e gerenciamento do serviço de geração de arquivos txt para integração Bayer, incluindo procedimentos iniciais, desinstalação e requisitos técnicos necessários.
- Título
- Geração Txts Bayer
- Slug
- geracao-txts-bayer
- Sistema(s)
- "Sistemas Teorema -> 00001"
- Categoria
- user_manual
- Tipo
- how-to
- Autor
- Andreia Burko Bley
- Setor
- Qualidade
- Modulo
- Geração TXT Agrocenter
- Publico
- ""
- Keywords
- bayer geração txt agrocenter srvbayer serviço windows accera devolução
- Revisão
- Marcos Zampier
- Aprovado em
- 30/11/2022
- Versão Pipeline
- 2.7.0
- Chamado
- ""
- Ultima Revisao
- "2026-06-13"
---
title: Geração Txts Bayer
slug: geracao-txts-bayer
sistema:
- "Sistemas Teorema -> 00001"
categoria: user_manual
tipo: how-to
autor: Andreia Burko Bley
setor: Qualidade
modulo: Geração TXT Agrocenter
publico: ""
keywords:
- bayer
- geração txt
- agrocenter
- srvbayer
- serviço windows
- accera
- devolução
revisao: Marcos Zampier
aprovado_em: 30/11/2022
versao_pipeline: 2.7.0
chamado: ""
ultima_revisao: "2026-06-13"
---
## Visão Geral
O módulo Geração TXT Agrocenter realiza a exportação de arquivos `.txt` com dados de itens, empresas, vendas e clientes da Agrocenter para o coletor da ACCERA. A geração pode ocorrer de três formas: manualmente por diretório, pela grade em Excel ou automaticamente via serviço Windows (`SrvBayer`), que executa todos os dias às 9h, exceto domingos (a geração de domingo ocorre na segunda-feira, sempre com os dados do dia anterior).
Todos os arquivos são gerados com base na Empresa 002, filtrando itens de marca **BAYER** e fornecedores com segmento `00001`.
## Instalar o serviço SrvBayer
> **Pré-requisito:** Execute o Prompt de Comando como administrador.
**Passo 1 — Apontar o diretório do executável**
Navegue até a pasta `C:\Teorema\bin`, onde o executável `SrvBayer` está localizado.
```
cd C:\Teorema\bin
```

**Passo 2 — Instalar o serviço**
Execute o comando de instalação informando o nome do serviço seguido do parâmetro `-install`:
```
srvbayer -install
```

**Passo 3 — Abrir a interface de configuração (GUI)**
Após a instalação, execute o comando `srvbayer gui` para abrir a janela de configuração "Integração - Geração Txt Bayer", que exibe os botões **Configurações** e **Gerar Arquivo TXT**.
```
srvbayer gui
```

**Passo 4 — Iniciar o serviço pelo Gerenciador de Tarefas**
Após configurar e fechar a interface, abra o Gerenciador de Tarefas, acesse a aba **Serviços**, localize o serviço **ServiceBayer** (descrição: "Integração - Bayer", status: Parado) e clique em **Iniciar**. Isso evita a necessidade de reiniciar o computador.

## Desinstalar o serviço SrvBayer
Antes de desinstalar, pare o serviço no Gerenciador de Tarefas. Em seguida, execute o comando abaixo no Prompt de Comando (administrador) a partir de `C:\Teorema\bin`:
```
srvbayer -uninstall
```
O sistema exibe a caixa de diálogo "Service uninstalled successfully" ao concluir.

> **Nota:** Sempre que for necessário atualizar a release, desinstale e reinstale o serviço. Não é possível instalar o mesmo serviço duas vezes. Se ao desinstalar ou instalar aparecer o erro "o serviço especificado foi marcado para ser excluído", reinicie o computador para concluir a exclusão.
## Requisitos e observações do serviço
- Os serviços contêm dois arquivos `teoremas.ini`: o padrão e o localizado na pasta `services`, criada automaticamente ao instalar o serviço. Após a criação da pasta, copie o `teorema.ini` da máquina e cole em `C:\Teorema\bin\Users\Services` para que o serviço seja configurado corretamente.
- Sempre instale o serviço em `C:\Teorema\bin` para evitar erros com o Firebird e suas DLLs.
- O serviço gera logs de erros em um arquivo `.txt` na pasta `services`.
- O serviço já vem pré-definido com local e horário pelo arquivo `config`. Após a primeira configuração, verifique se os dados estão corretos antes de salvar.
## Lançar devoluções para o serviço
### Configurar a operação de devolução
No cadastro de **Código de Operação**, configure o campo **Tipo** como `Entrada` e o campo **Tipo de Movimentação** como `Devolução de Venda`.

### Cadastrar o segmento 00001 no cliente
No cadastro do cliente, acesse a aba **2 Agrupamento** e insira o segmento `00001` no campo **Segmento**. Caso o segmento não esteja cadastrado, realize o cadastro antes de prosseguir.

### Inserir a nota de origem da devolução
Após configurar a operação e o segmento, a aba **Nota Origem Devolução** fica visível na Nota Fiscal. Informe no campo **Chave de Acesso** a chave de referência da nota que originou a devolução.

## Gestão de fornecedores vinculados (Agrocenter)
A Agrocenter utiliza múltiplos CNPJs, o que pode causar duplicação de itens e vendas na geração. A solução adotada é a vinculação de fornecedores por hierarquia pai/filho:
- Estipula-se um CNPJ "pai", responsável por aparecer nos itens.
- Os CNPJs "filhos" são vinculados ao pai.
- Após vincular os filhos ao pai, o pai é excluído dos vinculados internos, pois manter filhos como "vinculados do pai" faz com que eles se tornem pais e embaralhem a geração.
> **Nota:** Esta configuração já está acertada nos cadastros da Agrocenter.
Para configurar a vinculação, acesse o **Cadastro de Clientes, Fornecedores e Transportadores**, aba **6 Relacionamentos**, sub-aba **Clientes Vinculados**.

> ⚠️ **Atenção:** A imagem acima exibe dados de cadastro de exemplo com informações pessoais. CPF omitido por LGPD.
## Processos de geração de arquivos TXT
Os arquivos gerados são quatro: **Itens**, **Empresas**, **Vendas** e **Clientes**. Existem três formas de geração:
1. **Geração Manual por Diretório** — usada como alternativa quando o serviço apresenta problema.
2. **Geração de Múltiplos Arquivos pela Grade** — usada pela Agrocenter para exportar a grade em Excel.
3. **Serviço Windows (SrvBayer)** — realiza a geração automática dos arquivos `.txt` no coletor da ACCERA.
> **Nota:** Os processos 1 e 3 geram os arquivos da mesma forma; a diferença é que o serviço é automático e a geração manual é acionada pelo usuário.
## Localizar a geração manual no sistema
Acesse o menu **Específico Geral > Gerações > Geração TXT Bayer**.

Na tela **Geração TXT Bayer**, defina o período, o diretório de saída e selecione o tipo de arquivo a gerar (Itens, Empresas, Vendas, Clientes ou Todos). Clique em **Gerar Txt** para executar.

## SQL dos arquivos gerados
### Itens
A query de itens filtra pela marca `BAYER`, empresa `0002` e segmento de fornecedor `00001`:
```sql
Select a.item_reduzido, a.item_barras, a.item_embalagem, a.item_descricao,
(a.item_quantidade_volumes * 1000) as item_quantidade_volumes,
case a.item_inativo when ...,
emp.empresa_cnpj,
'H' as Tipo_Registro, 'V' as Tipo_Registro_Produto, 'E' as Tipo_Barras,
'UN' as Unidade, 'E' as Tipo_Registro_Fim,
min(cf.clifor_nome) as clifor_nome,
count(ifor.clifor_codigo) as contador,
min(cfs.clifor_codigo) as clifor_codigov,
min(cfs.clifor_nome) as clifor_nomev,
min(cfs.clifor_documento) as clifor_doc
from ITENS A
Left Join Marcas B on (a.marca_codigo = b.marca_codigo)
Left Join Empresas emp on (a.empresa_codigo = emp.empresa_codigo)
Left Join Itens_fornecedores ifor on (a.item_reduzido = ifor.item_reduzido)
and (a.empresa_codigo = ifor.empresa_codigo)
Left Join Clifor_vinculados cv on (ifor.clifor_codigo = cv.clifor_codigo)
and (ifor.empresa_clifor = cv.empresa_clifor)
Left Join Clientes_fornecedores cf on (ifor.clifor_codigo = cf.clifor_codigo)
and (ifor.empresa_clifor = cf.empresa_codigo)
Left Join Clientes_fornecedores cfs on (cv.clifor_codigo_vinculado = cfs.clifor_codigo)
and (cv.empresa_clifor_vinculado = cfs.empresa_codigo)
where (b.marca_descricao = 'BAYER')
and (emp.empresa_usa_itens_de = '0002')
and (cf.segmento_codigo = '00001')
group by a.item_reduzido, a.item_barras, a.item_embalagem, a.item_descricao,
a.item_quantidade_volumes, a.item_inativo, a.item_data_cadastro,
emp.empresa_cnpj
```
O filtro de marca (`BAYER`) é configurado no cadastro do item, no campo **Marca**:

O filtro de segmento `00001` é configurado no cadastro do fornecedor, aba **2 Agrupamento**, campo **Segmento** (ex.: "SEMENTE MILHO BAYER"):

### Empresas
Filtra somente a empresa `0002`:
```sql
Select e.empresa_codigo, e.empresa_nome, e.empresa_cidade, e.empresa_bairro,
e.empresa_cep,
case e.empresa_inativa when 'S' then 'I' when 'N' then 'A' end as ...,
'V' as Tipo_Registro_Empresa, 'E' as Tipo_Registro_fim
From Empresas e
Left Join Municipios mp on (e.municipio_codigo = mp.municipio_codigo)
Left Join Estados es on (mp.estado_codigo = es.estado_codigo)
where (e.empresa_codigo = '0002')
```
### Vendas
Filtra empresa `0002`, agrupamento de marca `00001`, agrupamento de segmento `00001` e somente saídas (`co.operacao_entrada_saida = 'S'`), com lista de CFOPs aplicáveis:
```sql
Left Join Itens i on (nfd.empresa_item = i.empresa_codigo) and (nfd.item_reduzido = i.item_reduzido)
Left Join item_lotes il on (nfd.lote_numero = il.lote_numero) and (nfd.empresa_item = il.empresa_item)
and (nfd.item_reduzido = il.item_reduzido)
Left Join Marcas m on (i.marca_codigo = m.marca_codigo)
Left Join Classificacao cl on (cf.classificacao_codigo = cl.classificacao_codigo)
Left Join Codigos_operacao co on (nf.operacao_codigo = co.operacao_codigo)
Left Join itens_fornecedores itf on (nfd.item_reduzido = itf.item_reduzido)
and (nfd.empresa_item = itf.empresa_codigo)
Left Join Clientes_fornecedores cfi on (itf.clifor_codigo = cfi.clifor_codigo)
and (itf.empresa_codigo = cfi.empresa_codigo)
Left Join Clifor_vinculados cv on (itf.clifor_codigo = cv.clifor_codigo)
and (itf.empresa_clifor = cv.empresa_clifor)
Left Join Clientes_fornecedores cfs on (cv.clifor_codigo_vinculado = cfs.clifor_codigo)
and (cv.empresa_clifor_vinculado = cfs.empresa_codigo)
where i.marca_codigo = '00001'
and nf.empresa_movto = '0002'
and cfi.segmento_codigo = '00001'
and co.operacao_entrada_saida = 'S'
and nfd.fiscal_codigo in (1.201, 1.202, 1.411, 1.904, 1.949, 2.202, 2.204,
5.101, 5.102, 5.104, 5.105, 5.106, 5.110, 5.112, 5.114, 5.115, 5.117,
5.118, 5.119, 5.120, 5.123, 5.124, 5.403, 5.405, 5.910, 5.911, 5.922,
5.927, 5.929, 5.949, 6.101, 6.102, 6.106, 6.108, 6.110, 6.117, 6.119,
6.120, 6.122, 6.123, 6.160, 6.401, 6.403, 6.404, 6.922, 6.929, 6.949)
group by nfd.fiscal_codigo, nf.vendedor_codigo, emp.empresa_codigo, emp.empresa_cnpj,
i.item_barras, i.item_reduzido, nf.nota_data_emissao, nfd.lote_numero,
il.lote_data_vencimento, nf.nota_numero, nfd.unidade_unidade,
co.operacao_tipo_movimentacao, v.vendedor_nome, emp.empresa_nome,
nf.nota_nfe_situacao, nf.nota_chave_acesso
```
### Clientes
Filtra empresa `0002` e linha `00001`:
```sql
Select distinct cf.clifor_documento, cf.clifor_nome, cf.clifor_fantasia,
cf.clifor_bairro, cf.clifor_endereco, cf.clifor_cep, cf.clifor_data_cadastro,
cf.clifor_...,
'H' as Tipo_registro, 'V' as Tipo_Registro_Cliente, 'E' as Tipo_Registro_Fim,
v.vendedor_nome, v.vendedor_codigo, emp.empresa_cnpj, emp.empresa_nome,
m.munici...
From notas_fiscais_ms nfms
Left join clientes_fornecedores cf on (nfms.clifor_codigo = cf.clifor_codigo)
and (nfms.empresa_clifor = cf.empresa_codigo)
Left Join Municipios mp on (cf.municipio_codigo = mp.municipio_codigo)
Left Join Estados es on (mp.estado_codigo = es.estado_Codigo)
Left Join Regioes g on (es.Regiao_Codigo = g.Regiao_Codigo)
Left Join Paises h on (h.Pais_Codigo = g.Pais_Codigo)
Left Join Vendedores v on (cf.vendedor_codigo = v.vendedor_codigo)
and (cf.empresa_vendedor = v.empresa_codigo)
Left Join Empresas emp on (cf.empresa_codigo = emp.empresa_codigo)
Left Join Municipios m on (cf.municipio_codigo = m.municipio_codigo)
where (emp.empresa_usa_clientes_de = '0002') and cf.linha_codigo = '00001'
```
O campo **Linha** `00001` é configurado no cadastro do fornecedor/cliente, aba **2 Agrupamento**:

## Gerar arquivos pela grade (exportação Excel)
Acesse a tela **Geração TXT Bayer**, clique em **Consulta Vendas** para carregar os dados no período definido e, em seguida, acesse o menu **Grade** para exportar os dados. A opção **Exportar para Excel** gera a grade em formato `.xlsx`.


## Informações do documento
> Autor: Andreia Burko Bley
> Setor: Qualidade
> Módulo: Geração TXT Agrocenter
> Chamado:
> Versão do Sistema:
> Versão do documento: 01
> Revisão: Marcos Zampier
> Aprovado em: 30/11/2022
---
> 📎 **Arquivos originais:** [Manual Geração txts Bayer.docx](https://drive.google.com/uc?export=download&id=1Cm7Pf5E-w8kZ9iy07WiAq-P-kmX_Lcrd) · [522-2022-11-28-08-53-34-Documentação de uso.pdf](https://drive.google.com/uc?export=download&id=1-ZOPcTjSX9qLIyBMDYfWsAcboLJE8QCh) · [705-2022-11-21-18-02-00-documentação devolução serviço.pdf](https://drive.google.com/uc?export=download&id=1hgVDZT2vjPKVns4HrRucBATrULo5Lu_f) · [927-2022-11-21-16-34-11-Doc Instalação Serviços.pdf](https://drive.google.com/uc?export=download&id=1hcwJVLa-Ccr0SYd7oS3EDv8PvQUQLNBD) · [Manual Geração txts Bayer.pdf](https://drive.google.com/uc?export=download&id=1CP02P7NJ7AdyXnmYT6ckav6qeJVKLART)
Tags IA:
2023
anteriores
bayer
docx
geracao
geracao-txts-bayer
junho
manuais
txts
Prioridade: 7