O HumanHRM tem novo domínio... por favor consulte em http://www.humanhrm.com/
Este blog encerra a partir de hoje neste domínio e passa a estar disponível em http://blog.humanhrm.com/
Poderá também consultar os fórums em http://forum.humanhrm.com/
domingo, 9 de setembro de 2007
Novo domínio: www.humanhrm.com
Postado por Rui Ribeiro às 00:40 1 comentários
sexta-feira, 31 de agosto de 2007
Versão 1.0.708.3001
Encontra-se disponível, para testes, através do sistema de actualizações automáticas, a versão 1.0.708.3001.
NB: É necessário à actualização do esquema da base de dados para a versão 1.0.0708.3001, instalando o script hrm_db_schema_v1.0.0708.3001.sql constante no processo de actualização.
Novidades da versão 1.0.708.3001:
- Alteração do Menu de Navegação do formulário principal (Substituição do Ribbon por Menustrip, por motivos de performance)
- Desenvolvimento do seguinte objectos da Área Pedagógica:
- Bolsa de Instalações
- Alteração da aparência dos formulários com a inclusão de GradientForms
- Agrupamento das diversas classes nos seguintes namespaces:
- HRM.Components.Business.dll
- HRM.Components.Data.dll
- HRM.Components.Security.dll
- HRM.Components.Windows.Forms.dll
- Ajuda nos seguintes formulários:
- Estado de Equipamento
- Situação do Equipamento
- Instalações
- Tipos de Instalações
- Situação de Instalações
- Adicionada a possibilidade de gravar um registo sem sair do respectivo formulário
- Adicionada nova licença para Demonstração, válido até 30-09-2007
- Correcções de erros detectados nas versões anteriores
- Novo esquema da base de dados: hrm_db_schema_v1.0.0708.3001.sql
Postado por Rui Ribeiro às 23:52 2 comentários
Marcadores: HRM
quinta-feira, 30 de agosto de 2007
Krypton Toolkit 2.6.0
Está disponível para download, o fantástico Krypton Toolkit da ComponentFactory.
É grátis e inclui toda a documentação e exemplos com código fonte.
Novidades da versão:
- KryptonCheckBox control added
- KryptonRadioButton control added
- KryptonDataGridView control added
- ToolTips added for button specs
http://www.componentfactory.com/downloads/KryptonToolkit260.zip
Postado por Rui Ribeiro às 21:14 0 comentários
Marcadores: .net
quarta-feira, 29 de agosto de 2007
Definição do objecto PEDInstalacao - Parte II
Na revisão do objecto PEDInstalacao foi necessário providenciar uma série de alterações de forma a permitir que as instalações possam herdar o estado das situaçoes que lhe forem atribuídas.
Desta forma, foram alteradas as seguinte classes:
- PEDInstalacao
- PEDSituacaoInstalacao
1. PEDInstalacao:
Foram adicionados 2 propriedades:
- Data Início da Situação
- Data Fim da Situação
2. PEDSituacaoInstalacao:
Foi adicionada 1 propriedade:
- Estado da Situação
Exemplo de uma situação Activa:
Postado por Rui Ribeiro às 23:28 0 comentários
terça-feira, 28 de agosto de 2007
Definição do objecto PEDInstalacao
A próxima versão, a disponibilizar através do sistema das actualizações automáticas, já deverá permitir realizar os testes ao objecto PEDInstalacao, membro do namespace HRM.Components.Business.
- Diagrama de classes:

- Algumas imagens do objecto em acção:
O Apetrechamento ainda não estará disponível porque ainda não foi definido qual o seu conteúdo.
Postado por Rui Ribeiro às 22:15 0 comentários
quarta-feira, 22 de agosto de 2007
Clean look...
Aproveitando a sugestão do Sérgio Mesquita, postada anteriormente, que achava que os forms eram muito cinzentos, resolvi dar-lhes um pouco mais de 'vida', e um aspecto mais 'limpo e harmonioso'.
Desta forma, forma incorporados no namespace HRM.Components.Windows.Forms, duas novas classes que herdam de BaseForm.vb:
- BaseGradientForm.vb (herança de BaseForm)
- BaseDetailsForm.vb (herança de BaseGradientForm)

Alguns exemplos de utilização destas classes:



E para se melhor notar as diferenças, aqui estão os mesmos forms que herdavam directamente de BaseForm.vb:



