Sistema integrado

Aqui é o lugar para bater papo e trocar idéias sobre os mais variados assuntos

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Sistema integrado

Mensagem por JoséQuintas »

Tem horas que o fácil fica difícil, e o difícil fica fácil, e tem horas que a gente não consegue pensar em algo diferente, mesmo que simples.

Vamos lá...
No meu sistema, vinculei quase tudo a pedidos.
Então tem lá no arquivo de notas fiscais, financeiro, etc. o número do pedido.
Isto é muito bom pra acompanhar a vida do pedido, desde a digitação até a liquidação, incluindo devoluções, etc.

Agora gostaria de vincular financeiro, bancário, e outras coisas do financeiro.
Por enquanto não consigo imaginar como isto poderia ser feito.
A idéia é ter toda a vida de alguma coisa vinculada, pra evitar erros do usuário.

Uma vez tentei imaginar um arquivo de controle, contendo todos os de/para do sistema.

Tipo um pedido, com nota fiscal emitida, em 3 pagamentos, paga a primeira parcela:

pedido 1, nota 1 -> nota fiscal 1, vinculada ao pedido 1
nota 1, financeiro 1 -> nota fiscal 1, vinculada ao lançamento do financeiro 1
nota 1, financeiro 2 -> idem financeiro 2
nota 1, financeiro 3 -> idem financeiro 3
banco 1, financeiro 1 -> lançamento no banco 1, ref lançamento no financeiro 1

ou até registrar tudo com número sequencial, como se fosse a contabilidade:

1 emissao de pedido: pedido 1
2. emissao de nota fiscal: pedido 1, nota fiscal 1, financeiro 1, financeiro 2, financeiro 3
3. recebimento: financeiro 1, banco 1

Existe alguma forma prática disso? Estou querendo demais, Seria melhor deixar tudo por conta do usuário?

Vou ter que trabalhar no SPED Fiscal, e não consigo imaginar como vincular financeiro com bancário e outros, ainda mais que por enquanto só consigo imaginar o vínculo de pedido que já uso, e o financeiro/banco não tem numeração sequencial de documento como o pedido.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

Sistema integrado

Mensagem por Poka »

José Quintas,

Não sei se ajuda, no meu sistema em todos os arquivos tenho um campo denominado controle, que seria.
AAMMDDHHMMSS999.
ano/mes/dia/hora/minuto/segundo/ e 3 números aleatórios.
e todo arquivo tenho um indice desse campo.
Quando quiser saber todo o relacionamento do pedido, é só abrir os arquivos nessa ordem e associar com esse número.
Por exemplo:
quando grava o pedido, grava esse controle. fez a nota grava, no estoque também e por aí vai.
Alem de de ter o controle tem a data e a hora já do inicio do movimento.
Não uso para esse fim, mas a sua ideía não é ruim não.

Poka
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Sistema integrado

Mensagem por JoséQuintas »

Ajudou muito a clarear a idéia.

Hoje já uso:
- Cada registro tem informação de inclusão e alteração, com usuário, data, hora, módulo, serial hd
- Um arquivo de log geral, com mesmas informações mais arquivo, chave, texto

Os campos arquivo+chave me ajudam a mostrar um histórico, por exemplo, de um código de cliente

Acrescentar a identificação do lançamento é o que faltava.
Estava pensando em identificar com documento ou algo assim, pensando em termos fiscais.
Sua idéia é ótima, e pelo jeito nem pensou por esse ângulo: identificar como lançamento no sistema, o que não depende de nenhum documento físico ou fiscal. Desse jeito, a numeração serve pra tudo.

Vou clarear mais a idéia, antes de colocar em prática.
Pena que é DBF, e qualquer imprevisto pode atrapalhar a sequencia numérica....
Valeu.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
billy1943
Usuário Nível 4
Usuário Nível 4
Mensagens: 570
Registrado em: 12 Mai 2009 17:33
Localização: Bauru-SP

Sistema integrado

Mensagem por billy1943 »

Oi, José Quintas !

