Jump to content

Existe alguma documentação de desenvolvimento/personalização PHC para clientes


Knitter
Go to solution Solved by M6,

Recommended Posts

Boa noite,

O grupo empresarial para o qual trabalho é cliente PHC há vários anos mas tem usado apenas a componente de faturação/financeira e processamento salarial; atualmente numa das empresas do grupo estamos a alterar o ERP desenvolvido internamente por PHC (com desenvolvimento pelo fornecedor/parceiro PHC). No entanto o grupo tem departamento de desenvolvimento de software e nem todas as empresas vão usar PHC da mesma forma, além de existirem requisitos de desenvolvimento para os quais o parceiro teria dificuldade em responder (sem colocar um programador a tempo inteiro no nosso departamento).

Posto isto, como cliente, há alguma forma de ter acesso a informação técnica de funcionamento do PHC, e das ferramentas de desenvolvimento que este possa ter, e ser autónomo na sua personalização? Tenho poucos conhecimentos no PHC, apenas fiz correções a código de teclas de operador que o parceiro anterior desenvolveu e integrações foi sempre com indicação de que tabelas tinha e preencher.

Preciso fazer coisas relativamente simples no início, ex., quero criar um serviço para poder aceder aos dados para consulta sem que as aplicações tenham de aceder à BD; mas no futuro pretendo criar alguns registos (dossier interno, eventualmente algum form personalizado).

Temos PHC CS 2024 (última versão).

Tenho a esperança (pouca confesso) que a situação seja diferente do que os tópicos mais antigos do fórum indicam e que possa haver alguma coisa disponível ao cliente, afinal somos nós que pagamos as licenças e não os parceiros.

Obrigado.

Link to comment
Share on other sites

A framework do PHC está no software PHC, o cliente tem acesso a ela.
A linguagem da framework é Xbase + FoxPRO,

Qual a versão do PHC, Corporate, Advanced ou Enterprise , quanto maior for a versão mais funcionalidades existem na framework
https://phcsoftware.com/pt/phc-cs/phc-cs-planos/
             de facto formação certificada só para parceiros,
              mas podes aprender e programar, a framework está disponivel para o cliente final.

Existem varios motivos para que a formação seja para os parceiros. Os tecnicos/consultores de software todos os anos tem formação e exames obrigatorios em cada Modulo/Gama de software caso contrario perdem a certificação. Não é o Parceiro/Empresa que é certificado mas sim os tecnicos, a empresa tem um grau de competencias em função das certificações dos tecnicos.

o que precisas

          Saber programar em Xbase, Forpro, Tsql e Sql
          Conhecer a base de dados.
          Conhecer o que se pode mexer e o que nao se pode.
          Conhecer a framework, o que cada opção faz e quais as mais indicadas para!!
         

Edited by pc.cesar

César Faria

Link to comment
Share on other sites

Eu sei que a framework está lá, não me deixa confortável é não ter acesso a documentação da mesma. Como dizes, é necessário saber o que se pode mexer e o que não se pode, e isso não está disponível, numa base de dados de mais de 5000 tabelas não é fácil saber o que mexer e o que não mexer 🙂.

Compreendo a formação dos técnicos, as certificações, tudo isso é modelo de negócio e consigo perceber, mas não posso concordar nem deixar de ter a opinião de que sem o parceiro estamos entalados. Trabalhei algum tempo com SAP B1, o cliente tem a documentação toda, se tem a licença tem a documentação e as capacidades de integração que licenciou.

Tenho uma tecla de operador programada com um acesso a uma base de dados externa ao MS SQL Server, é uma base de dados PostgreSQL, foi um filme, tive de ser eu a fazer o trabalho, o parceiro cobrou na mesma e eu fiz a ligação às cegas; pedi para trabalhar com webservices porque não quero que o PHC aceda diretamente à BD e a resposta do parceiro é que o PHC não trabalha bem com webservices.... enfim são duas situações que me deixariam bem mais confortável se a documentação estivesse disponível.

De qualquer modo, já sou eu a queixar-me do PHC :), e o parceiro já foi trocado, pode ser que com o novo se tenha mais sorte 🙂

Edited by Knitter
Link to comment
Share on other sites

  • 1 month later...

O phc nao tem webservices

O PHC CS WEB tem ja algumas mas ainda muito poucas

A ligação entre base de dados é relativamente simples mas nao depende apenas do PHC
 a ligação pode ser efectuada pela framework PHC e desenvolver todo o codigo, como pode ser feita pelo SQLserver,

Provavelmente a dificuldade que tens em obter a documentação do Tecnica do PHC, foi a mesma que o parceiro teve em obter a documentação para ligar com o postgree se nao conhecer tudo é um filme.


A questão de trabalhar por api, é identica a trabalhar por BD, depende de como  API estive criada

 

se precicaser de ajuda diz

César Faria

Link to comment
Share on other sites

Bom dia,

Acho que estamos ligeiramente desencontrados 🙂 

Eu não queria que o PHC tivesse webservices, eu queria que durante e execução do código de tecla de operador, fosse feito um acesso a uma API que eu ia desenvolver em vez de ser feito o acesso à base de dados (neste caso a um stored procedure). Não há nada no PHC que faça chamadas a webservices? É fazer um pedido GET/POST por HTTP.

Não consigo imaginar dificuldade no acesso a documentação do PostgreSQL, a documentação oficial é pública, livre, e é só mais um sistema de gestão de bases de dados relacionais. Tem drivers como todos os outros, aceita ligações por ODBC como a maioria, etc. Neste caso particular acabei por criar um Linked Server no MS SQL para não me chatear mais, assim já é "SQL" para quem estava a fazer a integração/código no PHC. É a melhor forma? Há outras suportadas pelo PHC? Não sei, não tenho um manual do PHC para confirmar, até pode ser a forma certa mas decidi pelo Linked Server por não haver mais informação.