Não é difícil perceber que o aspecto dos forms melhorou bastante.
Claro está, que o aspecto é sempre subjectivo... depende dos gostos de cada um.
Porém, compete ao utilizador escolher o esquema de cores que pretende utilizar, já que os novos forms permitem alterar o aspecto.



Como sempre, fica à vossa imaginação a utilização destes componentes.
Postado por Rui Ribeiro às 22:24 1 comentários
quinta-feira, 16 de agosto de 2007
Validações de formulários... simplificado...
Validar formulários sempre foi, e será, uma tarefa desagradável.
Quantas linhas de código escritas em cada formulário para validar se uma textbox tem o valor esperado, antes de gravar na base de dados?
E se existisse um componente que fosse arrastado para o form e que automáticamnte validasse as textbox, independentemente do tipo de informação que se espera delas?
Pois é isso mesmo que é utilizado no HRM. Validators!!!
Nem pensem que vou escrever mais linhas de código para validar se o utilizador escreveu alguma informação na designação de um formulário.
O namespace HRM.Components.Windows.Forms incorpora 3 validators:
- RangeValidator - valida valores mínimos e máximos
- RegularExpressionValidator - valida utilizando expressões regulares
- RequiredFieldValidator - valida campos obrigatórios

Como utilizar os Validators?
Num form, adicionar uma textbox (txtname), command button(cmdOk) e um RequiredFieldValidator(RequiredFieldValidator1).

