Estou disponibilizando um pacote para desenvolvedores advpl com o objetivo de desenvolver rdmakes de integracao com balancas via comunicacao serial. No video http://youtu.be/28NJP7xbMpY tem uma pequena demonstracao e no link http://www.4shared.com/rar/P-ejAam9ba/Pacote_Balanca.html? disponibilizo o pacote que vem com emulador de porta COM, simulador de balanca alem de um rdmake de exemplo. Algumas vezes eu preciso gerar relatorios que mostrem dados entre determinados meses. Abaixo, um trecho desse tipo de relatorio.Basicamente, o usuario informa o mes e ano inicial, mes e ano final e a partir dai eu gero um array contendo o intervalo. Ele tem a estrutura conforme figura abaixo:Posso entao usar os elementos deste array como parametros em consultas que gerem tabelas temporarias alem de imprimi-los no relatorio conforme a primeira figura. Abaixo, as funcoes que geram o array.Agora a funcao auxiliar da funcao acima que retorna o nome do mes: Nessa postagem darei um exemplo bem simples de como integrar o Protheus com Csharp. Primeiramente temos que registrar no windows um arquivo ocx que esta dentro do smartclient chamado apconnxcontrol.ocx . Para registrar e simples, eu copiei o arquivo para a pasta System32 do windows, logo depois executei o cmd.exe e fiz o seguinte comando:regsvr32 apconnxcontrol.ocx . Lembrando que no Windows 7 voce tem que executar o cmd.exe como administrador, caso contrario nao dara certo.Concluida essa etapa, e hora de abrir o Visual Studio.No exemplo a seguir eu usei o VS 2010 e criei um novo projeto do tipo Console. Faca o mesmo e com o Program.cs aberto clique em adicionar uma nova referencia conforme figura abaixo:Usando a guia Browse va ate a pasta System32 do Windows e selecione o arquivo apconnxcontrol.ocx:Nessa etapa ja temos o "link" com nossa ocx do protheus. Agora e so por a mao na massa e comecar a brincar com as funcoes. No exemplo abaixo criei uma User Function no protheus que retorna um array de string. Apos compilado, fui no Visual Studio e feito as devidas referencias eu fiz com que o codigo em C# executasse a minha User Function do protheus e exibisse o retorno dela no Console.//user function compilada no protheus#INCLUDE "rwmake.ch"User Function RetTest()Local aTeste := {}aaDD(aTeste,"teste1") aaDD(aTeste,"teste2") aaDD(aTeste,"teste3")Return aTesteCodigo no C#, observe as referencias :Se tudo der certo teremos o resultado abaixo:Tem uma documentacao de RPC nos foruns de advpl, la tem mais detalhes. Espero ter colaborado com algum conhecimento e lembrando que podemos usar a ocx em outras linguagens que tem suporte a esse tipo de arquivo. Ate a proxima. Integracao Protheus X Balanca via comunicacao serial sem DLL Neste artigo irei mostrar como podemos fazer uma rotina em advpl que ira requisitar o peso a uma balanca Filizola via porta serial. Essa requisicao funciona tambem para balancas TOLEDO, porem o layout de retorno e um pouco diferente. A vantagem desse metodo e nao depender de DLL e assim nao ficar preso a uma marca especifica. Antes de tudo e preciso que a balanca esteja com o protocolo adequado para funcionar com requisicao serial. Em muitos modelos da TOLEDO, o protocolo e o P05, ja algumas balancas FILIZOLA ja vem preparadas