O que gostava de ter acesso por parte da PHC ( e posso estar a ser afetado por ter apenas experiência com Oracle e com SAP B1 e não saber nada de PHC):

  • Lista técnica de produtos para perceber que soluções de integração existe (se existem), esquemas de licenciamento, etc. (eg. para integração com SAP tenho DI API e B1 Integration Framework, e tenho acesso a toda a documentação para decidir);
  • Documentação de todas as tabelas com, pelo menos, objeto a que a tabela corresponde, tipos de dados e regras que não estejam no SQL (regras de negócio não expressas pela estrutura das tabelas)
  • Documentação da API de programação existente (funções da framework, etc.)
  • Knowledge base com problemas e soluções comuns

Exemplos do que tenho que fazer:

  • quero criar uma encomenda a fornecedor, depois quero receber a encomenda a fornecedor (parcial ou total) a partir de um sistema externo, o utilizador não tem de abrir o PHC nem de o ter instalado (está relacionado com um processo produtivo que é gerido por sistema externo).
    • devo fazer por insert/update nas tabelas (não são documentos que tenham de ser assinados)?, ou
    • existem bibliotecas do PHC que possa usar (ex. dll para .Net) que me permita fazer uma camada de abstração onde as  bibliotecas implementam as regras todas (eu só ter de dar os dados e a biblioteca criar o que tem de criar em todas as tabelas envolvidas)?, ou
    • existe algum framework de integração para este caso de uso?
  • preciso aceder aos dados de trabalhadores no módulo de RH, quero inserir trabalhadores, atualizar e obter dados, eventualmente marcar como inativos. Tenho as mesmas questões do caso acima.

No fundo, queria acesso a documentação que me permitisse implementar os casos de uso acima e decidir, com base no que existe no PHC, como melhor os implementar de acordo com a  minha realidade. A resposta oficial da PHC é que não posso fazer nada disto sem o parceiro e só o parceiro tem acesso à documentação e só ele pode fazer estas implementações.

O que  é ótimo para quem não sabe ou não quer fazer, mas não para quem tem a capacidade técnica e não quer depender de uma entidade externa.

Bem, descrever mais que isto já entra na parte de consultoria e não pretendo consultoria à borla 😄

 

Link to comment
Share on other sites

Boas
O PHC não tem API
O PHC CSWEB tambem nao tem uma api documentada, mas tem algunas funcionalidades identicas á API

---
Podes fazer tudo sem o parceiro, a unica coisa que precisas é ter acesso ao menu "supervisor" e dentro deste tem lá uma opção "Framework PHC" e dentro desse tens 

  • valores por defeito,
  • teclas
  • regras
  • eventos
  • Ecras de utilizador
    , tem mais opções mas estas são as primcipais

 

A linguagem do PHC, é FOXPRO + XBASE

a partir do phc pode invocar API de terceiros, 
para enviar dados para o PHC como não existe api, tens de enviar para a BD ou no PHC importar os dados

  • Vote 1

César Faria

Link to comment
Share on other sites

Boa tarde,

Supondo que quero eu criar uma Encomenda  Fornecedor (dossier interno), faço inserção dos dados diretamente na tabela (ou tabelas) correspondentes? Se sim, como é que sei que campos são necessários preencher e com que regras?

Eu tenho acesso ao menu de supervisor e tenho explorador algumas dessas alterações mas ainda não explorei o suficiente do sistema para perceber como posso inserir dados. Obter posso sempre fazer consultadas à BD mas criar ainda não sei se é só insert na BD ou se tenho métodos, ou stored procedures, para usar e não os vejo nesse menu. Uma das coisas que quero experimentar é começar eu a desenvolver um serviço (Java/Spring) que receba pedidos com dados em JSON ou XML e depois os converta para objetos do PHC (apenas nos dossiers internos).

Obrigado.

Link to comment
Share on other sites

  • 3 weeks later...

@Knitter Supondo que quero eu criar uma Encomenda  Fornecedor (dossier interno), faço inserção dos dados diretamente na tabela (ou tabelas) correspondentes? Se sim, como é que sei que campos são necessários preencher e com que regras? 

faz pelo mais básico. faz um backup da BD. coloca no SQL com outro nome qq. configura o phc para essa bd. Ligas o profiler. Fazes uma encomenda a fornecedor e ves logo onde escreve e o que.

NOTA: toda a informação de tabelas e campos está em Supervisor - Tratamento de BD - Dicionário de dados ou em alternativa no ecra que queres saber, por exemplo dossiers internos, clicas botao lado direito do rato e selecionas Dicionarop de dados. Desta forma consegues saber todos as tabelas, campos e relações entre elas.

Link to comment
Share on other sites

insert into bo (bostamp, ndos, nmdos, dataobra, obrano, no, nome)

bostamp é o id da bo nunca se pode repetir 'importa+left(newid()+ 6)  + left(newid()+ 6)  + left(newid()+ 6) 
bo2stamp = bostamp
bo3stamp = bostamp
insert into bo2 (bo2stamp) 
insert into bo3 (bo3stamp) 

insert into bi (bostamp, bistamp, ndos, nmdos, ref, design, qtt, edebito, desconto, desc2, desc3,ettdeb, stipo)
bistamp é o id da bi nunca se pode repetir
insert into bi2 (bi2stamp)
bi2stamp = bistamp
esite mais campos obridatorio

César Faria

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.