Integração do Cobol SIGGestão para SigERP.
Divisão das informações em respectivos arquivos para importação:
As estruturas do SigGestão e SigERP são bastante diferentes. Se o log for do tipo R ou D, será necessário atualizar as informações dos clientes, caso elas sejam válidas. Toda alteração no cadastro de um cliente no gestão será necessária refazer a mesma alteração no ERP.
O integra.py deve buscar os arquivos na ordem de data, e, o CRON importar também nesta ordem.
Na importação é tratado para carregar o cliente, cuja data de fundação da empresa para cliente pessoa jurídica não é obrigatória, como no ERP. É consistido para que o cliente que não tenha data de fundação do Gestão, tenha o mesmo cadastro no ERP. Desta forma, não haverá o log de erro: CRE01 - Data de fundação da empresa inválida: 0000-00-00.
Serão realizadas as importações total do CRE01 e CRE02.
Na importação o endereço de cobrança será cadastrado no SIGERP apenas se for diferente do endereço normal do cliente. Para um cliente que tenha os dois endereços cadastrados distintos no SIGGestão, ambos serão importados.
Se ao importar o cadastro de pessoas FIS01 e CRE01, o cadastro do endereço de cobrança for para o cadastro de NF, ajustar para que o cadastro da NF seja o cadastro normal do cliente/fornecedor. Desta forma, deve ser executado o sql para correção do endereco nf: "update adm_pessoa ap set endereco_nf_id = ape.id from adm_pessoa_endereco ape inner join adm_endereco_tipo tipo on tipo.id = ape.endereco_tipo_id where ap.id = ape.pessoa_id and tipo.name = 'Normal'".
Não haverá importação total do movimento CRE03, funcionará no SIGERP a partir do momento em que estiver funcionando a integração. Os títulos baixados por completo deverão zerar o saldo.
Ao realizar a baixa ou cancelamento de um título no SIGGestão, o SIGERP somente importará esta alteração(CRE03) e realizará o lançamento.
Para a integração dos itens, EST01, caso algum produto não tenha todas as categorias cadastradas, realizar a integração do item utilizando até o nível cadastrado para fins de categoria. Para preenchimento da aliquota de venda para os itens ST que possuem MVA, é necessário mudar a operação (lelg_operacao) para 'R' no EST01. Desta forma, é realizada a regravação dos dados do item com a alíquota. A alíquota utilizada para o cadastro encontra-se na tabela fiscal_tributacao. Há tratamento no EST01 para os campos tipo_item e Codigo Produto anp, onde este último considera o código vindo do Gestão, tanto para o codigo quanto para o name. Caso ele venha 0000000 do Gestão, o campo Código na ANP fica vazio. O campo unidade_peso virá por default como 'N' - "Não se Aplica" no campo Peso Unidade.
Existe tratamento, em EST2ope.cob, informações exportadas são: est62-codigo-kit '*|*' est62-cod-peca '*|*' est62-grade '*|*' est62-preco-venda-total '*|*', para evitar que produto que compoẽ o kit não seja encontrado, na exportação dos itens do kit. Desta forma, se o item vier do Gestão como um kit, e, possuir a opção "p.Venda = soma dos itens", não haverá problema no ERP para cadastro do preço de venda do item.
No EST03 foi criado tratamento para que nas notas fiscais de entrada própria, o valor unitário dos itens fique correto. Foi implementado também para que o número do documento viesse para a consulta de movimento do estoque. Quando o produto for Substituição de ICMS, o CFOP utilizado será o 5403, caso contrário, em qualquer outro caso será usado o CFOP 5102. Neste processo, é verificado se o movimento do estoque já existe, caso não exista, é inserido o registro, caso contrário não realiza nenhum procedimento. È permitida a regravação dos dados, inclusão do registro com W mais de uma vez.
Para que o movimento na consulta do estoque mostre o valor dos itens já importados através de cupom, é necessário executar o sql ---- update estoque_movimento_itens item set vr_total_item_rateado = item.vr_total_item from estoque_movimento_capa capa where capa.origem = 'C' and capa.id = item.capa_id; Na importação do EST03, o campo vr_total_item_rateado recebe o campo vr_total_item.
Para a importação do EST03 o campo natureza_id é preenchido para evitar que os movimentos gerados através da integração, não apareçam no relatório de Totais por Categoria.
No EST03 para evitar erro na operação excluir, os cupons devem ser gravados no sistema automaticamente com os respectivos movimentos do tipo de operação venda importada para legado controle. Desta forma, ao realizar a exclusão, a venda será localizada.
Nesta integração do EST03, se o movimento for de cupom e a quantidade for zero (=0), o log é excluído da legado_logs. Se não houver cliente/fornecedor informado no arquivo, para movimento de cupom e em venda de cupons, não são campos obrigatórios, código do cliente ou fornecedor = 00000, não ocorre a verificação do cadastro dos mesmos na legado_controle. Este controle é feito somente quando o código do campo mencionado for diferente do valor citado.
Na integração do movimento de estoque (EST03), é enviado para o ERP a quantidade e o local movimentado do item. A embalagem gravada no movimento_estoque_itens, é a que está cadastrada no local informado para o item informado, e, não deve ser a de menor quantidade na embalagem.
O tipo de movimento não é considerado na validação de importação do este03.
É considerado para o valor unitário na Nota Fiscal, o valor unitário da embalagem, portanto, o valor unitário do SIGGestão, é multiplicado pela quantidade da embalagem ao gerar o valor unitário para a Nota Fiscal no SIGERP.
Na importação, se o produto não for de balança no SIGGestão, o campo validade para aba Complemento em Estoque/Cadastro/Produtos e Serviços/Produtos não será considerado na carga. O campo validade (EST05) no SIGGestão, é usado somente quando o produto é de balança. Se o produto for inserido no ERP através de um arquivo do tipo R, ele insere 'N' no campo peso_unidade, e posteriormente a grade insere a real informação do campo. Este arquivo executa o método write após a fazer um insert ou update no Est05.
No arquivo EST10, deve ser tratado para que o Lastro do item seja lançado em estllc_lastro, para compor o cadastro do produto no ERP. Para atualizar o campo embalagem_expedicao_id é verificado o local do parâmetro, desta forma, fica integrada a informação da embalagem do item/embalagem do local e embalagem de expedição no SIGGestão e SIGERP e WMS.
Para que a importação das duplicatas CRE02, esteja com as informações de vendedor e vendedor externo, na exportação total, o EST11 (VENDEDORES) deve ser importado antes do CRE02. Pois, estes dois campos são utilizados e de grande importância para a comissão de vendedores por recebimento. Há tratamento também para que, se o vendedor nao for um funcionário, será cadastrado com esta função.
Ao importar o arquivo EST14, devem ser conferidas as tributações no cadastro dos itens.
A correlação de empresas é considerada na importação do cadastro de compradores EST16.
Para integração de concorrentes e pesquisa de concorrentes entre o SIGGestão e SIGERP, importar EST30 - Cadastro de Concorrentes, com layout código do concorrente(numérico) e nome do concorrente. Além do EST29 - Itens dos Concorrentes, com layout código do concorrente(numérico), código do item, grade, data da coleta de preço e preço (as duas últimas casas são decimais).
No arquivo EST53, o sistema atualiza os valores na operação r, após atualização do saldo pela contagem para inventário.
Para o ERP importar o EST55 é necessário ter importado o EST01, o item deve estar cadastrado. Na geração do arquivo de exportação, será enviado o id do res_user que alterou com tamanho de 10 bytes. Na importação EST55, caso o último campo não seja zero, informar o número como o res-user que criou o preço. Na importação do preço de venda(estoque_preco_venda), caso o preço já exista(seja igual COBOL = ERP), é atualizado apenas o create_date, data e hora de acordo com a data corrente.
Para o custo, o tratamento no arquivo é similar com a seguinte alteração, na posição 1 a 2 use PC ao invés de PV. Na posição 30 use U para último custo, C p/custo corrigido, R para custo de reposição e M para custo médio. O arquivo gerado pode ter várias linhas com PV e PCs. O estau003 está preparado para estas funcionalidades.
No arquivo EST59 é contemplado o código do fornecedor, desta forma, o número do fabricante é cadastrado no para item no ERP.
Ao realizar a inclusão de um item KIT no SigGestão, independente se necessita montagem ou não, o EST62 leva a inclusão para o cadastro de Kits.
Para local de cobrança será importado o sis09. Para natureza (CRE05) 3 campos são exportados, o código da natureza, a descrição e S ou N, se entra ou não no fluxo. Será considerado na importação, o critério de pesquisa da natureza pelo código, não encontrando, pesquisa pelo nome.
Para carga dos representantes, foi criada uma exportação de representantes, para que no item sejam identificados. Em CPG2ope, as informações exportadas são: cpg11-fornecedor '*|*' cpg11-representante '*|*' cpg11-nome '*|*' cpg11-email '*|*' cpg11-fone '*|*' cpg11-fax '*|*' cpg11-celular '*|*' cpg11-tempo-atendimento '*|*'.
O arquivo CPG06 não será importado totalmente. Será importado o CPG01 (fornecedores) e CPG02 (duplicatas). A medida que as duplicatas forem baixadas ou canceladas no gestão, serão importados os CPG06 desses movimentos, ou seja, os movimentos antigos não serão importados.
Para as notas fiscais de entrada própria não são importadas as formas de pagamento, pois, não haverá implementação para a importação das formas de pagamento.
Para cadastrar a natureza, o tipo de movimentação se entrada ou saída, são verificados nos arquivos FIS01 e FIS02, para inserção na descrição.
Na importação do FIS02, caso a NF não tenha cliente informado, o sistema importa da mesma forma. Esta ocorrễncia se dá quando há uma nota fiscal de troca, onde não é obrigatória a informação do cliente. O endereço utilizado para verificar o endereço da nota é o endereço que se encontra no campo Endereço para NF, no cadastro da pessoa na aba Endereços. Ao cadastrar uma nova pessoa armazena o endereço normal da pessoa.
O arquivo GEI01 realiza a importação da moeda, caso não exista, do contrário é atualizada.
Para importação dos CFOPs do gestão, após a importação, deve ser feito o ajuste manualmente. No gestão nao existe um campo para definir o tipo do produto ou serviço no cfop. No ERP este campo tem as seguintes opções:
O Integra não se conecta no OpenERP, está localizado na pasta Legado/Integração. Desta forma, não mostra o traceback(mensagens na tela), caso não consiga conexão com o banco de dados, gera arquivo na pasta logs.
Para evitar que na integração os arquivos sejam gerados na Legado com logs de SQL - Rollback, quando houver erro de TransactionRollbackError o arquivo nao será marcado com erro.
O serviço do Integra ficará ativo e não será chamado a cada operação do cobol, evitando duplicidade de registros.
Haverá integração do fiscal do SIGGestão para SIGERP.
Para as locações e embalagens, os produtos importados para o ERP, vêm com as unidades com a opção Fração marcada. Indicando que os produtos da unidade podem ser movimentados com unidade fracionária.
Legado_controle foi ajustada para utilizar a empresa_legado de acordo com a relação de empresas do ERP. Por exemplo: Empresa do Legado nº 1 utiliza as empresas 1 e 2 no ERP. Empresa do Legado nº 10 utiliza a empresa 10 no ERP. A empresa 10 do ERP busca o cadastro da empresa 1. Logo, ao salvar a legado_ controle para a empresa 10, é trocado para a 1, pois, a empresa do legado referencia a empresa do ERP de número 1. Esta correlação de quais tabelas utilizam a legado_controle está arquivada em tabela_legado_erp.txt dentro da pasta legado/integracao.
Para que haja integração dos DAV's entre o SIGGestão e o SIGERP, os DAV's do SIGGestão são exportados para o pedido do SIGERP.
Na integração de saldo dos produtos, é verificado se a embalagem do item está ativa, assim, quando importa um saldo para uma embalagem inativa, o mesmo fica perdido no sistema. O SigGestão ao exportar saldo verifica se a embalagem está ativa, se não estiver cria uma nova embalagem e aponta o estoque_local_locação para a mesma.
Na integração é tratado de acordo com as informações contidas no SIGGestão, para as situações para o SIGERP, de acordo com as regras da correlação CST. Antes de integrar os itens da empresa que é simples nacional, é necessário que em Administração / Cadastros / Dados de pessoas / Pessoas, a pessoa que é referenciada como "Empresa" esteja com o campo Regime tributário = Simples nacional. Caso esta informação não esteja cadastrada para a empresa que é simples, o imposto ICMS não é cadastrado no item. Se houver tributações com encargo Cofins apontadas para o CSOSN 202, é necessário ajustar na base, antes da integração.
ven13
ven13-controle '*|*' Numero do pedido ven13-data '*|*' ven13-cliente '*|*' ven13-situacao '*|*' A=a faturar, C=Cancelado, F=Faturado ven13-vendedor '*|*' ven13-vendedor-externo '*|*' ven13-codigo-fiscal '*|*' ven13-natureza '*|*' ven13-desconto '*|*' ven13-total '*|*' ven13-observacao '*|*' ven13-desp-acessorias '*|*' ven13-transportador '*|*' ven13-transp-placa '*|*' ven13-frete-1-2 '*|*' 1=emitente, 2=destinatario ven13-valor-frete '*|*'
Na capa do pedido quando na situação em que o pedido foi faturado no ERP, se vier algum ven13 alterando o estado deste dav, o mesmo não é alterado e permanece com o erro. Desta forma, há a possibilidade de identificar se vem do SIGGestão algum log de dav, após o dav faturado.
ven14
ven14-controle '*|*' ven14-sequencia '*|*' ven14-seq-kit '*|*' ven14-cod-peca '*|*' ven14-grade '*|*' ven14-local '*|*' ven14-quantidade '*|*' ven14-cod-tribut '*|*' ven14-tipo-tributacao '*|*' T=Tributado, U=Substituicao, I=Isentos, O=Outros, D=diferido ven14-cfop '*|*' ven14-valor-liquido '*|*' ven14-desconto '*|*' ven14-despesas-acessorias '*|*' ven14-frete '*|*'
Na importação de itens pedido de venda do Gestão para o OpenERP o método "write" é efetuado ao final do processo, onde os campos de função que armazenam informações na base de dados possam ser executados. Os campos são: pedite_numero_pedido, pedite_cliente, pedite_data_emissao e pedite_valor_total. Se alguem fizer uma alteração no dav no gestão, a hora que o ERP importa a alteração ele muda a data do Pedido. Mantém a data do DAV mesmo se houver alteração no ERP.
ven18
ven18-controle '*|*' ven18-sequencia '*|*' ven18-finalizadora '*|*' ven18-avista-aprazo '*|*' V= avista, P=a prazo S=sem condicoes ven18-tipo-prazo '*|*' ven18-prazo(1) '*|*' ven18-parcela(1) '*|*' ven18-prazo(2) '*|*' ven18-parcela(2) '*|*' ven18-prazo(3) '*|*' ven18-parcela(3) '*|*' ven18-prazo(4) '*|*' ven18-parcela(4) '*|*' ven18-prazo(5) '*|*' ven18-parcela(5) '*|*' ven18-prazo(6) '*|*' ven18-parcela(6) '*|*' ven18-prazo(7) '*|*' ven18-parcela(7) '*|*' ven18-prazo(8) '*|*' ven18-parcela(8) '*|*' ven18-prazo(9) '*|*' ven18-parcela(9) '*|*' ven18-prazo(10) '*|*' ven18-parcela(10) '*|*' ven18-prazo(11) '*|*' ven18-parcela(11) '*|*' ven18-prazo(12) '*|*' ven18-parcela(12) '*|*'
-> Se for a Receber e negativo (-) => a Pagar (+)
-> Se for a Pagar e negativo (-) => a Receber (+)
Configurações -> Empresas -> Logs -> Logs de Integração
Controle dos logs de integração.
Após realizar a integração, os logs podem ser trabalhados no SIGERP. O integra.py busca os logs pela ordem de criação. A tela é aberta na visualização na forma de treeview, relacionando as mesmas informações da capa no form, tais como, Empresa no legado, Conteúdo, Data, Horário, Arquivo do legado, Operação alternando entre 'Incluir', 'Excluir' e 'Regravar' e Erro, exceto Mensagem de Erro, que é exibida no rodapé do form.
Existe o botão "Habilitar Todos" que ao clicar informa que a opção habilita a importação de todos os registros com o arquivo de legado semelhante a este registro. Pede confirmação se deseja continuar.
No notebook são apresentadas as abas de Conteúdo do Registro e Conteúdo Detalhado.
Na aba Conteúdo Detalhado contempla os botões "Visualizar Detalhe", "Salvar Alteração" (que sobreescreve o conteúdo original, quando confirmado) e "Limpar Detalhe". Ao clicar em Visualizar Detalhe, são exibidos na treeview a Posição, Valor e Campo.
Para os registros que apresentam erro, o flag vem setado.
Permite alterar a coluna valor na treeview com a posição e campo identificado.
Configurações -> Empresas -> Logs -> Contador de importação
Controla o número de tentativas para a importação.
Cadastrar o módulo que deve ficar em espera, caso ocorra erro, além do número de tentativas de importação do log.
No caso de erro no log de integração(Administração / Logs / Logs de integração) do módulo est17 o sistema irá tentar reimportar este arquivo por 10 vezes.
Se o log não estiver explícito no menu Administração / Logs / Contador de importação o sistema tenta importar este arquivo somente uma vez. Este contador deve ser usado com moderação, e somente em módulos em que haja necessidade.