Na propriedade ControltoValidate do RequiredFieldValidator1 definir txtname e em ErrorMessage a mensagem que pretendem mostrar ao utilizador.
No evento click do cmdOk, insiram o seguinte código:
If BaseValidator.IsFormValid(Me.components) Then
Me.Close()
Else
MessageBox.Show("Ocorreram erros na validação do formulário.", "Validação do formulário", _
MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If
Agora, para testar, compilem e tentem selecionar o cmdOk sem preencher a txtName, para verem a validação mostrar ao utilizador que algo não está correcto.

Muito mais fácil e cómodo! Sem desculpas para não validar formulários.
Poderão também criar outro tipo de Validators para satisfazer as vossas necessidades específicas.
Postado por Rui Ribeiro às 22:29 2 comentários
Marcadores: .net
quarta-feira, 15 de agosto de 2007
Versão 1.0.708.1501
Encontra-se disponível, para testes, através do sistema de actualizações automáticas, a versão 1.0.708.1501.
NB: É necessário à actualização do esquema da base de dados para a versão 1.0.0708.1401, instalando o script hrm_db_schema_v1.0.0708.1401.sql constante no processo de actualização.
Novidades da versão 1.0.708.1501:
- Desenvolvimento do seguinte objectos da Área Pedagógica:
- Bolsa de Equipamentos
- Ajuda nos seguintes formulários:
- Formador
- Tipo de Equipamento
- Conclusão da Pesquisa de Projectos de Formação
- Correcções de erros detectados nas versões anteriores
- Novo esquema da base de dados: hrm_db_schema_v1.0.0708.1401.sql
Postado por Rui Ribeiro às 14:00 0 comentários
Marcadores: HRM
terça-feira, 14 de agosto de 2007
Component factories... como funcionam?
Aproveitando a pausa no desenvolvimento do HRM, resolvi elaborar este pequeno artigo sobre como funcionam as component factories dos objectos que constituem a aplicação.
Qualquer objecto que esteja incluído no namespace Business Components tem a seguinte estrutura:
- Definição e propriedades (object)
- Collection of (object)
- Factory

1. CARHabLit - Definição e propriedades
Esta classe não é mais do que um 'espelho' da tabela constante na base de dados, em que as suas propriedades são as mesmas que os campos.
A instanciação do objecto representará um determinado registo no servidor.
2. CARHabLitCollection - Collection (of CARHabLit)
Esta classe, herança de Public Class Collection(Of T), membro de System.Collections.ObjectModel, representa o conjunto de objectos CARHabLit. Ou seja a sua instanciação representa um conjunto de determinados registos no servidor. Por ser uma herança de Collection(Of T), significa que herda todas as funcionalidades necessárias para gerir o seu conjunto de items, nomeadamente as propriedades Count, Items() e os procedimentos Clear, Contains, Add, Remove, etc...
3. CARHabLitFactory - Factory
Esta é a classe que tem a responsabilidade de estabelecer a ligação com a base de dados e tratar de todas as actualizações necessárias...
Como se trata de uma classe totalmente encapsulada, não sabe como fazer a ligação ao servidor de base de dados, para esse efeito, será necessário fornecer-lhe uma ligação válida (As SqlConnection) para se instanciar.
Ao contrário das anteriores, a instanciação desta classe não representa nenhum conjunto de registos, ao invés representa todo o conjunto de funcionalidades disponíveis para o programador interagir com a base de dados.
Exemplo de aplicação:
Passos para carregar todos os registos constantes na tabela de Habilitações Literárias:
- instanciar um objecto do tipo CARHabLitFactory(objCARHabLitFactory), fornecendo-lhe uma Connection (As SqlConnection) previamente criada.
- instanciar um objecto do tipo CARHabLitCollection(objCARHabLitColl) para conter todos os objectos do tipo CARHabLit
- executar o procedimento LoadRecords do CARHabLitFactory para cima do CARHabLitCollection:
objCARHabLitColl = objCARHabLitFactory.LoadRecords - A partir deste momento pode-se carregar uma listview ou outra lista qualquer com os items do objCARHabLitColl e no fim destruí-lo para poupar recursos.
Postado por Rui Ribeiro às 23:27 0 comentários
Marcadores: .net
Definição do objecto PEDEquipamentoLibrary.dll - Parte V
A parte gráfica do objecto PEDEquipamentoLibrary.dll está concluída para se iniciar os testes.
Falta apenas a ligação ao fornecedor do equipamento, objecto de entidades genéricas que aguarda definição.
Postado por Rui Ribeiro às 00:42 1 comentários
segunda-feira, 13 de agosto de 2007
Definição do objecto PEDEquipamentoLibrary.dll - Parte IV
Na revisão do objecto PEDEquipamentoLibrary.dll foi necessário efectuar algumas alterações na estrutura existente e adicionar dois novos grupos de classes.
Com esta alteração, as propriedades Situação e Estado de Conservação deixam de ser campos fixos para se encontrarem tabeladas. Desta forma será possível criar várias situações e vários estados de conservação.
Durante esta semana será disponibilizada uma nova versão da aplicação para testar este objecto.
Postado por Rui Ribeiro às 22:15 0 comentários
sábado, 11 de agosto de 2007
Finalmente, o Fórum...
Finalmente está disponível o fórum de discussão do HRM.
O link está disponível no menu de navegação da página HRM.
Não se esqueçam de se registarem e participar.
Postado por Rui Ribeiro às 14:08 0 comentários
Marcadores: HRM
quarta-feira, 8 de agosto de 2007
Definição do objecto PEDEquipamentoLibrary.dll - Parte III
A primeira parte do desenvolvimento do GUI que instancia o objecto PEDEquipamentoLibrary.dll está concluído com a criação dos seguintes módulos:
- PEDTipoEquipamentoDetails.vb
- PEDTipoEquipamentoList.vb

Postado por Rui Ribeiro às 23:11 2 comentários
segunda-feira, 6 de agosto de 2007
Definição do objecto PEDEquipamentoLibrary.dll - Parte II
O próximo passo será desenvolver o GUI que vai utilizar estas funcionalidades.
A próxima versão, que deverá estar disponível em meados de Agosto, já deverá incorporar este novo componente, bem como um novo esquema de base de dados.

Postado por Rui Ribeiro às 21:57 0 comentários
quinta-feira, 2 de agosto de 2007
Definição do objecto PEDEquipamentoLibrary.dll
Este objecto terá as funcionalidades necessárias para gerir a tabela de Equipamentos.
A próxima fase será definir o objecto PEDTipoEquipamentoLibrary.dll que fará a ligação com a propriedade EquipamentoTipoId

Postado por Rui Ribeiro às 22:49 2 comentários
Pesquisa de Projectos
Apesar de já ter sido disponibilizada na versão 1.0707.2901, continha alguns erros pelo que na nova versão deverá estar completamente operacional.

Postado por Rui Ribeiro às 21:57 0 comentários
O que é o HRM?
O HRM é um ERP dirigido à gestão de recursos humanos. Está a ser desenvolvido por Rui Ribeiro e Nuno Costa.
As tecnologias utilizadas, e que provavelmente constituirão grande parte dos assuntos neste blog, são Visual Basic 2005, SQL Server, XML e HTML...
Poderá consultar a página do HRM, aqui.
O objectivo deste blog é proporcionar um acompanhamento dum projecto de desenvolvimento de software, para estudantes, programadores e profissionais de recursos humanos...
Comentários e sugestões serão sempre bem vindos.
Postado por Rui Ribeiro às 18:11 0 comentários
Marcadores: HRM