1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

[RESOLVIDO] DarumaFrameWork.dll - FS600

Discussão em 'EMS , HCM e Totvs 11' iniciado por victorcolombo, Fevereiro 6, 2015.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. victorcolombo

    victorcolombo Sem Pontuação

    Boa tarde,

    Por gentileza, alguém possui um exemplo de como utilizar os métodos da DLL DarumaFrameWork para o TOTVS 11.5.9 ? Atualmente estamos utilizando a Daruma32.dll, porém estou tendo dificuldades em adequar o programa de emissão de cupons para esta nossa.
    Desde já agradeço.
  2. victorcolombo

    victorcolombo Sem Pontuação

    Segue abaixo os métodos que utilizamos atualmente:

    PROCEDURE Daruma_FI_RetornoImpressora EXTERNAL "Daruma32.DLL" PERSISTENT:

    DEFINE INPUT PARAMETER p-Daruma_iACK AS LONG.

    DEFINE INPUT PARAMETER p-Daruma_iST1 AS LONG.

    DEFINE INPUT PARAMETER p-Daruma_iST2 AS LONG.

    DEFINE RETURN PARAMETER p-retornoMetodo AS LONG.

    /* 1. ACK: Variável INTEIRA para receber o primeiro byte. */

    /* 2. ST1: Variável INTEIRA para receber o segundo byte. */

    /* 3. ST2: Variável INTEIRA para receber o terceiro byte. */

    END.



    /* Retorna o Erro Extendido do ECF, além do ST1 e ST2 retorna uma Tabela Completa de Erros. */

    PROCEDURE Daruma_FI_RetornaErroExtendido EXTERNAL "Daruma32.DLL" PERSISTENT:

    DEFINE OUTPUT PARAMETER p-ErroExtendido AS CHAR.

    DEFINE RETURN PARAMETER p-retorno AS CHAR.

    /* String: Com 4 Posições que irá conter o Código de Erro Extendido que o ECF retorna. */

    /* Retorna 999 caso tenha a DLL retorne TIME-OUT. */

    /* Retorna a String original passada, com VAZIOS, caso NÃO HAJA ERRO. */

    END.



    /* Cancela o último cupom emitido. */

    PROCEDURE Daruma_FI_CancelaCupom EXTERNAL "Daruma32.DLL" PERSISTENT:

    DEFINE RETURN PARAMETER p-retorno AS LONG.

    /* retorno do metodo */

    END.



    /* Emite a Leitura X na impressora. */

    PROCEDURE Daruma_FI_LeituraX EXTERNAL "Daruma32.DLL" PERSISTENT:

    DEFINE RETURN PARAMETER p-retorno AS LONG.

    /* retorno do metodo */

    END.



    /* Emite a ReduçãoZ na impressora. */

    PROCEDURE Daruma_FI_ReducaoZ EXTERNAL "Daruma32.DLL" PERSISTENT:

    DEFINE INPUT PARAMETER p-data AS CHAR.

    DEFINE INPUT PARAMETER p-hora AS CHAR.

    DEFINE RETURN PARAMETER p-retorno AS LONG.

    /* String com a Data atual da impressora no formato ddmmaa. Opcional */

    /* 1. Data: String com a Data atual da impressora no formato ddmmaa. Opcional */

    /* 2. Hora: String com a Hora a ser alterada no formato hhmmss. Opcional */

    END.



    /* Abre o cupom fiscal na impressora fiscal Daruma. */

    PROCEDURE Daruma_FI_AbreCupom EXTERNAL "Daruma32.DLL" PERSISTENT:

    DEFINE INPUT PARAMETER p-cnpj-cpf AS CHAR.

    DEFINE RETURN PARAMETER p-retorno AS LONG.

    /* CPF ou CNPJ: Variável String de até 29 caracteres com o CPF ou CNPJ. */

    END.



    /* Vende o item na impressora fiscal. */

    PROCEDURE Daruma_FI_VendeItem EXTERNAL "Daruma32.DLL" PERSISTENT:

    DEFINE INPUT PARAMETER p-codigo AS CHAR.

    DEFINE INPUT PARAMETER p-descricao AS CHAR.

    DEFINE INPUT PARAMETER p-aliquota AS CHAR.

    DEFINE INPUT PARAMETER p-tipo-quantidade AS CHAR.

    DEFINE INPUT PARAMETER p-quantidade AS CHAR.

    DEFINE INPUT PARAMETER p-casas-decimais AS LONG.

    DEFINE INPUT PARAMETER p-valor-unitario AS CHAR.

    DEFINE INPUT PARAMETER p-desconto AS CHAR.

    DEFINE INPUT PARAMETER p-valor-desconto AS CHAR.

    DEFINE RETURN PARAMETER p-retorno AS LONG.

    /* 1. Código: String com até 13 caracteres contendo o código do produto. */

    /* 2. Descrição: String até 29 caracteres com a descrição do produto. */

    /* 3. Alíquota: String com o valor ou o índice da alíquota tributária. Se for o valor deve ser informado com */

    /* o tamanho de 4 caracteres ou 5 com a vírgula. Se for o índice da alíquota deve ser 2 caracteres. */

    /* Ex. (18,00 para o valor ou 05 para o índice). */

    /* 4. Tipo Quantidade: 1 (um) caráctere indicando o tipo de quantidade. 'I' - Inteira e 'F' - Fracionária. */

    /* 5. Quantidade: String com até 4 dígitos para quantidade inteira e 7 dígitos para quantidade fracionária. */

    /* Na quantidade fracionária são 3 casas decimais. */

    /* 6. Casas Decimais: Inteiro indicando o número de casas decimais para o valor unitário (2 ou 3). */

    /* 7. Valor Unitário: String até 8 dígitos para valor unitário. */

    /* 8. Tipo Desconto: 1 (um) caráctere indicando a forma do desconto. '$' desconto por valor e '%' */

    /* desconto percentual. */

    /* 9. Valor Desconto: String com até 8 dígitos para desconto por valor (2 casas decimais) e 4 dígitos para */

    /* desconto percentual (2 casas decimais). Importante! Caso seja passado um sinal de subtração */

    /* antes do valor exemplo: (-1,00), será aplicada a lógica inversa e ao invéz de um desconto */

    /* será feito um acréscimo. */

    END.



    /* Inicia o fechamento do cupom com o uso das formas de pagamento. */

    PROCEDURE Daruma_FI_IniciaFechamentoCupom EXTERNAL "Daruma32.DLL" PERSISTENT:

    DEFINE INPUT PARAMETER p-acrescimo-desconto AS CHAR.

    DEFINE INPUT PARAMETER p-tipo-acrescimo-desconto AS CHAR.

    DEFINE INPUT PARAMETER p-valor-acrescimo-desconto AS CHAR.

    DEFINE RETURN PARAMETER p-retorno AS LONG.

    /* 1. Acréscimo Desconto: Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D' para */

    /* desconto. */

    /* 2. Tipo Acréscimo Desconto: Indica se o acréscimo ou desconto é por valor ou por percentual. '$' para */

    /* desconto por valor e '%' para percentual. */

    /* 3. Valor Acréscimo Desconto: String com no máximo 14 dígitos para acréscimo ou desconto por valor e */

    /* 4 dígitos para acréscimo ou desconto por percentual (2 casas decimais). */

    END.



    /* Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s) nessa forma. */

    PROCEDURE Daruma_FI_EfetuaFormaPagamento EXTERNAL "Daruma32.DLL" PERSISTENT:

    DEFINE INPUT PARAMETER p-forma-pagamento AS CHAR.

    DEFINE INPUT PARAMETER p-valor-forma-pagamento AS CHAR.

    DEFINE RETURN PARAMETER p-retorno AS LONG.

    /* Parametros: */

    /* Forma Pagamento: String com a forma de pagamento com no máximo 16 caracteres. */

    /* Valor Forma Pagamento: String com o valor da forma de pagamento com até 14 dígitos. */

    END.



    /* Termina o fechamento do cupom com mensagem promocional. */

    PROCEDURE Daruma_FI_TerminaFechamentoCupom EXTERNAL "Daruma32.DLL" PERSISTENT:

    DEFINE INPUT PARAMETER p-mensagem-promocional AS CHAR.

    DEFINE RETURN PARAMETER p-retorno AS LONG.

    /* String com a mensagem promocional com até 384 caracteres */

    /* retorno do metodo */

    END.



    /* Fecha o cupom fiscal com a impressão da mensagem promocional. */

    /* IMPORTANTE! Com este Método você não poderá informar com mais de um meio de pagamento. */

    PROCEDURE Daruma_FI_FechaCupom EXTERNAL "Daruma32'DLL":

    DEFINE INPUT PARAMETER p-forma-pagamento AS CHAR.

    DEFINE INPUT PARAMETER p-acrescimo-desconto AS CHAR.

    DEFINE INPUT PARAMETER p-tipo-acrescimo-desconto AS CHAR.

    DEFINE INPUT PARAMETER p-valor-acrescimo-desconto AS CHAR.

    DEFINE INPUT PARAMETER p-valor-pago AS CHAR.

    DEFINE INPUT PARAMETER p-mensagem-promocional AS CHAR.

    DEFINE RETURN PARAMETER p-retorno AS LONG.

    /* String com o nome da forma de pagamento com no máximo 16 caracteres. */

    /* Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D' para desconto. */

    /* Indica se o acréscimo ou desconto é por valor ou por percentual. '$' para desconto por valor e '%' para percentual. */

    /* String com no máximo 14 dígitos para acréscimo ou desconto por valor e 4 dígitos para acréscimo ou desconto por percentual. */

    /* String com o valor pago com no máximo 14 dígitos. */

    /* String com a mensagem promocional com até 384 caracteres */

    /* retorno do metodo */

    END.



    /* Este mÚtodo gera um arquivo com o nome de 'Retorno.txt' no path que estiver configurado no registry */

    /* Daruma_Registry_Path(•ndice 2), com a 2¬(segunda) via dos cupons que estÒo no 'range' informado */

    /* desde o COO inicial atÚ o COO final ou Data Inicial atÚ a Data Final. */

    PROCEDURE Daruma_FIMFD_DownloadDaMFD EXTERNAL "Daruma32.DLL" PERSISTENT:

    DEFINE INPUT PARAMETER p-coo-inicial AS CHAR.

    DEFINE INPUT PARAMETER p-coo-final AS CHAR.

    DEFINE RETURN PARAMETER p-reterno AS CHAR.

    /* COO Inicial. String com o n·mero do primeiro COO. */

    /* COO Final. String com o n·mero do ·ltimo COO. */

    END.



    /* Configura o Path + nome do Log desejado, esta chave só tem Efeito caso a Chave LOG estiver Ligada. */

    PROCEDURE Daruma_Observer_Registry_Log_Path EXTERNAL "Daruma32.DLL" PERSISTENT:

    DEFINE INPUT PARAMETER p-path AS CHAR.

    DEFINE RETURN PARAMETER p-retorno AS LONG.

    /* String: com o Valor desejado ( Exemplo "C:\OBSERVER.LOG"). */

    END.


    PROCEDURE Daruma_FI_VerificaImpressoraLigada EXTERNAL "Daruma32.DLL" PERSISTENT:

    DEFINE RETURN PARAMETER p-retorno AS LONG.

    END.


    PROCEDURE Daruma_FI_FechaCupomResumido EXTERNAL "Daruma32.DLL" PERSISTENT:

    DEFINE INPUT PARAMETER p-mensagem-promocional AS CHAR.

    DEFINE INPUT PARAMETER p-forma-pagamento AS CHAR.

    DEFINE RETURN PARAMETER p-retorno AS LONG.

    END.


    PROCEDURE Daruma_RFD_GerarArquivo EXTERNAL "Daruma32.DLL" PERSISTENT:

    DEFINE INPUT PARAMETER p-data_ini AS CHAR.

    DEFINE INPUT PARAMETER p-data_fim AS CHAR.

    DEFINE RETURN PARAMETER p-retorno AS LONG.

    END.


    PROCEDURE Daruma_FI_ProgramaAliquota EXTERNAL "Daruma32.DLL" PERSISTENT:

    DEFINE INPUT PARAMETER p-aliquota AS CHAR.

    DEFINE INPUT PARAMETER p-vinculo AS LONG.

    DEFINE RETURN PARAMETER p-retorno AS LONG.

    END.


    PROCEDURE Daruma_FI_NumeroCupom EXTERNAL "Daruma32.DLL" PERSISTENT:

    DEFINE OUTPUT PARAMETER p-numero-cupom AS CHAR.

    DEFINE RETURN PARAMETER p-retorno AS LONG.

    END.



    PROCEDURE Daruma_FI_NumeroSerie EXTERNAL "Daruma32.dll" PERSISTENT:

    DEFINE OUTPUT PARAMETER p-numero-serie AS CHAR.

    DEFINE RETURN PARAMETER p-retorno AS LONG.

    END.


    PROCEDURE Daruma_FIMFD_RetornaInformacao EXTERNAL "Daruma32.DLL" PERSISTENT:

    DEFINE INPUT PARAMETER p-indice AS CHAR.

    DEFINE OUTPUT PARAMETER p-valor AS CHAR.

    DEFINE RETURN PARAMETER p-retorno AS LONG.

    END.
  3. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    Dá alguma mensagem de erro???
    victorcolombo curtiu isso.
  4. victorcolombo

    victorcolombo Sem Pontuação

    Essa aqui:
    "Mismatched number of parameters passed to routine c:\temp\p79653_Untitled2.cmp. (3234)"

    Sei que é referente a passagens de parametros, mas aparentemente, a DLL não esta sendo localizada.

    Lembrando que já realizei testes com o executável Delphi da prória Daruma para a validação do funcionamento da DLL e esta tudo normal.
  5. victorcolombo

    victorcolombo Sem Pontuação

    Última edição: Fevereiro 6, 2015
  6. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    Você tem instalado o Visual Studio?

    Com ele, ao referenciar num projeto, quando mencionar uma função dentro da DLL aparece quantos parâmetros ele recebe e o Data-Type dos parâmetros.

    Deve haver ferramentas semelhantes, mas na minha realidade onde trabalho só conheço esta forma de checar os parâmetros.

    Abraço

    RAfael
    victorcolombo curtiu isso.
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página