Integração Consinco (TXT e Banco de Dados)

O RuB disponibiliza drivers específicos para integração com o ERP Consinco, suportando tanto a geração de Arquivos de Texto Posicionais (TXT) quanto o registro direto em Banco de Dados Relacional.

graph TD
    A[Solicitação de Etiqueta de Produto] --> B{Configuração INTF_ETIQUETA_PRODUTO}
    B -->|txt_etiqueta_consinco / noqtd| C[ConsincoTXTWriter]
    B -->|Integração por Banco Consinco| D[ConsincoDBWriter]
    C -->|Gera arquivo posicional .txt| E[Diretório path.Etiqueta]
    D -->|INSERT com EMITIDO=0 e DATA_EMISSAO| F[(Tabela RUBW_ETIQUETA)]

1. Integração via Arquivo TXT

A integração por arquivos texto do Consinco gera arquivos em disco formatados com largura fixa (25 caracteres por linha) para importação pelo integrador do ERP.

Opções em INTF_ETIQUETA_PRODUTO

  • txt_etiqueta_consinco (Consinco TXT com Quantidade): Gera o arquivo repetindo a linha de acordo com a quantidade solicitada em QTD_PRINT.
  • txt_etiqueta_consinco_noqtd (Consinco TXT sem Quantidade): Gera o arquivo sem desdobramento por quantidade.

Parâmetros e Diretórios

  • Diretório de Saída: O caminho da pasta onde os arquivos são gravados é definido no parâmetro path.Etiqueta.
  • Nomenclatura Padrão: O RuB gera os arquivos com o formato <USUARIO>_<dd-MM-yyyy HH'h'mm'm'ss's'SSS>.txt (exemplo: operador1_24-08-2026 18h30m00s123.txt), garantindo identificação do solicitante e unicidade por milissegundo.

Customização da Nomenclatura do Arquivo Consinco

Quando necessário alterar a convenção de nomes de arquivos gerados pelo integrador, configure o parâmetro etiquetaFormatoDoNomeDoArquivo (ou interface.nome.arquivo no config.ini).

O RuB processa os seguintes tokens dinâmicos:

  • ${ID_LOJA}: Código da filial convertido para ERP.
  • ${USER}: Usuário que gerou a solicitação de etiquetas.
  • ${LOJA}, ${LOJA_5}, ${LOJA_3}: Nome ou abreviação da loja.
  • ${Y}, ${M}, ${D}: Ano (4 dígitos), mês (2 dígitos) e dia (2 dígitos).
  • ${H}, ${m}, ${S}, ${MS}: Hora, minuto, segundo e milissegundo.

Layout Posicional (25 caracteres)

Cada linha do arquivo possui exatamente 25 posições:

PosiçãoTamanhoConteúdoDescrição / Regra
01 – 066000000Código de local fixo preenchido com zeros.
07 – 2014Código de Barras (DUN/EAN)Código de barras da menor embalagem do produto. Caso possua menos de 14 dígitos (ex: EAN-13), o RuB preenche com zeros à esquerda até completar 14 posições.
21 – 25500001Quantidade fixa formatada em 5 dígitos com zeros à esquerda.

Exemplo de arquivo gerado (operador1_24-08-2026 18h30m00s123.txt):

0000000789102030405000001
0000000789102030405000001
0000000789987654321000001

2. Integração via Banco de Dados

Quando a implantação utiliza integração direta via banco de dados com o ERP Consinco, o writer ConsincoDBWriter grava as solicitações de etiquetas na tabela RUBW_ETIQUETA com campos específicos de controle de ciclo de vida da solicitação.

Conexão JDBC

A gravação utiliza a conexão configurada em connname.etiqueta (normalmente apontando para o banco rub_integracao).

Comando SQL Executado

INSERT INTO RUBW_ETIQUETA (ID_LOJA, CODIGO, QTD_PRINT, EMITIDO, DATA_EMISSAO) 
VALUES (?, ?, ?, ?, ?);

Dicionário de Colunas para Consinco

ColunaTipo sugeridoValor gravado pelo RuBDescrição
ID_LOJAINTRuBContext.translateIdLojaFromRuBToERP(id)Identificador da filial convertido para o código do ERP.
CODIGOVARCHAR(20)Código do produtoIdentificador/código do produto no RuB.
QTD_PRINTVARCHAR(10) / INTQuantidade solicitadaQuantidade de etiquetas requisitadas pelo operador.
EMITIDOINT ou SMALLINT0Indicador de emissão: gravado inicialmente como 0 (não emitido), para que o integrador Consinco atualize para 1 após processar.
DATA_EMISSAODATETIME / TIMESTAMPData/hora atualMomento da criação da solicitação pelo RuB.

DDL Sugerido para Tabela RUBW_ETIQUETA com Consinco

CREATE TABLE RUBW_ETIQUETA (
    ID_LOJA        INT NOT NULL,
    CODIGO         VARCHAR(20) NOT NULL,
    QTD_PRINT      INT NOT NULL DEFAULT 1,
    EMITIDO        INT NOT NULL DEFAULT 0,
    DATA_EMISSAO   TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

CREATE INDEX IDX_RUBW_CONSINCO ON RUBW_ETIQUETA (ID_LOJA, EMITIDO, DATA_EMISSAO);

Validação da Integração Consinco

Para integração TXT:

  1. Verifique se a pasta configurada em path.Etiqueta existe e possui permissão de escrita para o processo do RuB.
  2. Solicite uma etiqueta pelo RuB Mobile e verifique se o arquivo .txt foi gerado na pasta de destino com o layout de 25 caracteres.

Para integração por Banco:

  1. Valide a conexão connname.etiqueta no RuB.
  2. Certifique-se de que a tabela RUBW_ETIQUETA contém as colunas EMITIDO e DATA_EMISSAO.
  3. Solicite uma etiqueta de teste e execute:
    SELECT * FROM RUBW_ETIQUETA WHERE EMITIDO = 0;
    
  4. Confirme que o integrador Consinco processa o registro e atualiza o campo EMITIDO ou remove o registro da fila.