Ir para conteúdo
Fórum Script Brasil

Daruma Developer

Membros
  • Total de itens

    9
  • Registro em

  • Última visita

Sobre Daruma Developer

Daruma Developer's Achievements

0

Reputação

  1. Olá pessoal, Hoje iremos ver como Ler e fazer Alterações de valores do XML darumaframework. Leitura: Para obtermos valores do XML utilizaremos a função regRetornaValorChave_DarumaFramework. Este método retorna o valor de uma chave do registry/XML. Parâmetros Produto : Nome do produto. Chave : Nome da Chave Valor : Variável String por referência com 100 espaços alocados para que possa retornar na variável o valor da Chave que você deseja. C#: [DllImport("DarumaFrameWork.dll")] public static extern int regRetornaValorChave_DarumaFramework(string sProduto, string sChave, [MarshalAs(UnmanagedType.VBByRefStr)] ref string szRetorno); private void métodoRegRetornaValorECFDarumaToolStripMenuItem_Click(object sender, EventArgs e) { string Str_Valor = new string(' ', 30); DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.regRetornaValorChave_DarumaFramework("ECF", "Auditoria", ref Str_Valor); } DELPHI: function regRetornaValorChave_Daruma(pszProduto:string;pszChave:string;pszValor:string):Integer; StdCall; External 'DarumaFramework.dll'; Str_Valor := StringOFChar(#0,100); Int_Retorno := regRetornaValorChave_DarumaFramework(‘ECF’, ‘Auditoria’, Str_Valor); VB: Declare Function regRetornaValorChave_DarumaFramework Lib "DarumaFramework.dll" (ByVal sProduto As String, sChave As String, ByVal sValor As String) As Integer Private Sub regRetornaValorChave_DarumaFramework_Click() Dim Str_Valor As String Str_Valor = Space(100) iRetorno = regRetornaValorChave_DarumaFramework("ECF", "Auditoria", Str_Valor) MsgBox ("Valor da Chave = " + Str_Valor) End Sub Nos exemplos acima capturamos o valor da chave “Auditoria”, que se refere ao log das execuções da darumaframework.dll. Alteração: Veremos agora como fazer a alteração de uma chave no XML com a função regAlterarValor_Daruma: Parâmetros: Chave : Produto e Chave a serem modificados (Ex.: ECF/Auditoria). Valor : Novo valor da para a Chave C# [DllImport("DarumaFrameWork.dll")] public static extern int regAlterarValor_Daruma(string pszChave, string pszValor); private void métodoRegAlterarValorECFDaruma_Click(object sender, EventArgs e) { DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.regAlterarValor_Daruma("ECF/Auditoria", "1"); } DELPHI: function regAlterarValor_Daruma(pszPathChave:string,pszValor:string):Integer; StdCall; External 'DarumaFramework.dll'; Int_Retorno:=regAlterarValor_Daruma('ECF\Auditoria','1'); VB: Public Declare Function regAlterarValor_Daruma Lib "DarumaFramework.dll" (ByVal sProduto_Chave As String, ByVal sValor As String) As Integer Private Sub regAlterarValor_ECF_Daruma_Click(Index As Integer) iRetorno = regAlterarValor_Daruma("ECF\Auditoria", "1") End Sub Ai vai a dica para Leitura e Alteração do Darumaframework.XML! Duvidas estamos à disposição!
  2. Olá Pessoal, Observando as dificuldades e necessidades encontradas por desenvolvedores e empresas que precisam gerar arquivos como NFP, MFD, Sintegra, SPED... entre outros, e também como ferramenta auxiliar ou integrada para implementar em seu PAF-ECF, a Daruma lança o GAD! Isto GAD... G – Gerador de A – Arquivos D – Daruma A Daruma disponibiliza o executável desta ferramenta desenvolvida por nossa Equipe de Integração e Desenvolvimento e o código fonte aberto para que você desenvolvedor possa utilizar em seu programa! E nosso NEWS [Escovando Bits] desta semana fala sobre esta incrível ferramenta! Veja e confira: http://social.msdn.microsoft.com/Forums/pt...c2-f85f48a11dc4 Um abraço a todos!
  3. Saiba tudo sobre PAF-ECF, dicas e truques da versão 01.08 e se sair bem em sua homologação... http://www.dnautomacao.com.br/temp/DU-0323...ES_PAF-ECF.html
  4. Olá pessoal, Você já ouviu falar em Terminal Services? Ele é um dos componentes do Microsoft Windows que permite a um utilizador o acesso a aplicativos e informações em um computador remoto, através de uma ligação em rede. Um encaixe desse recurso que o pessoal da Automação Comercial costuma utilizar é para hospedar um PVD ou um sistema retaguarda. A Daruma disponibiliza um material para exemplo explicativo de como funciona esta comunicação utilizando a darumaframework.dll. E como isto é possível de maneira prática e rápida! Assista o Vídeo sobre o Terminal Service: http://www.youtube.com/watch?v=QOVsaywL90Q...feature=related Baixe nosso manual explicativo: http://www.desenvolvedoresdaruma.com.br/ho...indows_2008.pdf Um abraço, Duvidas estamos à disposição! Social Daruma Developer Network | Integração e Desenvolvimento - Daruma Developers Community | Integração com a Comunidade de Desenvolvedores | Daruma nas Redes Sociais | Twitter: @darumadeveloper | Facebook: http://www.facebook.com/pages/Daruma-Devel...199210316809400 | LinkedIn: http://linkd.in/oNXnN4 | Nosso Site: www.desenvolvedoresdaruma.com.br | Channel9: http://www.youtube.com/darumadeveloper
  5. Vejam nosso vídeo especial sobre o Minas Legal: http://www.youtube.com/watch?v=BlhqWiYRBLM
  6. Olá pessoal, Hoje venho mostrar 3 novas funções da darumaframework.dll, que devolvem status sobre a impressora. .rStatusImpressoraBinario_ECF_Daruma .rConsultaStatusImpressoraInt_ECF_Daruma .rConsultaStatusImpressoraStr_ECF_Daruma Vamos ao rStatusImpressoraBinario_ECF_Daruma: Este método nos permite saber o status atual do ECF, como: Modo Fiscal, Se a tampa está aberta, e até mesmo se há bobina ou não... Mas não para por ai, está função retorna o status binário de 18 informações muito uteis em relação ao ECF. Seu parâmetro é: Variável: Tam: Descrição: pszStatus 18 Variável por referência que ira receber 18 dígitos. Cada digito binário representa uma informação de status do ECF. Consulte já a Tabela: http://www.desenvolvedoresdaruma.com.br/ho..._ECF_Daruma.htm A função nos devolve: Ex: Status Binário da Impressora: 000000001100000000 Vejamos na prática: C# public static extern int rStatusImpressoraBinario_ECF_Daruma([MarshalAs(UnmanagedType.VBByRefStr)] ref string Status); [DllImport("DarumaFrameWork.dll")] private void button1_Click(object sender, EventArgs e) { string Str_StatusBin = new string(' ', 20); DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.rStatusImpressoraBinario_ECF_Daruma(ref Str_StatusBin); DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.DarumaFramework_Mostrar_Retorno(DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno); TB_Retorno.Text = "Status Binário da Impressora: " + Str_StatusBin.ToString(); } Delphi:function rStatusImpressoraBinario_ECF_Daruma(pszStatus:String):Integer; StdCall; External 'DarumaFramework.dll'; SetLength (iRetorno,18); Int_Retorno := Int_Retorno := rStatusImpressoraBinario_ECF_Daruma(Str_Valor); VB6:Public Declare Function rStatusImpressoraBinario_ECF_Daruma Lib "DarumaFramework.dll" (ByVal pszStatus As String, ByVal) As Integer Private Sub botao_Click() Dim Int_Status As Integer Int_Status = Space(18) iRetorno = rStatusImpressoraBinario_ECF_Daruma(Int_Status) MsgBox(CStr(Int_Status)) End Sub Comunicação Direta: Comando: Palavra de Status Sintaxe: [GS] [ACK] Parâmetros: Nenhum Resposta: S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 [DDMMAA] [CR] Nota: Em modo Resposta Estendida, a palavra de status é acrescida de 6 dígitos, correspondentes a Data do Movimento Viu só! Mais fácil que isto impossível... J Agora nossa segunda função: rConsultaStatusImpressoraInt_ECF_Daruma Esta função nos retorna 1 ou 0 indicando se o índice informado esta habilitado ou não, segue a mesma tabela da função rStatusImpressoraBinario_ECF_Daruma que vimos a pouco mais. Porem você programa o índice do Status especifico que deseja obter a informação. Seus parâmetros são: Variável: Tam: Descrição: iIndice 2 Índice da Informação desejada iRetorno -- Variável Inteira por referência que ira receber o status 1 ou 0. Por exemplo, se passarmos Índice: 05 a função nos devolverá 0 – que é: “Ainda não emitiu RZ hoje (com dia fiscal aberto)” ou 1 – que é: “Já emitiu RZ não pendente hoje”. Vejamos na prática: C# [DllImport("DarumaFrameWork.dll")] public static extern int rConsultaStatusImpressoraInt_ECF_Daruma(int iIndice, ref int IStatus); private void BT_botao_Click(object sender, EventArgs e) { int Int_Valor = 0; string Str_Indice = Microsoft.VisualBasic.Interaction.InputBox("Informe o Índice desejado:", "Daruma Framework", "1", posX, posY); DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.rConsultaStatusImpressoraInt_ECF_Daruma(Convert.ToInt32(Str_Indice), ref Int_Valor); MessageBox.Show("Status = " + Int_Valor.ToString()); } Delphi: function rConsultaStatusImpressoraInt_ECF_Daruma(iIndice:Integer; iRetorno:Integer): Integer; StdCall; External 'DarumaFramework.dll'; SetLength (iRetorno,2); Int_Retorno := rConsultaStatusImpressoraInt_ECF_Daruma(iIndice, iRetorno); VB6:Public Declare Function rConsultaStatusImpressoraInt_ECF_Daruma Lib "DarumaFramework.dll" (pszIndice As String, ByVal pszRetorno As String) As Integer Private Sub BT_Botao_Click() Dim Str_Indice, Str_Retorno As String Str_Indice = TB_Indice.Text Str_Indice = Space(2) iRetorno = rConsultaStatusImpressoraInt_ECF_Daruma(Str_Indice, Str_Retorno) MsgBox (Str_Retorno) End Sub Comunicação Direta: Comando: Palavra de Status Sintaxe: [GS] [ACK] Parâmetros: Nenhum Resposta: S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 [DDMMAA] [CR] Nota: Em modo Resposta Estendida, a palavra de status é acrescida de 6 dígitos, correspondentes a Data do Movimento. Temos também a opção de passar o Índice e Obtermos a informação em texto do status da impressora referente ao índice informado. Com nossa ultima função de hoje que é: rConsultaStatusImpressoraStr_ECF_Daruma. Seus parâmetros são: Variável: Tam: Descrição: iIndice 2 Índice da Informação desejada szStatus -- Variável String por referência que retorna o Status do Índice informado. Vejamos na prática: C#[DllImport("DarumaFrameWork.dll")] public static extern int rConsultaStatusImpressoraStr_ECF_Daruma(int iIndice, [MarshalAs(UnmanagedType.VBByRefStr)] ref string StrStatus); [DllImport("DarumaFrameWork.dll")] private void métodoRConsultaStatusImpressoraStrECFDarumaToolStripMenuItem_Click(object sender, EventArgs e) { string Str_Valor = new string(' ', 60); string Str_Indice = Microsoft.VisualBasic.Interaction.InputBox("Informe o Índice desejado:", "Daruma Framework", "1"); DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.rConsultaStatusImpressoraStr_ECF_Daruma(Convert.ToInt32(Str_Indice), ref Str_Valor); MessageBox.Show("Status = " + Str_Valor); } Delphi:function rConsultaStatusImpressoraStr_ECF_Daruma(iIndice:Integer; szStatus:String): Integer; StdCall; External 'DarumaFramework.dll'; SetLength (Str_Informacao,150); Int_Retorno := rConsultaStatusImpressoraStr_ECF_Daruma(1, Str_Informacao); VB6: Public Declare Function rConsultaStatusImpressoraStr_ECF_Daruma Lib "DarumaFramework.dll" (pszIndice As String, ByVal pszRetorno As String) As Integer Private Sub BT_Botao_Click() Dim Str_Indice, Str_Retorno As String Str_Indice = TB_Indice.Text Str_Indice = Space(2) iRetorno = rConsultaStatusImpressoraStr_ECF_Daruma(Str_Indice, Str_Retorno) MsgBox (Str_Retorno) End Sub Comunicação Direta: Comando: Palavra de Status Sintaxe: [GS] [ACK] Parâmetros: Nenhum Resposta: S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 [DDMMAA] [CR] Nota: Em modo Resposta Estendida, a palavra de status é acrescida de 6 dígitos, correspondentes a Data do Movimento. Ai vai mais uma dica para facilitar seu desenvolvimento! Um abraço e até a próxima!
  7. Olá amigos desenvolvedores! É com enorme prazer que a Comunidade de Integração e desenvolvimento Daruma lhe parabeniza por esta data tão especial! Feliz dia Internacional do Programador! http://social.msdn.microsoft.com/Forums/pt...a8-6db80a0ce8b4 Um forte abraço querido parceiro!
  8. Olá pessoal, Nesta Quarta Feira e Quinta Feira, dia 14 e 15/09/2011, realizaremos nosso encontro com desenvolvedores de Porto-Velho e Ji-Paraná. A convite de duas universidades renomadas da região, nos reuniremos com desenvolvedores em sua semana de informática e falaremos sobreWindows Embedded, Pos-Ready e PAF! Confirma abaixo os locais e horários e não fique de fora! Se você está em regiões próximas, não deixe de participar está será a primeira vez que estaremos na cidade realizando este encontro com Escovadores de Bits! Nos vemos lá. Evento com Desenvolvedores Quarta-Feira dia 14/09/2011 Onde? Universidade-Ulbra de Porto-Velho Horário – 19h Palestra – Microsoft Embedded Systems com VS2010 – SMS Machine to Machine com C#.NET Horário – 20:30h Palestra – PAF – ECF E Pos-Ready Embedded Link do Evento para confirmação e Endereço: http://www.ulbra.br/portovelho/2011/09/1%C...-e-tecnologias/ Evento com Desenvolvedores Quinta-Feira dia 14/09/2011 Onde? Universidade-Centro Universitário Luterano – Ji-Paraná Horário – 19h Palestra – Microsoft Embedded Systems com VS2010 – SMS Machine to Machine com C#.NET Horário – 20:30h Palestra – PAF – ECF E Pos-Ready Embedded Link do Evento para confirmação e Endereço: http://www.ulbrajp.edu.br/site/index.php?o...&Itemid=168
  9. Olá pessoal, No dia 04/08/2011, o Ato Cotepe 06/08 sofreu uma modificação, onde dispõe sobre a especificação de requisitos do Programa Aplicativo Fiscal - Emissor de Cupom Fiscal (PAF-ECF) e do Sistema de Gestão utilizado por estabelecimento usuário de equipamento ECF. Art. 1º O Anexo I do ATO COTEPE ICMS 6/08, de 14 de abril de 2008, fica acrescido do seguinte requisito: VIII-A 1-A critério da unidade federada, mediante parametrização, o PAF-ECF deve comandar a impressão no Cupom Fiscal de código composto por informações relativas ao respectivo Cupom Fiscal, observando-se que: 2-Para o PAF-ECF utilizado por estabelecimento situado no Estado de Minas Gerais o código deve ser precedido da expressão “MINAS LEGAL:” em caixa alta e deve obedecer ao formato 99999999ddmmaaaa8888888, onde: “99999999” representa o número do núcleo do CNPJ do contribuinte usuário do ECF, impresso no cabeçalho do Cupom Fiscal, considerando como núcleo do CNPJ os oito (8) primeiros dígitos que o compõe; “ddmmaaaa” representa a data de emissão do Cupom Fiscal impressa em seu cabeçalho; “8888888” representa o valor total do respectivo Cupom Fiscal, sem as casas decimais (centavos) e sem zeros (0) à esquerda. Exemplo: Dados do Cupom Fiscal: CNPJ: 12.345.678/0001-00 Data: 12/06/2011 Valor Total: R$ 125,45 - Formação do código: MINAS LEGAL: 1234567812062011125 Dados do Cupom Fiscal: CNPJ: 12.345.678/0001-00 Data: 12/06/2011 Valor Total: R$ 1.230,86 - Formação do código: MINAS LEGAL: 12345678120620111230 3- O código deve ser impresso na primeira linha disponível do campo “mensagens promocionais" ou do campo “informações suplementares", conforme o modelo de ECF, após a impressão das demais informações previstas nesta especificação. Desde da publicação 05/8/2011, o PAF-ECF utilizado por estabelecimentos situados no estado de Minas Gerais conforme a legislação deverão ter a versão atualizada com versão que atenda ao requisito estabelecido no art. 1º até o dia 30 de setembro de 2011. A Daruma mais uma vez sai na frente disponibilizando um recurso para atender está legislação. Em nossa dll darumaframework.dll, você conseguirá atender perfeitamente a legislação de maneira rápida e prática. Veja o Cupom: http://social.microsoft.com/Forums/getfile/6879%20" target="_blank"> http://social.microsoft.com/Forums/getfile/6879 Existem 2 maneiras para atender o Minas Legal na DarumaFramework.dll. A primeira delas é: alterando a chave <MinasLegal> no XML, onde quando está chave está ligada a dll automaticamente será colocada a mensagem do Minas Legal no Cupom: <MinasLegal>1</MinasLegal> Função para Alteração da Chave via código: DELPHI function regAlterarValor_Daruma(pszPathChave:string,pszValor:string):Integer; StdCall; External 'DarumaFramework.dll'; Int_Retorno:=regAlterarValor_Daruma("ECF\CF\MinasLegal", 1); C# public static extern int regAlteraValor_Daruma(string pszProduto, string pszChave); DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.regAlterarValor_Daruma("ECF\CF\MinasLegal", "1"); DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.DarumaFramework_Mostrar_Retorno(DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno); VB6 Public Declare Function regAlterarValor_Daruma Lib "DarumaFramework.dll" (ByVal sProduto_Chave As String, ByVal sValor As String) As Integer iRetorno = regAlterarValor_Daruma("ECF\CF\MinasLegal", 1) A segunda maneira é pela função: rMinasLegal_ECF_Daruma: Definiçãodo Metodo: Este método retorna o texto que deve ser impresso no cupom fiscal no estado de Minas Gerais em uma String. O método pode ser chamado em qualquer momento entre a totalização e a finalização do cupom fiscal, onde devolverá em uma variável o texto para ser inserido na mensagem de promocional do cupom fiscal, em seu respectivo fechamento. Só reforçando que deve-se ser vendido acima de 1,00R$, pois não é permitido zeros a esquerda como no exemplo mais acima. Sintaxe: rMinasLegal_ECF_Daruma(char* pszRetorno); Saída: Informação estendida Abertura do Cupom Fiscal. Ex: MINAS LEGAL: 12345678120620111230 DELPHI function rMinasLegal_ECF_Daruma(pszRecebe:string):Integer; StdCall; External 'DarumaFramework.dll'; procedure TFR_FISCAL_RetornoECF.MtodorMinasLegalECFDaruma1Click( Sender: TObject); Var Str_MinasLegal: String; begin Str_MinasLegal:=StringOFChar(#0,50); Int_Retorno := rMinasLegal_ECF_Daruma(Str_MinasLegal); Edt_Retorno.Lines.Clear(); Edt_Retorno.Lines.Text := (Trim(Str_MinasLegal)); FR_MenuImpressoraFiscal_Principal.DarumaFramework_Mostrar_Retorno(Int_Retorno); end; C# public static extern int rMinasLegal_ECF_Daruma([MarshalAs(UnmanagedType.VBByRefStr)] ref string pszRecebe); [DllImport("DarumaFrameWork.dll")] private void button1_Click(object sender, EventArgs e) { string StrRecebe = new string(' ', 50); DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.rMinasLegal_ECF_Daruma(ref StrRecebe); MessageBox.Show(StrRecebe.Trim()); } } VB6 Public Declare Function := rMinasLegal_ECF_Daruma Lib "DarumaFramework.dll" (ByVal pszRetorna As String) As Integer Private Sub BT_Enviar_Click() Dim Str_Retorno As String Str_Retorno = Space(50) iRetorno = rMinasLegal_ECF_Daruma(Str_Retorno) MsgBox(Str_Retorno) End Sub Viram só como é simples! A Daruma mais uma vez tem a satisfação de proporcionar soluções que facilitem e tornem seu trabalho bem mais fácil! Social Daruma Developer Network | Integração e Desenvolvimento - Daruma Developers Community | Integração com a Comunidade de Desenvolvedores | Daruma nas Redes Sociais | Twitter: @darumadeveloper | Facebook: http://www.facebook.com/pages/Daruma-Devel...199210316809400 | LinkedIn: http://linkd.in/oNXnN4 | Nosso Site: http://www.desenvolvedoresdaruma.com.br | Channel9: http://www.youtube.com/darumadeveloper
×
×
  • Criar Novo...