Nem de propósito, comentei o teu post há umas semanas e agora surgiu-me uma solução muito semelhante para desenvolver.
Concretamente, também vamos desenvolver uma solução que permita sincronizar dados entre o PHC e uma aplicação web.
Basicamente os requisitos são:
- importar (sincronizar) novos clientes e encomendas do website para o phc
- exportar produtos / sincronizar stocks do phc para o website.
Do lado do site (em asp.net), provavelmente iremos optar por desenvolver um webservice, que recebe os pedidos enviados pela aplicação local e implementa esses pedidos na base de dados do site.
Os pedidos que a aplicação fará ao webservice, serão deste género:
- Enviar a ficha dos novos clientes que se registaram no site
- Enviar os dados das novas encomendas feitas no site
- Inserir / actualizar produtos na base de dados do site
Do lado do PHC, iremos desenvolver uma aplicação local que envia os pedidos ao webservice e faz as correspondentes actualizações na base de dados do PHC.
Senão estou em erro, o PHC Enterprise (topo de gama) tem uma framework de desenvolvimento que permite programar (em XBase) novas rotinas e funcionalidades. Neste caso seria preferível implementar rotinas de importação / exportação de dados em ficheiros xml, csv, etc.
O problema é que a versão do PHC para a qual vamos fazer a implementação, é muito provavelmente a versão corporate (que ao que sei, não tem essa framework de programação), o que obriga a que a aplicação local externa tenha de se ligar directamente à base de dados do PHC ( que eu preferia evitar).
Podes-me dizer para qual é versão do phc da tua solução?. E quais as dificuldades principais que encontraste? Suponho que a complexidade do esquema da base de dados do PHC e os nomes estranhos que as tabelas têm, tenha sido uma delas.
Viva,
Eu fiz o seguinte:
Desenvolvi uma interface em c# que faz o trabalho todo de verificar se existem novas entradas (encomendas , clientes ) no website acedendo directamente à base de dados do website e faz a mesma coisa em relação à base de dados do PHC.
Por exemplo, no PHC para verificar se tens novos produtos para fazer upload podes usar 2 campos da bd. Um deles é a data de actualização do produto e o outro é a data de inserção do produto. Através destes 2 campos podes sempre verificar se existem produtos para actualizar no site.
Já com as encomendas e clientes tens de usar variaveis que podes por exemplo guardar em ficheiros de texto de forma a saberes o que há para importar para um ou outro lado.
Eles vão facultar-te algum acesso a um PHC? Eu tou a desenvolver para a versão corporate e se te facultarem um acesso podes consultar o dicionário de dados que existe na própria aplicação da PHC. Está mt bem feita, tens as tabelas todas e todos os campos, a maior parte com descrição do que faz.
Eu penso que isto não dá para exportar mas se não te derem acesso diz-me que vejo o que posso fazer em relação a isso .
Depois tens de perceber mt bem onde tens de introduzir o quê. Portanto, o recomendável é teres um PHC corporate para experimentares à medida que desenvolves.
Qualquer coisa que te possa ajuda é só dizeres.
Cumprimentos,
Paulo
Os pedidos que a aplicação fará ao webservice, serão deste género:
- Enviar a ficha dos novos clientes que se registaram no site
- Enviar os dados das novas encomendas feitas no site
- Inserir / actualizar produtos na base de dados do site