Projeto

Geral

Perfil

Manual de Integração » Histórico » Versão 20

Anônimo, 26/06/2013 09:55 h

1 1 Anônimo
h1. Manual de Integração
2 1 Anônimo
3 20 Anônimo
[[Integração 1.3]]
4 20 Anônimo
5 18 Anônimo
_Compatível com a versão 1.1.0 e >1.2.1_
6 18 Anônimo
_Editado em: 10/06/2013_
7 1 Anônimo
8 1 Anônimo
*Índice* 
9 1 Anônimo
# [[Manual de Integração#Introdução|Introdução]] 
10 1 Anônimo
# [[Manual de Integração#Acesso-via-JDBC|Acesso via JDBC]] 
11 1 Anônimo
# [[Manual de Integração#Tabelas-de-Integração|Tabelas de Integração]] 
12 1 Anônimo
## [[Manual de Integração#Representantes|Representantes]] 
13 1 Anônimo
## [[Manual de Integração#Municípios-do-Representante|Municípios do Representante]] 
14 1 Anônimo
## [[Manual de Integração#Clientes-e-Prospects|Clientes e Prospects]] 
15 1 Anônimo
## [[Manual de Integração#Coleções|Coleções]] 
16 1 Anônimo
## [[Manual de Integração#Linhas-de-Produto|Linhas de Produto]] 
17 1 Anônimo
## [[Manual de Integração#Vendas|Vendas]] 
18 17 Anônimo
## [[Manual de Integração#Liquidez|Liquidez]]
19 18 Anônimo
## [[Manual de Integração#Títulos-em-Aberto|Títulos em Aberto]] _(versão > 1.2.1)_
20 1 Anônimo
21 1 Anônimo
h1. Introdução
22 1 Anônimo
23 1 Anônimo
O presente documento tem por objetivo orientar as empresas de ERP na geração dos arquivos e/ou tabelas necessárias para integração com o IGS.
24 1 Anônimo
25 1 Anônimo
Dúvidas ou maiores esclarecimentos podem ser obtidos pelo e-mail contato@ibtech.inf.br ou pelo telefone (47) 3370-0504.
26 1 Anônimo
27 1 Anônimo
h1. Acesso via JDBC
28 1 Anônimo
29 1 Anônimo
*Pré-Requisito:* Suporte por parte do Banco de Dados da Empresa fornecedora do ERP a acesso JDBC.
30 1 Anônimo
31 1 Anônimo
Na integração via JDBC a fornecedora de ERP deve disponibilizar para a IBTech tabelas (ou visões) conforme os layouts especificados neste documento, também deverá fornecer um usuário e senha que tenha permissão de consulta nas referidas tabelas ou visões. A IBTech fará acesso via JDBC à base de dados do cliente para extrair as informações.
32 1 Anônimo
33 1 Anônimo
h1. Tabelas de Integração
34 1 Anônimo
35 1 Anônimo
Todas as tabelas/visões tem um campo chamado “codEmpresa” que separa a geração dos dados entre as possíveis várias empresas que o cliente tenha na mesma base de ERP.
36 1 Anônimo
37 9 matheusk
*Observação:* Os campos com asterisco (*) compõem a “primaryKey” e podem ser enviados como String ou Integer dependendo da necessidade do cliente.
38 1 Anônimo
39 1 Anônimo
Seguem os layouts das tabelas/visões
40 1 Anônimo
41 1 Anônimo
h2. Representantes
42 1 Anônimo
43 9 matheusk
Esta tabela/visão será utilizada para carregar no IGS a lista de representantes. Não é uma integração obrigatória, pois o cliente pode digitar os representantes diretamente no IGS.
44 1 Anônimo
45 1 Anônimo
|_. Campo      |_. Tipo   |_. Precisão |_. Descrição |
46 8 matheusk
| codEmpresa * | String/Integer   | 10         | Código da Empresa origem dos dados |
47 8 matheusk
| codRepres *  | String/Integer   | 255        | Código do Representante no ERP |
48 1 Anônimo
| nome         | String   | 255        | Nome do Representante |
49 1 Anônimo
| telefone     | String   | 255        | Telefone de Contato |
50 1 Anônimo
| email        | String   | 255        | E-Mail |
51 1 Anônimo
| endereco     | String   | 255        | Rua + Número do endereço do Representante |
52 1 Anônimo
| bairro       | String   | 255        | Bairro do Endereço do Representante |
53 1 Anônimo
| CEP          | String   | 8          | CEP do endereço do Representante |
54 1 Anônimo
| Cidade       | String   | 255        | Nome da Cidade do Endereço do Representante |
55 1 Anônimo
| UF           | String   | 2          | Sigla da UF da Cidade |
56 1 Anônimo
| codIBGE      | String   | 7          | Codigo do IBGE da Cidade |
57 1 Anônimo
| situacao     | Integer |          | Situação do cadastro do representante: 0 - Inativo, 1 - Ativo |
58 1 Anônimo
59 1 Anônimo
h2. Municípios do Representante
60 1 Anônimo
61 1 Anônimo
Tabela/visão com a relação dos municípios que o representante atende. Esta não é uma integração obrigatória.
62 1 Anônimo
63 1 Anônimo
|_. Campo      |_. Tipo   |_. Precisão |_. Descrição |
64 8 matheusk
| codEmpresa * | String/Integer  | 10         | Código da Empresa origem dos dados |
65 8 matheusk
| codRepres *  | String/Integer   | 255        | Código do Representante no ERP |
66 1 Anônimo
| codIBGE      | String   | 7          | Codigo do IBGE da Cidade |
67 1 Anônimo
68 1 Anônimo
h2. Clientes e Prospects
69 1 Anônimo
70 1 Anônimo
Tabela/visão com a relação dos clientes e prospects.
71 1 Anônimo
Podem ser listados clientes ativos ou inativos dependendo da necessidade do cliente.
72 1 Anônimo
73 9 matheusk
*Situação:* O conceito de situação do cliente para o IGS é:
74 9 matheusk
* 0-Inativo: Cliente que não está comprando, mas pode voltar a comprar
75 9 matheusk
* 1-Ativo: Cliente com compra regular
76 9 matheusk
* 2-Bloqueado: Cliente com restrições (ex: crédito) ou "Clientes que não interessam a empresa"
77 7 Anônimo
Caso seu ERP tenha somente os clientes ativos e inativos, retorne desta forma.
78 7 Anônimo
79 12 Anônimo
*Representante:* Só usar os campos codRepres2 e codRepres3 caso o cliente tenha variação de representante por linha de produto
80 12 Anônimo
81 1 Anônimo
|_. Campo      |_. Tipo   |_. Precisão |_. Descrição |
82 8 matheusk
| codEmpresa * | String/Integer   | 10         | Código da Empresa origem dos dados |
83 3 Anônimo
| codIBGE     | String   | 7          | Codigo do IBGE da Cidade |
84 8 matheusk
| codCliente *    | String/Integer   | 255          | Codigo do Cliente ou Prospect |
85 1 Anônimo
| tipo      | Integer   |           | Tipo de registro: 1 - Cliente, 2 - Prospect |
86 1 Anônimo
| nome         | String   | 255        | Nome do cliente |
87 1 Anônimo
| situacao     | Integer |          | Situação do cadastro do cliente: 0 - Inativo, 1 - Ativo, 2 - Bloqueado |
88 12 Anônimo
| codRepres1   | String   | 255        | Código do Representante Principal no ERP |
89 12 Anônimo
| codRepres2  | String   | 255        | Código do Representante 2 no ERP |
90 12 Anônimo
| codRepres3   | String   | 255        | Código do Representante 3 no ERP |
91 4 Anônimo
| telefone     | String   | 255        | Telefone de Contato |
92 4 Anônimo
| email        | String   | 255        | E-Mail |
93 4 Anônimo
| endereco     | String   | 255        | Rua + Número do endereço do cliente |
94 4 Anônimo
| bairro       | String   | 255        | Bairro do Endereço do cliente |
95 4 Anônimo
| CEP          | String   | 8          | CEP do endereço do cliente |
96 10 ivo
| dataCadastro | Date    |          | Data de Cadastro do Cliente |
97 1 Anônimo
98 8 matheusk
h2. Coleções
99 1 Anônimo
100 1 Anônimo
Tabela/visão com a relação das coleções.
101 1 Anônimo
102 1 Anônimo
|_. Campo      |_. Tipo   |_. Precisão |_. Descrição |
103 8 matheusk
| codEmpresa * | String/Integer   | 10         | Código da Empresa origem dos dados |
104 1 Anônimo
| codColecao *     | String   | 255          | Codigo da coleção |
105 1 Anônimo
| nome      | String   | 255          | Nome da coleção |
106 1 Anônimo
107 1 Anônimo
h2. Linhas de Produto
108 1 Anônimo
109 1 Anônimo
Lista das linhas de produtos que tiveram dados gerados.
110 9 matheusk
Entendesse como Linha de Produto a forma adotada pela empresa detentora do ERP para dividir seus produtos em grupos! Em caso de confecções, por exemplo, pode-se utilizar os critérios de (Infantil, Masculino, Feminino,etc.)
111 1 Anônimo
112 1 Anônimo
|_. Campo      |_. Tipo   |_. Precisão |_. Descrição |
113 9 matheusk
| codEmpresa * | String/Integer  | 10   | Código da Empresa origem dos dados |
114 9 matheusk
| codLinha *     | String  | 255        | Codigo da linha de produto |
115 1 Anônimo
| nome      | String   | 255          | Nome da linha de produto |
116 1 Anônimo
117 1 Anônimo
h2. Vendas
118 1 Anônimo
119 1 Anônimo
Esta é a principal tabela do processo de integração. Ela deverá armazenar os dados necessários para apresentação dos valores relativos às vendas realizadas.
120 9 matheusk
Geralmente é gerada em cima dos pedidos de venda. Caso o ERP não consiga gerar os dados com base nos pedido de venda, deveremos acionar o cliente para definir outra tabela para extração dos dados (Exemplo: Notas Fiscais).
121 1 Anônimo
Caso a geração seja por coleção (no caso de Confecções, por exemplo), a fornecedora de ERP deve manter uma configuração onde o cliente deverá informar de quais coleções as informações devem ser geradas.
122 9 matheusk
Caso a geração seja por período, deve-se definir com o cliente de qual período ele quer as informações (ultimo ano, últimos 2 anos, etc).
123 1 Anônimo
124 6 Anônimo
*Prazo Médio:* Média em dias do prazo de pagamento (condição de pagamento). Por exemplo, condição 30/60/90: 30+60+90 = 180, 180 / 3 parcelas = 60 dias.
125 1 Anônimo
126 9 matheusk
*Campos Coringa:* Os campos coringa são definidos no momento da implantação, para a primeira integração deve-se retornar nestes campos valor nulo (NULL).
127 5 Anônimo
128 9 matheusk
*Observação:* Os campos com asterisco (*) deverão ser agrupados(group by) e os demais somados (sum).
129 1 Anônimo
130 1 Anônimo
|_. Campo          |_. Tipo   |_. Precisão |_. Descrição |
131 8 matheusk
| codEmpresa *     | String/Integer   | 10         | Código da Empresa origem dos dados |
132 8 matheusk
| codColecao *     | String | 255        | Código da Coleção sobre a qual estamos gerando os dados. |
133 1 Anônimo
| dataReferencia * | Date     | 255        | Armazena a data de emissão do Pedido de Venda. (Caso a geração seja em cima das notas fiscais, deverá armazenar a data de emissão da Nota Fiscal) |
134 9 matheusk
| codLinha *       | String   | 255        | Código da Linha de Produto. Define-se com o cliente o que ele quer gerar como linha de produto.  |
135 8 matheusk
| codRepres *      | String/Integer   | 255        | Código do Representante no ERP |
136 8 matheusk
| codCliente *     | String/Integer   | 255        | Codigo do Cliente |
137 8 matheusk
| codIBGE *        | String  | 7          | Codigo do IBGE da Cidade do Cliente |
138 8 matheusk
| UF *             | String  | 2          | Sigla da UF da Cidade do Cliente |
139 1 Anônimo
| valorBruto       | Double   |            | Valor Bruto das Vendas |
140 1 Anônimo
| valorLiquido     | Double   |            | Valor Liquido das Vendas (ex: Valor Bruto - Valor Descontos) |
141 1 Anônimo
| valorDesconto    | Double   |            | Valor de Descontos das Vendas |
142 1 Anônimo
| valorComissao    | Double   |            | Valor de Comissão das Vendas |
143 1 Anônimo
| prazoMedioXValor | Double   |            | Valor Líquido das Vendas multiplicado pelo Prazo Médio de pagamento. |
144 1 Anônimo
| quantidade       | Double   |            | Quantidade de Peças das Vendas |
145 1 Anônimo
| nomeCliente *    | String   | 255        | Nome do Cliente |
146 1 Anônimo
| codPedido *      | String   | 255        | Código do Pedido |
147 1 Anônimo
| codProduto *     | String   | 255        | Código do produto ou referência |
148 18 Anônimo
| campoCoringa1 *  | String   | 255        | Campo valores diversos, inicialmente retornar NULL - Ver com IBTech |
149 18 Anônimo
| campoCoringa2 *  | String   | 255        | Campo valores diversos, inicialmente retornar NULL - Ver com IBTech |
150 18 Anônimo
| campoCoringa3 *  | String   | 255        | Campo valores diversos, inicialmente retornar NULL - Ver com IBTech |
151 1 Anônimo
152 1 Anônimo
h2. Liquidez
153 1 Anônimo
154 9 matheusk
Listar dados totalizando os valores a receber e os valores recebidos agrupando por representante. Normalmente estes registros são provenientes do cadastro de contas a receber.
155 1 Anônimo
156 1 Anônimo
*Importante!* Este SQL possui parâmetros.
157 1 Anônimo
158 1 Anônimo
Layout da tabela/visão:
159 1 Anônimo
160 1 Anônimo
|_. Campo          |_. Tipo   |_. Precisão |_. Descrição |
161 1 Anônimo
| codRepres *      | String/Integer   | 255        | Código do Representante no ERP |
162 1 Anônimo
| valorAReceber    | Double   |            | Valor a receber acumulado por representante |
163 1 Anônimo
| valorRecebido    | Double   |            | Valor recebido acumulado por representante |
164 1 Anônimo
165 1 Anônimo
Lista de Parâmetros:
166 1 Anônimo
167 1 Anônimo
_Formato sugerido de data: dd/mm/yyyy (31/12/2013)_
168 1 Anônimo
169 1 Anônimo
|_. Parâmetro      |_. Tipo   |_. Precisão |_. Descrição |
170 8 matheusk
| :pCodEmpresa     | String/Integer   | 10         | (opcional) Código da empresa no ERP |
171 1 Anônimo
| :pDataInicio     | String   | 10         | Data inicial para filtrar o vencimento e pagamento (formato a combinar) |
172 1 Anônimo
| :pDataFim        | String   | 10         | Data final para filtrar o vencimento e pagamento (formato a combinar) |
173 1 Anônimo
174 9 matheusk
*Exemplo:*
175 1 Anônimo
176 9 matheusk
Supondo que o ERP possua duas tabelas/visões, uma para Contas a Receber e outra para Contas Recebidas. Então devera ser feito um UNION das duas tabelas a fim de facilitar a manutenção do SQL:
177 1 Anônimo
178 9 matheusk
*Observação:* Note que usamos uma função “to_date” que converte o valor String para o formato data, utilize uma função compatível com o seu banco. Caso seja necessário utilizar outro formato, favor entrar em contato com a IBTech para configuração.
179 1 Anônimo
180 1 Anônimo
<pre>
181 1 Anônimo
SELECT codRepres, sum(valorAReceber), sum(valorRecebido)
182 1 Anônimo
FROM (
183 1 Anônimo
		SELECT codRepres,
184 1 Anônimo
				valorTitulo as valorAReceber,
185 1 Anônimo
				0.0 as valorRecebido
186 1 Anônimo
		FROM ContasAReceber
187 1 Anônimo
		WHERE codempresa = :pCodEmpresa
188 1 Anônimo
		AND dataVecto >= to_date(:pDataInicio,'dd/mm/yyyy')
189 1 Anônimo
		AND dataVecto <=to_date(:pDataFim,'dd/mm/yyyy')
190 1 Anônimo
		UNION ALL
191 1 Anônimo
		SELECT codrepres,
192 1 Anônimo
				0.0 as valorAReceber,
193 1 Anônimo
				sum(valorTitulo) as valorRecebido
194 1 Anônimo
		FROM ContasRecebidas
195 1 Anônimo
		WHERE codempresa = :pCodEmpresa
196 1 Anônimo
		AND dataPagto >= to_date(:pDataInicio,'dd/mm/yyyy')
197 1 Anônimo
		AND dataPagto <=to_date(:pDataFim,'dd/mm/yyyy')
198 1 Anônimo
		AND dataVecto >= to_date(:pDataInicio,'dd/mm/yyyy')
199 1 Anônimo
		AND dataVecto <=to_date(:pDataFim,'dd/mm/yyyy')
200 1 Anônimo
)
201 1 Anônimo
GROUP BY codRepres
202 1 Anônimo
</pre>
203 18 Anônimo
204 18 Anônimo
h2. Títulos em Aberto
205 18 Anônimo
206 18 Anônimo
Listar títulos/duplicatas em aberto. Normalmente estes registros são provenientes do cadastro de contas a receber.
207 18 Anônimo
208 18 Anônimo
*Importante!* Este SQL possui parâmetros.
209 18 Anônimo
210 18 Anônimo
Layout da tabela/visão:
211 18 Anônimo
212 18 Anônimo
|_. Campo          |_. Tipo   |_. Precisão |_. Descrição |
213 19 Anônimo
| titulo *    | String | 255        | Identificação única para o título. Em caso de chave composta, sugerimos concatenar os campos usando algum separador |
214 19 Anônimo
| tituloFormatado | String | 255 | Identificação do título formatada de forma visual para o usuário |
215 18 Anônimo
| dataVencimento | Date     |         | Data de vencimento do título |
216 18 Anônimo
| dataVctoOriginal | Date     |         | Data de vencimento original do título |
217 18 Anônimo
| codPortador      | String   | 255        | Código do Portador |
218 18 Anônimo
| nomePortador      | String   | 255        | Nome do Portador |
219 18 Anônimo
| codCliente     | String   | 255        | Código do Cliente |
220 18 Anônimo
| emailCliente     | String   | 255        | E-mail do Cliente |
221 18 Anônimo
| codRepres     | String   | 255        | Código do Representante |
222 18 Anônimo
| valorTitulo       | Double   |            | Valor do Título |
223 18 Anônimo
224 18 Anônimo
Lista de Parâmetros:
225 18 Anônimo
226 18 Anônimo
_Formato sugerido de data: dd/mm/yyyy (31/12/2013)_
227 18 Anônimo
228 18 Anônimo
|_. Parâmetro      |_. Tipo   |_. Precisão |_. Descrição |
229 18 Anônimo
| :pCodEmpresa     | String/Integer   | 10         | (opcional) Código da empresa no ERP |
230 18 Anônimo
| :pDataInicio     | String   | 10         | Data inicial para filtrar o vencimento (formato a combinar) |
231 18 Anônimo
| :pDataFim        | String   | 10         | Data final para filtrar o vencimento (formato a combinar) |
232 18 Anônimo
233 18 Anônimo
O SQL deve listar somente títulos em aberto.