Deixe eu colocar a minha colher torta no meio desse angu.

Como tive muita vivência contábil, conheci empresas e sistemas de todo tipo (industriais, comerciais, prestadoras de serviço, e até factoring.
Em todas elas, quando implantei meus sistemas o sistema contábil sempre foi o primordial, tudo que se fazia no faturamento, contratatação, acabava gerando lançamentos na
contabilidade, em quatro arquivos principais (caixa/Bancos, clientes, fornecedores e extra-caixa (imobilizado, patrimonio, receitas, e despesas, ou seja, contas que não se enquadram nos
três primeiros grupos.

Logicamente os pedidos somente entravam na contabilidade quando da emissão da NF, NFe., contrato, etc, e a partir daí, todos os recebimentos, pagamentos daqueles documentos,
automaticamente entravam na contabilidade.

Com isso, dispensamos os famosos sistemas estanques de receber e pagar, controlando num único sistema tudo o que a empresa fazia.

Logicamente dá um trabalho maior do que fosse um sistema contábil como os escritórios utilizam, porque este são para satisfazer primeiramente o Fisco e depois o cliente.

Assim, minha contabilidade sempre interna nos ERP desenvolvidos vêm mantendo seu formato há muitos anos, pois o controle financeiro é total, e está criando automaticamente tudo
o que o sistema principal, por exemplo, de estoque gera (compras, vendas, recebimentos, cheques, cartões, etc.)

Para dizer a verdade já vi vários sistemas modulares na internet, mas integrado igual ao meu é bem difícil encontrar, e, se achar, prepare o lombo para a pancada...
O bom do computador é que ele resolve os problemas, sem nunca levantar nenhum.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Sistema integrado

Mensagem por JoséQuintas »

A contabilidade oficial é a parte mais simples de todas.
Acho que no seu sistema falta muito pouco pra isso.
De uma forma geral, a contabilidade tem as contas de entrada/saída, histórico e valor.
Provavelmente é isso que esteja usando.

Talvez a única diferença seja que na contabilidade oficial não entra o "por fora", tudo tem que ter algum documento oficialmente aceito.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Sistema integrado

Mensagem por alxsts »

Olá!

Um modo fácil de fazer esta identificação única de cada registro são os campos auto increment. Cada registro tem seu id e se pode associar as tabelas através destes ids. É basicamente o que já foi dito acima mas, se você colocar esses ids como chaves primárias de cada tabela e estrangeiras nos relacionamentos entre tabelas, o acesso fica super rápido. A migração posterior para bancos de dados relacionais também é facilitada.

Campos auto increment e (outros tipos novos) estão disponíveis no Harbour com DBF, como mostrado pelo Itamar M. Lins Jr. no tópico indexar campo datatime.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Sistema integrado

Mensagem por JoséQuintas »

É que o relacionamento pode ser múltiplo.
Numa fatura, por exemplo, pode haver desconto, pagamento parcial, etc. e cada pagamento pode estar vinculado a lançamento em caixa, banco, lançamento contábil, etc.
O financeiro vai virar dois arquivos, um com o documento e outro com as variações, que por sua vez podem estar vinculados a lançamentos de caixa, banco, contábil, etc., além do próprio documento principal vinculado a outras coisas.
É desse conjunto que estou falando.
Então haveria uma numeração de lançamentos no sistema.
A baixa seria um desses lançamentos. Então esse número é usado no financeiro, banco, caixa, contábil, etc. pra identificar tudo que aquele lançamento causou em todo o sistema.
Também no lançamento do bancário, além desse número que gera o lançamento do bancário, terá que existir o número que identifica a compensação no banco.
É algo pra pensar muito, porque vai ser difícil mudar depois.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Sistema integrado

Mensagem por alxsts »

Olá!

O conceito disto está em uma matéria extensa chamada "Modelagem de dados". O segredo é dividir as entidades (tabelas) "cada uma com seu assunto" e ligar tudo.
[]´s
Alexandre Santos (AlxSts)
Responder