Skip to content

Tag-icone-mini.png Totali CheckOut, Fiscal, Funcionalidades

Referenciado por: Análise Projeto PAF-ECF 2011 | Análise para Layout de DAV Impresso em CF | DLL's utilizadas nos Sistemas | Guia para Criação e Manutenção de DLLs | Tabela de Perfil por UF |

Apresentação ​

Dll criada para gerar relatórios impostos pelo PAFECF.

Cada função gera um relatório.

  • Dav Emitidos. (Requisito VI Item 6)
  • Registros do PAF-ECF. (Requisito VI Item 17)

Funções Externas da DDL PAF-ECF ​

GeraTXT_DAV_Emitidos ​

Objetivo

Gerar o relatório gerencial de Dav Emitidos com base no requisito VI item 6 ou Gerar o relatório gerencial de Dav-Os Emitidos com base no requisito XLI Item 1.

Assinatura

GeraTXT_DAV_Emitidos(pServidor, pDataBase, pServerType, pUserName, pPassword, pPath, pNomeArquivo, pDATINC, pDATFIM, pTIPORC : PAnsiChar; pNroColunas : Integer; pFilial: PAnsiChar):PAnsiChar; stdcall;

Parâmetros

pServidor - Servidor que esta conectado.

Ex.: TTDB.

pDataBase - DataBase que esta conectado. Este parâmetro é informado caso o banco seja Oracle então insira o SID caso PostgreSQL insira totali.

Ex.: totali.

pServerType - Este campo indica qual Banco que esta sendo usando, portando se for Oracle informe para este campo 'ORA', se for PostgreSQL informe PG.

pUserName - Usuário logado.

Ex.: TOTALI122.

pPassword - Senha do usuário logado.

Ex.: 112233.

pPath - Caminho onde o arquivo será gerado.

Ex.: T:\ArquivosDAV\.

pNomeArquivo - Nome do arquivo sem a extensão.

Ex.: DAV_Emitidos.

pDATINC e pDATFIM - Data Inicial e Data Final (DD/MM/AAAA) para filtrar os DAV_Emitidos em um determinado período.

Ex. pDATINC: '01/05/2009'

Ex. pDATFIM: '31/05/2009'.

pTIPORC: 'O' ou 'S'

pNroColunas : nº inteiro(total de colunas no cupom fiscal). Padrão: 40 ou 48 colunas.

pFilial - Número da Filial de emissão de DAV (TT_ORC.CDFIL) (3 caracteres)

Ex.: '001'

Retorno

A Função retorna uma String " "(Nulo), caso ocorra algum erro retorna a mensagem de erro.

Exemplo

Result := GeraTXT_DAV_Emitidos('TTDB', 'totali', 'PG', 'TOTALI122', '112233','T:\','DAV_Emitidos',
'01/05/2009', '30/05/2009', 'O', 40, '001');

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar exceto o ultimo que é do tipo inteiro

GeraTXT_RegistrosPAFECF ​

Objetivo

Gera arquivo eletrônico para contemplar requisito VII item 17 conforme leiaute estabelecido no Anexo IV.

  • O arquivo é gerado imediatamente após emissão da redução Z.
  • O arquivo pode ser gerado pelo menu fiscal na opção "Registros do PAF-ECF".

Assinatura

GeraTXT_RegistrosPAFECF(pServidor, pDataBase, pServerType, pUserName, pUserPassword, pPath, pPathChvPrv, pFilial, pDatIni, pDatFim, pListChvPro, pNumEcf, pDesenvCnpj, pDesenvIE, pDesenvIM, pDesenvNome, pPAFECFNome, pPAFECFVersao, pPAFECFMD5, pGeraBlocoP, pGeraBlocoE: PAnsiChar): PAnsiChar; stdcall;

Parâmetros

pServidor - Servidor que esta conectado.

Ex.: TTDB.

pDataBase - DataBase que esta conectado. Este parâmetro é informado caso o banco seja Oracle então insira o SID caso PostgreSQL insira totali.

Ex.: totali.

pServerType - Este campo indica qual Banco que esta sendo usando, portando se for Oracle informe para este campo 'ORA', se for PostgreSQL informe PG.

pUserName - Usuário logado.

Ex.: TOTALI122.

pUserPassword - Senha do usuário logado.

Ex.: 112233.

pPath - Caminho onde o arquivo será gerado.

Ex.: T:\ArquivosDAV\.

pPathChvPrv - Caminho da chave privada da DLL SEGUR.

Ex.: S:\enterprise\chvasn1.prv.

pFilial - Filial logada.

Ex.: 001.

pDatIni - Data inicial da movimentação (DD/MM/AAAA). A data inicial do período que será avaliado. O sistema contará a partir da hora zero.

Ex.: 01/01/2009.

pDatFim - Data final da movimentação (DD/MM/AAAA). A data final do período que será avaliado. O sistema contará até a meia-noite. Em caso de redução Z deverá ser enviado simplesmente Z como parâmetro.

Ex.: 01/01/2009.

pListChvPro - Caminho da Lista de produtos.

OBS: No arquivo é necessário apenas uma chave do produto (CHAVEPRO) por linha.

Ex.: Verificar Lista de Produtos

pNumEcf - Número do ECF utilizada.

Ex.: 001.

pDesenvCnpj - CNPJ da empresa desenvolvedora do PAF-ECF (14 caracteres com zeros à esquerda).

Ex.: 012345678901234

pDesenvIE - Inscrição Estadual da empresa desenvolvedora do PAF-ECF (14 caracteres com zeros à esquerda).

Ex.: 012345678901234

pDesenvIM - Inscrição Municipal da empresa desenvolvedora do PAF-ECF (14 caracteres com zeros à esquerda).

Ex.: 012345678901234

pDesenvNome - Denominação da empresa desenvolvedora do PAF-ECF (até 40 caracteres).

Ex.: Nome da Empresa

pPAFECFNome - Nome Comercial do PAF-ECF (até 40 caracteres).

Ex.: Nome do Sistema

pPAFECFVersao - Versão atual do PAF-ECF (até 10 caracteres).

Ex.: 1.0

pPAFECFMD5 - MD5 do executável (32 caracteres).

Ex.: 01234567890123456789012345678901

pGeraBlocoP - Indicação se terá a geração do Bloco P - Produtos.

Ex.: T - Sim - F - Não

pGeraBlocoE - Indicação se terá a geração do Bloco E - Estoque.

Ex.: T - Sim - F - Não

Lista de Produtos

Mandar FILMAT, CODMAT, CODCOR e CODTAM conforme exemplo abaixo.
Padrão utilizado foi o mesmo da carga de produtos.

001 149-0-0
001 174-0-0
001 112-0-0
001 326-0-0
001 42-0-0
001 43-0-0
001 44-0-0
001 45-0-0

Retorno

Em caso de sucesso a Função retorna uma String com o nome do arquivo gerado com o seguinte formato:

CCCCCCCCCCCCCCDDMMAAAA.txt

CCCCCCCCCCCCCC: CNPJ da Filial

DDMMAAAA: Data de operação. No caso de emissão após o relatório Z será a data referente ao relatório. No caso de emissão por período será a data atual do sistema.

Em caso de erro a Função retorna a String "ERRO [Arquivo Registos PAF-ECF]:" concatenada a uma mensagem mais específica de erro. Para verificar se a Função está com erros sugiro sempre verificar se os primeiros 4 caracteres apresentam: "ERRO".

Exemplo

Result := GeraTXT_RegistrosPAFECF('TTDB', 'totali', 'ORA', 'TOTALI122', '112233', 'T:\Migração\', 'S:\chvasn1.prv', '001', '01/01/2009', '31/01/2009', 'S:\TabProduto.txt', '001', '012345678901234', '012345678901234', '012345678901234', 'Nome da Empresa', 'Nome do Sistema', '1.0', '012345678901234567890123456789012','F','F');

Result := GeraTXT_RegistrosPAFECF('TTDB', 'totali', 'ORA', 'TOTALI122', '112233', 'T:\Migração\', 'S:\chvasn1.prv', '001', '01/01/2009', 'Z', 'S:\TabProduto.txt', '001', '012345678901234', '012345678901234', '012345678901234', 'Nome da Empresa', 'Nome do Sistema', '1.0', '012345678901234567890123456789012', 'T', 'T');

GeraTXT_TabIndiceTecnicoProducao ​

Objetivo

Gera arquivo com a tabela de índices técnicos de produção (Requisito VII, alínea 20)

Assinatura

Function GeraTXT_TabIndiceTecnicoProducao(pServidor, pDataBase, pServerType, pUserName, pPassword, pPath, pNomeArquivo, pPathChvPrv: PAnsiChar): PAnsiChar; stdcall;

Parâmetros

pServidor - Servidor que esta conectado.

Ex.: TTDB.

pDataBase - DataBase que esta conectado. Este parâmetro é informado caso o banco seja Oracle então insira o SID caso PostgreSQL insira totali.

Ex.: totali.

pServerType - Este campo indica qual Banco que esta sendo usando, portando se for Oracle informe para este campo 'ORA', se for PostgreSQL informe 'PG'.

pUserName - Usuário logado.

Ex.: TOTALI122.

pPassword - Senha do usuário logado.

Ex.: 112233.

pPath - Caminho onde o arquivo será gerado.

Ex.: c:\temp\

pNomeArquivo - Nome do arquivo que será gerado.

Ex.: TabIndiceTecnicoProducao.txt

pPathChvPrv - Caminho da chave privada da DLLSEGUR.

Ex.: S:\enterprise\chvasn1.prv.

Retorno

Em caso de sucesso a função retorna uma String vazia. Em caso de erro a função retorna "ERRO [Arquivo TabIndiceTecnicoProducao]:" + <mensagem específica de erro>.

Exemplo

Result := GeraTXT_TabIndiceTecnicoProducao('TTDB', 'totali', 'ORA', 'TOTALI122', '112233',
'C:\TEMP\', 'TabIndiceTecnicoProducao.txt', 'S:\enterprise\chvasn1.prv');

GeraTXT_IDENT_PAFECF ​

Objetivo

Gerar impressão, pelo ECF, de Relatório Gerencial, denominado IDENTIFICAÇÃO DO PAF-ECF.

Assinatura

function GeraTXT_IDENT_PAFECF(pServidor, pDataBase, pServerType, pUserName, pPassword, pPath, pNomeArquivo, pFilial, pPathcripto: PAnsiChar; pNroColunas: Integer; pNumLaudo, pNomeComercial, pVersaoAplPAF, pNomeEXE, pAutentica_MD5, pListaArq, pSerECF, pListaOut, pNomArqMD5, pPrincExeMD5, pPathListECF, pDataLaudo: PAnsiChar): PAnsiChar; stdcall;

Parâmetro

pServidor - Servidor que esta conectado.

Ex.: TTDB.

pDataBase - DataBase que esta conectado. Este parâmetro é informado caso o banco seja Oracle então insira o SID caso PostgreSQL insira totali.

Ex.: totali.

pServerType - Este campo indica qual Banco que esta sendo usando, portando se for Oracle informe para este campo 'ORA', se for PostgreSQL informe 'PG'.

pUserName - Usuário logado.

Ex.: TOTALI122.

pPassword - Senha do usuário logado.

Ex.: 112233.

pPath: Caminho do arquivo.

Ex.: c:\.

pNomeArquivo: Nome do arquivo.

Ex.: IdentPAF.

pFilial: Filial.

Ex.: '001'.

pPathcripto: Caminho completo de onde está o (.aes).

Ex.: c:\IdentPaf.aes.

pNroColunas: Nº de colunas do cupom.

Ex.: 40 ou 48.

pNumLaudo: Nº do Laudo, que deverá ser extraído do Laudo de Análise do PAF-ECF.

pNomeComercial: Nome comercial, que deverá ser extraído do Laudo de Análise do PAF-ECF.

pVersaoAplPAF: Versão, que deverá ser a que está instalada no contribuinte e emitiu este Relatório Gerencial.

pNomeEXE: Principal arquivo executável, que deverá ser o instalado no PAF-ECF que emitiu este Relatório Gerencial.

pAutentica_MD5: Código de autenticação (MD-5) a que se refere o requisito IX.

pListaArq: A relação dos arquivos a que se refere o requisito IX, com os respectivos códigos MD-5.

pSerECF: Numero de fabricação (ECF).

pListaOut: Relação de outros arquivos, com os respectivos códigos MD-5.

pNomArqMD5: Nome do arquivo de autenticação MD-5.

pPrincExeMD5: Código de autenticação (MD-5) do Principal arquivo executável

pPathListECF: Path do arquivo com relação de Numero de fabricação (ECF).

pDataLaudo: Data do Laudo, que deverá ser extraído do Laudo de Análise do PAF-ECF.

Retorno

A Função retorna uma String " "(Nulo), caso ocorra algum erro retorna a mensagem de erro.

Exemplo

Como exemplo de como ficara o relatório segue arquivo: \\ttadm\Anexos_PRJ\totali\paf-ecf\DLL PAFECF\IdentPAFECF.txt

Result := GeraTXT_IDENT_PAFECF('TTORACLE', 'totali', 'ORA', 'TOTALI163', '112233', 'C:\','IdentPAFECF', '001', 'c:\IdentPaf.aes', 'c:\IdentPaf.txt', 40, '123', 'Nome Comercial', '5.0', 'Checkout.exe', 'Autentica', 'TotaliECFDLL.DLL#13#10TTSEGUR.DLL ', '123346841', 'TTBackof.exe#13#10TTOrder.exe', 'MD5PAF.TXT', 'Autentica', 'C:\RelacaoSerECF.TXT', '22/11/2016');

MesclarOrc ​

Objetivo

Gerar nova DAV/Pré-Venda a partir de uma lista de itens de diversas DAV/Pré-Vendas.
A mesclagem só pode ocorrer entre documentos do mesmo tipo (DAV ou Pré-Venda) e com as mesmas características: Plano, Cliente, etc.
Seguindo as regras já utilizadas pelo Checkout para resgatar múltiplas DAVs.
Retornar o novo número.

Assinatura

MesclarOrc(pServidor, pDataBase, pServerType, pUserName, pPassword, pArqItens: PAnsiChar): PAnsiChar; stdcall;

Parâmetros

pServidor - Servidor que esta conectado.

Ex.: TTDB.

pDataBase - DataBase que esta conectado. Este parâmetro é informado caso o banco seja Oracle então insira o SID caso PostgreSQL insira totali.

Ex.: totali.

pServerType - Este campo indica qual Banco que esta sendo usando, portando se for Oracle informe para este campo 'ORA', se for PostgreSQL informe PG.

pUserName - Usuário logado.

Ex.: TOTALI122.

pPassword - Senha do usuário logado.

Ex.: 112233.

pArqItens - Caminho completo do arquivo que contém a lista de chaves primárias de itens de DAV/Pré-Venda.

Ex.: T:\arquivo_itens_orc.txt.

Dentro do arquivo os itens deverão vir encadeados da seguinte forma: 001,P,00000001,1; 001,P,00000001,2; 001,P,00000002,1;

Retorno

A função retorna o número da nova DAV/Pré-Venda no formato DAV<número com 10 posições> quando for DAV e PV<número com 10 posições> quando for Pré-Venda. Caso ocorra algum erro retorna a mensagem de erro.

Exemplo

Result := MesclarOrc('TTDB', 'totali', 'PG', 'TOTALI122', '112233','T:\arquivo_itens_orc.txt');

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar

ImprimeDAV ​

Objetivo

Gerar impressão de DAV em um arquivo texto para que o Checkout e o Order possam imprimí-lo em um ECF.
Quem utiliza esse método fica responsável por gravar o COO da impressão no campo TT_ORC.COOORC.

Assinatura

ImprimeDAV(pServidor, pDataBase, pServerType, pUserName, pPassword, pPath, pNomeArquivo, pCodfil, pTipped, pNumped: PAnsiChar): PAnsiChar; stdcall;

Parâmetros

pServidor - Servidor que esta conectado.

Ex.: TTDB.

pDataBase - DataBase que esta conectado. Este parâmetro é informado caso o banco seja Oracle então insira o SID caso PostgreSQL insira totali.

Ex.: totali.

pServerType - Este campo indica qual Banco que esta sendo usando, portando se for Oracle informe para este campo 'ORA', se for PostgreSQL informe PG.

pUserName - Usuário logado.

Ex.: TOTALI122.

pPassword - Senha do usuário logado.

Ex.: 112233..

pPath - Caminho onde o arquivo será gerado.

Ex.: T:\.

pNomeArquivo - Nome do arquivo com a extensão.

Ex.: DAV00000001.imp.

pCodfil - Filial do DAV.

Ex.: 001.

pTipped: 'O' ou 'S'.

pNumped - Número do DAV.

Ex.: 00000001.

Retorno

A Função retorna uma String " "(Nulo), caso ocorra algum erro retorna a mensagem de erro.

Exemplo

Result := ImprimeDAV('TTDB', 'totali', 'PG', 'TOTALI122', '112233', 'T:\', 'DAV00000001.imp', '001', 'O', '00000001');

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar

GeraTXT_VendasPeriodoSintegraBD ​

Objetivo

Gerar arquivo texto de Vendas por Período do Sintegra

Assinatura

GeraTXT_VendasPeriodoSintegraBD(pServidor, pDataBase, pServerType, pUserName, pPassword, pFilial, pDataIni, pDataFim, pPath, pPathChvPrv, pNumLaudo: PAnsiChar): PAnsiChar; stdcall;

Parâmetros

pServidor - Servidor que está conectado.

Ex.: TTDB.

pDataBase - DataBase que esta conectado. Este parâmetro é informado caso o banco seja Oracle então insira o SID caso PostgreSQL insira totali.

Ex.: totali.

pServerType- Tipo do Banco.

Ex.: PG..

pUserName - Usuário logado.

Ex.: TOTALI122.

pPassword - Senha do usuário logado.

Ex.: 112233..

pFilial - Filial Cliente.

Ex.: 001.

pDataIni - Data inicial.

Ex.: 10/08/2010.

pDataFim - Data final.

Ex.: 11/08/2010.

pPath - Caminho onde o arquivo será gerado.

Ex.: T:\.

pPathChvPrv - Caminho da chave privada da DLLSEGUR.

Ex.: S:\enterprise\chvasn1.prv.

pNumlaudo - Nº do Laudo, que deverá ser extraído do Laudo de Análise do PAF-ECF.

Ex.: F8AA6388EC5F6E38403D.

Retorno

Em caso de sucesso a Função retorna uma String com o nome do arquivo gerado com o seguinte formato:

XXXnnnAAAADDMMAAAAhhmmss.txt onde: I - XXXnnnAAAA representa a numeração do laudo de que trata o § 3º da cláusula nona do Convênio ICMS 15/08; II - DDMMAAAA representa o dia, mês e ano da geração do arquivo; e III - hhmmss representa a hora, minuto e segundo da geração do arquivo.

Exemplo

Result := GeraTXT_VendasPeriodoSintegraBD('TTDB', 'totali', PG, 'TOTALI122', '112233', '001',
01/08/2010', '31/08/2010, 'T:\', 'S:\chvasn1.prv', 'F8AA6388EC5F6E38403D');

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar

GeraTXT_VendasPeriodoSpedFiscalBD ​

Objetivo

Gera arquivo texto de Vendas por Período no layout do Ato COTEPE/ICMS 09/08 (SPED Fiscal) baseando-se em conexão com banco de dados.

Assinatura

GeraTXT_VendasPeriodoSpedFiscalBD(pServidor, pDataBase, pServerType, pUserName, pPassword, pFilial, pDataIni, pDataFim, pPath, pPathChvPrv, pNumLaudo: PAnsiChar): PAnsiChar; stdcall;

Parâmetros

pServidor - Servidor que está conectado.

Ex.: TTDB.

pDataBase - DataBase que esta conectado. Este parâmetro é informado caso o banco seja Oracle então insira o SID caso PostgreSQL insira totali.

Ex.: totali.

pServerType - Tipo do Banco.

Ex.: PG.

pUserName - Usuário logado.

Ex.: TOTALI122.

pPassword - Senha do usuário logado.

Ex.: 112233..

pFilial - Filial Cliente.

Ex.: 001.

pDataIni - Data inicial.

Ex.: 10/08/2010.

pDataFim - Data final.

Ex.: 11/08/2010.

pPath - caminho do arquivo que será gerado.

Ex.: T:\.

pPathChvPrv - Caminho da chave privada da DLLSEGUR.

Ex.: S:\enterprise\chvasn1.prv.

pNumlaudo - Nº do Laudo, que deverá ser extraído do Laudo de Análise do PAF-ECF.

Ex.: 001.

Retorno

Em caso de sucesso a Função retorna uma String com o nome do arquivo gerado com o seguinte formato:

XXXnnnAAAADDMMAAAAhhmmss.txt onde: I - XXXnnnAAAA representa a numeração do laudo de que trata o § 3º da cláusula nona do Convênio ICMS 15/08; II - DDMMAAAA representa o dia, mês e ano da geração do arquivo; e III - hhmmss representa a hora, minuto e segundo da geração do arquivo.

Exemplo

Result := GeraTXT_VendasPeriodoSpedFiscalBD('TTDB', 'totali', 'PG', 'TOTALI122', '112233', '001', '01/08/2010', '31/08/2010', 'T:/', 'S:\chvasn1.prv', '001');

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar

GeraTXT_VendasPeriodoSpedFiscalXML ​

Objetivo

Gera arquivo texto de Vendas por Período no layout do Ato COTEPE/ICMS 09/08 (SPED Fiscal) baseando-se em arquivos XML's.

Assinatura

GeraTXT_VendasPeriodoSpedFiscalXML(pFilial, pDataIni, pDataFim, pPath, pPathChvPrv, pNumLaudo: PAnsiChar): PAnsiChar; stdcall;

Parâmetros

pFilial - Filial Cliente.

Ex.: 001.

pDataIni - Data inicial.

Ex.: 10/08/2010.

pDataFim - Data final.

Ex.: 11/08/2010.

pPath - Caminho do arquivo que será gerado. Também é o caminho onde se encontram os arquivos XML's.

Ex.: T:\.

pPathChvPrv - Caminho da chave privada da DLLSEGUR.

Ex.: S:\enterprise\chvasn1.prv.

pNumLaudo - Nº do Laudo, que deverá ser extraído do Laudo de Análise do PAF-ECF.

Ex.: 001.

Retorno

Em caso de sucesso a Função retorna uma String com o nome do arquivo gerado com o seguinte formato:

XXXnnnAAAADDMMAAAAhhmmss.txt onde: I - XXXnnnAAAA representa a numeração do laudo de que trata o § 3º da cláusula nona do Convênio ICMS 15/08; II - DDMMAAAA representa o dia, mês e ano da geração do arquivo; e III - hhmmss representa a hora, minuto e segundo da geração do arquivo.

Exemplo

Result := GeraTXT_VendasPeriodoSpedFiscalXML('001', '10/08/2010', '11/08/2010', 'T:/', 'S:\chvasn1.prv', '001');

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar

ConsultarNoBanco ​

Objetivo

Executar consultas no banco de dados através de uma Dll, possibilitando que o checkOut faça buscas nas bases de dados.

Assinatura

Function ConsultarNoBanco(pServidor, pDataBase, pServerType, pUserName, pPassword, pArqConsulta, pArqRetorno: PAnsiChar, pbRegistraBanco): PAnsiChar; stdcall;

Parâmetros

pServidor - Servidor que esta conectado.

Ex.: TTDB.

pDataBase - DataBase que esta conectado. Este parâmetro é informado caso o banco seja Oracle então insira o SID caso PostgreSQL insira totali.

Ex.: totali.

pServerType - Este campo indica qual Banco que esta sendo usando, portando se for Oracle informe para este campo 'ORA', se for PostgreSQL informe PG.

pUserName - Usuário logado.

Ex.: TOTALI122.

pPassword - Senha do usuário logado.

Ex.: 112233.

pPath - Caminho onde o arquivo será gerado.

Ex.: T:\ArquivosDAV\.

pArqConsulta - Caminho para o arquivo que contém a consulta.

Ex.: s:\Consulta.sql

pArqRetorno - Caminho para gravar o xml de retorno.

Ex.: s:\Retorno.txt.

pbRegistraBanco - Boolean indica se registra ou não a conexão no banco de dados. Criado para permitir a utilização em bancos que não sejam do commerce.

Ex.: T

Parâmetro - pArqConsulta

O arquivo de consulta pode conter mais de um comando, para que a DLL execute cada comando separadamente, deve-se separar cada comando com um ponto e vírgula no final de cada instrução, abaixo lista de comandos que são interpretados pela DLL :

SELECT - Comandos utilizados para busca de dados, Exemplo: SELECT 'TESTE' AS COLUNAS 1 FROM DUAL;

EXECUTE - Executa funções de banco, Exemplo: EXECUTE funcaoexemplo('parâmetro1', 'parâmetro2');

ROLLBACK - Efetua um RollBack de alterações realizadas por um EXECUTE, Exemplo: ROLLBACK;

Retorno

Em caso de sucesso a Função retorna uma String com o número de registros retornados, senão retorna ERRO: mensagem.

Exemplo

Result := ConsultarNoBanco('TTDB', 'totali', 'PG', 'TOTALI122', '112233', 's:\Consulta.sql', 's:\Retorno.txt', 'T');

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar.

ExecutarNoBanco ​

Objetivo

Executar funções, procedures, inserts, updates ou deletes no banco de dados através de uma Dll, possibilitando que o checkOut execute estas operações nas bases de dados.

Assinatura

Function ExecutarNoBanco(pServidor, pDataBase, pServerType, pUserName, pPassword, pTipoExecucao, pArqExecucao, pbRegistraBanco: PAnsiChar): PAnsiChar; stdcall;

Parâmetros

pServidor - Servidor que esta conectado.

Ex.: TTDB.

pDataBase - DataBase que esta conectado. Este parâmetro é informado caso o banco seja Oracle então insira o SID caso PostgreSQL insira totali.

Ex.: totali.

pServerType - Este campo indica qual Banco que esta sendo usando, portando se for Oracle informe para este campo 'ORA', se for PostgreSQL informe PG.

pUserName - Usuário logado.

Ex.: TOTALI122.

pPassword - Senha do usuário logado.

Ex.: 112233.

pPath - Caminho onde o arquivo será gerado.

Ex.: T:\ArquivosDAV\.

pTipoExecucao - Tipo de execução: 'E' para Execute (funções/procedimentos), qualquer outra para DML (insert, update, delete).

Ex.: E.

pArqExecucao - Caminho arquivo com o texto da query a ser executada.

Ex.: s:\Executar.txt.

pbRegistraBanco - Boolean indica se registra ou não a conexão no banco de dados. Criado para permitir a utilização em bancos que não sejam do commerce.

Ex.: T

Retorno

Em caso de erro retorna 'ERRO: mensagem'. Se for do tipo 'E' retorna 'Função/Procedimento executado com sucesso', para outras retorna o número de linhas afetadas.

Exemplo

Result := ExecutarNoBanco('TTDB', 'totali', 'PG', 'TOTALI122', '112233', 'E', 's:\Executar.txt', 'F');

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar.

CarregaMPBem ​

Objetivo

Formar conjuntos de equipamentos de informática, conforme definido nos insisos.

Assinatura

function CarregaMPBem(pCaminhoArquivoMPBem, pCaminhoRetorno, pServidor, pDataBase, pServerType, pUserName, pPassword : PAnsiChar): PAnsiChar; stdcall;

Parâmetros

pCaminhoArquivoMPBem - Arquivo de envio que contém as vendas conforme layout abaixo.

Ex.: C:\MPBem.txt

pCaminhoRetorno - Arquivo de retorno que contém os conjuntos e os itens aproveitados conforme layout abaixo.

Ex.: C:\

pServidor - Servidor para Conexão com o Banco.

Ex.: 'TTORACLE'

pDataBase - Database para Conexão com o Banco.

Ex.: 'TTORACLE'

pServerType - Tipo do Servidor para Conexão com o Banco.

Ex.: 'ORA'

pUserName - Usuário para Conexão com o Banco.

Ex.: 'PCIA'

pPassword - Senha para Conexão com o Banco.

Ex.: '112233'

Arquivo de Envio

CampoDescriçãoPosiçõesTamanho
PRO.CODNCMCódigo NCM0 - 88
IVE.VLRMOVValor do Item9 - 2416
IVE.QTDMOVQuantidade25 - 3814
IVE.NUMITEChave do item39 - 435
PRO.DESMAT+PRO.ESPMATDescrição do produto + Especificação44 - 243200
IVE.VEN_DATHORData da Venda (DD/MM/YYYY)244 - 25310
PRO.TIPMPBTipo do MP do Bem254 - 2551

Arquivo de Retorno

IncisoMonitorCPUTecladoMouseNotebookModemTabletSmartphoneRoteadorQuantidade de Conjuntos
Posições01 - 56 - 1011 - 1516 - 2021 - 2526 - 3031 - 3536 - 4041 - 4546 - 50
Inciso I1----------Chave do item (IVE.NUMITE)----------------------------------------------------------------------5 Posições
Inciso II2----------------------------------------Chave do item (IVE.NUMITE)----------------------------------------5 Posições
Inciso III3Chave do item (IVE.NUMITE)Chave do item (IVE.NUMITE)Chave do item (IVE.NUMITE)Chave do item (IVE.NUMITE)--------------------------------------------------5 Posições
Inciso IV4----------Chave do item (IVE.NUMITE)Chave do item (IVE.NUMITE)Chave do item (IVE.NUMITE)--------------------------------------------------5 Posições
Inciso V5--------------------------------------------------Chave do item (IVE.NUMITE)------------------------------5 Posições
Inciso VI6------------------------------------------------------------Chave do item (IVE.NUMITE)--------------------5 Posições
Inciso VII7----------------------------------------------------------------------Chave do item (IVE.NUMITE)----------5 Posições
Inciso VIII8--------------------------------------------------------------------------------Chave do item (IVE.NUMITE)5 Posições
Aproveitados9Chave do item (IVE.NUMITE)--------------------------------------------------------------------------------5 Posições

Legenda: ---------- = Não tem.

Retorno

Se o processo for concluído com sucesso o arquivo RetornoMPBem.txt será criado no caminho definido por parâmetro, em caso de erro retorna 'ERRO: mensagem'.

Exemplo Versão 5.0I ou posterior.

Result := CarregaMPBem("C:\EnviosMPBem\EnvioMPBem.txt", "C:\RetornosMPBem\",}} "TTORACLE","TTORACLE","ORA","PCIA2","112233");

Versão anterior à 5.0I.

Result := CarregaMPBem("C:\EnviosMPBem\EnvioMPBem.txt", "C:\RetornosMPBem\", "","","","","");

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar.

GeraArquivoCancelamentoNfe ​

Objetivo

Gera arquivo de cancelamento ou inutilização de NF-e de acordo com a situação da nota no banco de dados da DFE.
Disponível a partir da versão 2.6.

Assinatura

Function GeraArquivoCancelamentoNfe(pServidor, pDataBase, pServerType, pUserName, pPassword, pCodfilEmitente, pSerext, pNumnot, pDataEmissao, pJust: PAnsiChar): PAnsiChar; stdcall;

Parâmetros

pServidor - Servidor que esta conectado.

Ex.: TTDB.

pDataBase - DataBase que esta conectado. Este parâmetro é informado caso o banco seja Oracle então insira o SID caso PostgreSQL insira totali.

Ex.: totali.

pServerType - Este campo indica qual Banco que esta sendo usando, portando se for Oracle informe para este campo 'ORA', se for PostgreSQL informe PG.

pUserName - Usuário logado.

Ex.: TOTALI122.

pPassword - Senha do usuário logado.

Ex.: 112233.

pCodfilEmitente - Filial do emitente da NF-e.

Ex.: "001".

pSerext - Série externa da NF-e.

Ex.: "001".

pNumnot - Número da NF-e.

Ex.: "1" ou " 1"

pDataEmissao - Data da Emissão da NF-e (DD/MM/AAAA).

Ex.: "01/01/2011".

pJust - Justificativa do cancelamento (limitar tamanho em 255 caracteres).

Ex.: "Cliente devolveu produto.".

Retorno

Em caso de erro retorna "ERRO: mensagem".

Exemplo

Result := GeraArquivoCancelamentoNfe('TTDB', 'totali', 'PG', 'TOTALI122', '112233', '001', '001', ' 1', '01/01/2011', 'Cliente devolveu produto.');

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar.

ConsultarNoBancoAssinc ​

Objetivo

Executar consultas assíncronas no banco de dados através de uma Dll, possibilitando que o CheckOut faça buscas nas bases de dados.
Ao ser chamado, o método imediatamente devolve o resultado positivo ou negativo da requisição da consulta, liberando o aplicativo que chamou a consulta para realizar outras tarefas.
Em paralelo, o método cria uma thread para executar a consulta solicitada.
Disponível a partir da versão 2.5.

Assinatura

Function ConsultarNoBancoAssinc(pServidor, pDataBase, pServerType, pUserName, pPassword, pArqConsulta, pArqRetorno: PAnsiChar, pbRegistraBanco): PAnsiChar; stdcall;

Parâmetros

pServidor - Servidor que esta conectado.

Ex.: TTDB.

pDataBase - DataBase que esta conectado. Este parâmetro é informado caso o banco seja Oracle então insira o SID caso PostgreSQL insira totali.

Ex.: totali.

pServerType - Este campo indica qual Banco que esta sendo usando, portando se for Oracle informe para este campo 'ORA', se for PostgreSQL informe PG.

pUserName - Usuário logado.

Ex.: TOTALI122.

pPassword - Senha do usuário logado.

Ex.: 112233.

pPath - Caminho onde o arquivo será gerado.

Ex.: T:\ArquivosDAV\.

pArqConsulta - Caminho para o arquivo que contém a consulta.

Ex.: s:\Consulta.sql

pArqRetorno - Caminho para gravar o xml de retorno.

Ex.: s:\Retorno.txt.

pbRegistraBanco - Mantido por questão de compatibilidade com a função original (ConsultarNoBanco). Utilizar apenas "T". O parâmetro "F" causará um retorno com erros.

Ex.: T

Retorno

Em caso de sucesso a Função retorna uma String vazia, senão retorna ERRO: mensagem.
No XML de retorno, caso ocorra algum erro na consulta, o sistema retorna um arquivo com a seguinte estrutura:

oTable.AddField('ErroXmlDll', ftMemo); oTable.AddField('TipoXmlDll', ftString, 255);

ColunaTipo
ErroXmlDllMemo
TipoXmlDllString(255)

Exemplo

Result := ConsultarNoBancoAssinc('TTDB', 'totali', 'PG', 'TOTALI122', '112233', 's:\Consulta.sql', 's:\Retorno.txt', 'F');

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar.

GeraTXT_Parametros_Configuracao ​

Objetivo

Gerar o relatório de parâmetros de Configuração conforme requisito VII, item 21.

Assinatura

GeraTXT_Parametros_Configuracao(pServidor, pDataBase, pServerType, pUserName, pPassword, pPath, pNomeArquivo, pCodfil : PAnsiChar):PAnsiChar; stdcall;

Parâmetros

pServidor - Servidor que esta conectado.

Ex.: TTPG

pDataBase - DataBase que esta conectado. Este parâmetro é informado caso o banco seja Oracle então insira o SID caso PostgreSQL insira totali.

Ex.: totali.

pServerType - Este campo indica qual Banco que esta sendo usando, portando se for Oracle informe para este campo 'ORA', se for PostgreSQL informe 'PG'.

pUserName - Usuário logado.

Ex.: TOTALI137.

pPassword - Senha do usuário logado.

Ex.: 112233.

pPath - Caminho onde o arquivo será gerado.

Ex.: T:\ArquivosDAV\

pNomeArquivo - Nome do arquivo sem a extensão.

Ex.: ParamConfig

pFilial - Filial.

Ex.: '001'

Retorno

A Função retorna uma String " "(Nulo), caso ocorra algum erro retorna a mensagem de erro.

Exemplo

Result := GeraTXT_Parametros_Configuracao('TTPG', 'totali', 'PG', 'TOTALI137', '112233','T:\','ParamConfig', '001');

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar

GeraProximoNumeroSequencial ​

Objetivo

Gerar próximo número sequencial na tabela TT_COD, para determinada tabela.

Assinatura

GeraProximoNumeroSequencial( pServidor, pDataBase, pServerType, pUserName, pPassword, pFilcod, pCodtab, pCodser, pCodchv :PAnsiChar): PAnsiChar; stdcall;

Parâmetros

pServidor - Servidor que esta conectado.

Ex.: 'TTPG'

pDataBase - DataBase que esta conectado. Este parâmetro é informado caso o banco seja Oracle então insira o SID caso PostgreSQL insira totali.

Ex.: 'totali'

pServerType - Este campo indica qual Banco que esta sendo usando, portando se for Oracle informe para este campo 'ORA', se for PostgreSQL informe 'PG'.

pUserName - Usuário logado.

Ex.: 'TOTALI137'

pPassword - Senha do usuário logado.

Ex.: '112233'

pFilcod- Filial que deve ser gerado o próximo código.

Ex.: '001'

pCodtab - Alias da tabela que deve ser gerado o próximo código.

Ex.: 'PRO'

pCodser - Código de série.

Ex.: 'CF'

pCodchv - Chave composta do código.

Ex.: '1'

Retorno

A Função retorna uma string com o número gerado, caso ocorra algum erro retorna a mensagem de erro.

Exemplo

Result := GeraProximoNumeroSequencial('TTPG', 'totali', 'PG', 'TOTALI138', '112233','001','PRO', 'CF','1');

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar.

ConsultarPerfilEstado ​

Objetivo

Verificar aplicação para funcionalidade no perfil do Estado no PAF-ECF.
A documentação da tabela completa dos perfis tratados pode ser consultada em Tabela de Perfil por UF.

Assinatura

ConsultarPerfilEstado(pFuncionalidade, pEstado: PAnsiChar): PAnsiChar; stdcall;

Parâmetros

pFuncionalidade - Funcionalidade ou Requisito que deseja verificar.

Ex.: 'EMITIRDAVNAOFISCAL'

pEstado - Estado da Filial Logada.

Ex.: 'SC'

Retorno

Em caso de sucesso a Função retorna uma string com 'T' para o estado que se aplica e 'F' para o estado que não se aplica, senão retorna ERRO [ConsultarPerfilEstado]: mensagem.

Exemplo

Result := ConsultarPerfilEstado('EMITIRDAVNAOFISCAL', 'SC');

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar.

GeraTXT_LFD ​

Objetivo

Gera arquivo texto dos registros necessários para atender o Requisito X do ATO COTEPE_ICMS 9 (Item 1 ao 3), no layout do ATO COTEPE 35/05

Assinatura

GeraTXT_LFD(pServidor, pDataBase, pServerType, pUserName, pPassword, pFilial, pDataIni, pDataFim, pPath, pPathChvPrv: PAnsiChar): PAnsiChar; stdcall;

Parâmetros

pServidor - Servidor do banco de dados

Ex.: 'TTPGDESENV' .

pDataBase - Database do banco de dados

Ex.: 'totali'

pServerType - Tipo do Banco

'PG' para Postgres ou 'ORA' para Oracle

pUserName - Usuário do banco de dados

Ex.: 'TOTALI154'

pPassword - Senha do usuário

Ex.: '112233'

pFilial - Filial do cliente

Ex.: '001'

pDataIni - Data inicial

Ex.: '01/07/2014'

pDataFim - Data final

Ex.: '31/07/2014'

pPath - Caminho onde será gerado o arquivo.

Ex.: 'C:\'

pPathChvPrv - Caminho da chave privada da DLL TTSEGUR.

Ex.: 'C:\chvasn1.prv'

Retorno

Em caso de sucesso a função retorna uma String com o nome do arquivo gerado com o seguinte formato:

RelatorioFiscalDF_DDMMAAAAhhmmss.txt, onde:
I - RelatorioFiscalDF_ - texto fixo
II - DDMMAAAA - representa o dia, mês e ano da geração do arquivo
III - hhmmss representa a hora, minuto e segundo da geração do arquivo

Exemplo

Result := GeraTXT_LFD('TTPGDESENV', 'totali', 'PG', 'TOTALI154', '112233', '001', '01/07/2014', '31/07/2014', 'C:\', 'C:\chvasn1.prv');

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar

ConsultarStatusNFe ​

Objetivo

Permitir que seja consultado o status de uma NF-e.

Assinatura

ConsultarStatusNFe(pPatNFe,pCNPJ,pSerieExt,pNumero: PAnsiChar; var pFlgNFe: Integer; var pMotivo: PAnsiChar) : PAnsiChar; stdcall;

Parâmetros

pPatNFe - Path dos arquivos da NF-e

Ex.: 'C:\ERP\' .

pCNPJ - CNPJ do emissor da nota

Ex.: '04303719000152'

pSerieExt - Série da nota

Ex.: '1'

pNumero - Número da nota

Ex.: '12345'

pFlgNFe - Indicador de status da NF-e (parâmetro de retorno passado por referência)

-1 – Retorno do status não encontrado;

0 – NF-e Não Processada;

1 – NF-e Autorizada;

2 - NF-e Rejeitada;

5 – Solicitação não enviada para SEFAZ devido a erro de conexão com o portal;

6 – NF-e Denegada;

7 – NF-e em processamento na SEFAZ;

8 – Erro de importação;

9 – Nota Fiscal aguardando verificação de status;

11 – Nota Fiscal enviada para SEFAZ, mas não foi possível obter o retorno devido à conexão com o portal.

pMotivo - Motivo do status da NF-e (parâmetro de retorno passado por referência)

Ex.: '100: Autorizado o uso da NF-e'

Retorno

Em caso de sucesso a função retorna uma String com a palavra OK, além das variáveis pFlgNFe e pMotivo, que são passados por referência por quem chama o método.

Exemplo

Result := ConsultarStatusNFe('C:\ERP\','04303719000152','1',12345,iFlgNFe,cMotivo);

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar, com exceção de pFlgNFe que é inteiro. Os dois últimos parâmetros são variáveis que guardarão o retorno do método após a execução

GeraXML_BlocoX_ReducaoZ ​

Objetivo

Gera arquivo eletrônico para contemplar requisito LVIII conforme leiaute estabelecido.

  • O arquivo é gerado imediatamente após emissão da redução Z.

Assinatura

GeraXML_BlocoX_ReducaoZ(pServidor, pDataBase, pServerType, pUserName, pUserPassword, pFileName, pDesenvCnpj, pDesenvIE, pDesenvIM, pDesenvNome, pPAFECFNome, pPAFECFVersao, pPAFECFCredenciamento, pFilial, pNumEcf: PAnsiChar; pCNT_RZ, pCNT_RO: Integer): PAnsiChar; stdcall;

Parâmetros

pServidor - Servidor que esta conectado.

Ex.: TTDB.

pDataBase - DataBase que esta conectado. Este parâmetro é informado caso o banco seja Oracle então insira o SID caso PostgreSQL insira totali.

Ex.: totali.

pServerType - Este campo indica qual Banco que esta sendo usando, portando se for Oracle informe para este campo 'ORA', se for PostgreSQL informe PG.

pUserName - Usuário logado.

Ex.: TOTALI173.

pUserPassword - Senha do usuário logado.

Ex.: 112233.

pFileName - Caminho completo onde o arquivo será gerado.

Ex.: T:\BlocoX\ReducaoZ\ECF_001_RZ_1587_RO_6.xml.

pDesenvCnpj - CNPJ da empresa desenvolvedora do PAF-ECF (14 caracteres com zeros à esquerda).

Ex.: 012345678901234

pDesenvIE - Inscrição Estadual da empresa desenvolvedora do PAF-ECF.

Ex.: 012345678901234

pDesenvIM - Inscrição Municipal da empresa desenvolvedora do PAF-ECF.

Ex.: 012345678901234

pDesenvNome - Denominação da empresa desenvolvedora do PAF-ECF.

Ex.: Nome da Empresa

pPAFECFNome - Nome Comercial do PAF-ECF.

Ex.: Nome do Sistema

pPAFECFVersao - Versão atual do PAF-ECF.

Ex.: 1.0

pPAFECFCredenciamento - Número do credenciamento do PAF-ECF na unidade federativa que autorizou seu uso.

Ex.: 1106900003000

pFilial - Filial logada.

Ex.: 001.

pNumEcf - Número do ECF utilizada.

Ex.: 001.

pCNT_RZ - Contador de redução Z a ser gerada.

Ex.: 1587.

pCNT_RO - Contador de reinicio de operação a ser gerada.

Ex.: 6.

Retorno

Em caso de sucesso a Função retorna uma String em branco.

Em caso de erro a Função retorna a String "ERRO [Arquivo Redução Z Bloco X]:" concatenada a uma mensagem mais específica de erro. Para verificar se a Função está com erros sugiro sempre verificar se os primeiros 4 caracteres apresentam: "ERRO".

Exemplo

Result := GeraXML_BlocoX_ReducaoZ('TTDB', 'totali', 'ORA', 'TOTALI122', '112233', 'T:\BlocoX\ReducaoZ\ECF_001_RZ_1587_RO_6.xml', '012345678901234', '012345678901234', '012345678901234', 'Nome da Empresa', 'Nome do Sistema', '1.0', '1106900003000',
'001', '001', 1587, 6);

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar, com exceção de pCNT_RZ e pCNT_RO que é inteiro.

GeraXML_BlocoX_Estoque ​

Objetivo

Gera arquivo eletrônico para contemplar requisito LIX conforme leiaute estabelecido.

  • O arquivo é gerado imediatamente após emissão da redução Z do primeiro ECF na virada do mês, podendo ser gerado até o 5 dia útil após a virada do mês.

Assinatura

GeraXML_BlocoX_Estoque(pServidor, pDataBase, pServerType, pUserName, pUserPassword, pFileName, pDesenvCnpj, pDesenvIE, pDesenvIM, pDesenvNome, pPAFECFNome, pPAFECFVersao, pPAFECFCredenciamento, pFilial, pData: PAnsiChar): PAnsiChar; stdcall;

Parâmetros

pServidor - Servidor que esta conectado.

Ex.: TTDB.

pDataBase - DataBase que esta conectado. Este parâmetro é informado caso o banco seja Oracle então insira o SID caso PostgreSQL insira totali.

Ex.: totali.

pServerType - Este campo indica qual Banco que esta sendo usando, portando se for Oracle informe para este campo 'ORA', se for PostgreSQL informe PG.

pUserName - Usuário logado.

Ex.: TOTALI173.

pUserPassword - Senha do usuário logado.

Ex.: 112233.

pFileName - Caminho completo onde o arquivo será gerado.

Ex.: T:\BlocoX\Estoque\Filial_001_31082016.xml.

pDesenvCnpj - CNPJ da empresa desenvolvedora do PAF-ECF (14 caracteres com zeros à esquerda).

Ex.: 012345678901234

pDesenvIE - Inscrição Estadual da empresa desenvolvedora do PAF-ECF.

Ex.: 012345678901234

pDesenvIM - Inscrição Municipal da empresa desenvolvedora do PAF-ECF.

Ex.: 012345678901234

pDesenvNome - Denominação da empresa desenvolvedora do PAF-ECF.

Ex.: Nome da Empresa

pPAFECFNome - Nome Comercial do PAF-ECF.

Ex.: Nome do Sistema

pPAFECFVersao - Versão atual do PAF-ECF.

Ex.: 1.0

pPAFECFCredenciamento - Número do credenciamento do PAF-ECF na unidade federativa que autorizou seu uso.

Ex.: 1106900003000

pFilial - Filial logada.

Ex.: 001.

pData - Data do Estoque.

Ex.: 31/08/2016.

Retorno

Em caso de sucesso a Função retorna uma String em branco.

Em caso de erro a Função retorna a String "ERRO [Arquivo Estoque Bloco X]:" concatenada a uma mensagem mais específica de erro. Para verificar se a Função está com erros sugiro sempre verificar se os primeiros 4 caracteres apresentam: "ERRO".

Exemplo

Result := GeraXML_BlocoX_Estoque('TTDB', 'totali', 'ORA', 'TOTALI122', '112233', 'T:\BlocoX\Estoque\Filial_001_31082016.xml', '012345678901234', '012345678901234', '012345678901234', 'Nome da Empresa', 'Nome do Sistema', '1.0', '1106900003000',
'001', '31/08/2016');

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar.

GeraTXT_VendasIdentificadas ​

Objetivo

Gera arquivo eletrônico para contemplar o requisito VII, item 22 conforme leiaute estabelecido no anexo VI.

Assinatura

function GeraTXT_VendasIdentificadas(pServidor, pDataBase, pServerType, pUserName, pUserPassword, pFileName, pPathChvPrv, pFilial, pMes, pAno, pCNPJ_CPF, pDesenvCnpj, pDesenvIE, pDesenvIM, pDesenvNome, pDesenvUF, pPAFECFNome, pPAFECFVersao, pPAFECFLaudo: PAnsiChar): PAnsiChar; stdcall;

Parâmetros

pServidor - Servidor que esta conectado.

Ex.: TTDB.

pDataBase - DataBase que esta conectado. Este parâmetro é informado caso o banco seja Oracle então insira o SID caso PostgreSQL insira totali.

Ex.: totali.

pServerType - Este campo indica qual Banco que esta sendo usando, portando se for Oracle informe para este campo 'ORA', se for PostgreSQL informe PG.

pUserName - Usuário logado.

Ex.: TOTALI122.

pUserPassword - Senha do usuário logado.

Ex.: 112233.

pFileName - Caminho onde o arquivo será gerado.

Ex.: VendasIdentificadas.txt.

pPathChvPrv - Caminho da chave privada da assinatura com EAD.

Ex.: chvasn1.prv.

pFilial - Filial logada.

Ex.: 001.

pMes - Mês do movimentação (MM). O mês que será avaliado.

Ex.: 10.

pAno - Ano do movimentação (AAAA). O ano que será avaliado.

Ex.: 2016.

pCNPJ_CPF - CNPJ/CPF para filtro na geração do relatório.

Ex.: .

pDesenvCnpj - CNPJ da empresa desenvolvedora do PAF-ECF (14 caracteres com zeros à esquerda).

Ex.: 012345678901234

pDesenvIE - Inscrição Estadual da empresa desenvolvedora do PAF-ECF (14 caracteres com zeros à esquerda).

Ex.: 012345678901234

pDesenvIM - Inscrição Municipal da empresa desenvolvedora do PAF-ECF (14 caracteres com zeros à esquerda).

Ex.: 012345678901234

pDesenvNome - Denominação da empresa desenvolvedora do PAF-ECF (até 40 caracteres).

Ex.: Nome da Empresa

pDesenvUF - Estado da empresa desenvolvedora do PAF-ECF.

Ex.: SC

pPAFECFNome - Nome Comercial do PAF-ECF (até 40 caracteres).

Ex.: Nome do Sistema

pPAFECFVersao - Versão atual do PAF-ECF (até 10 caracteres).

Ex.: 1.0

pPAFECFLaudo - Laudo do PAF-ECF.

Ex.: 01234567890123456789012345678901

Retorno

Em caso de sucesso a Função retorna uma String em branco.

Em caso de erro a Função retorna a String "ERRO [Arquivo Vendas Identificadas PAF-ECF]:" concatenada a uma mensagem mais específica de erro. Para verificar se a Função está com erros sugiro sempre verificar se os primeiros 4 caracteres apresentam: "ERRO".

Exemplo

Result := GeraTXT_VendasIdentificadas('TTDB', 'totali', 'ORA', 'TOTALI122', '112233', 'VendasIdentificadas.txt', 'chvasn1.prv', '001', '10', '2016', , '012345678901234', '012345678901234', '012345678901234', 'Nome da Empresa', 'UF', 'Nome do Sistema', '1.0', '012345678901234567890123456789012');

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar.

AberturaCaixaOnline ​

Objetivo

Gera registro na tabela TT_CCX indicando abertura do caixa.

Assinatura

function AberturaCaixaOnline(pServidor, pDataBase, pServerType, pUserName, pUserPassword, pbRegistraBanco, pFilial, pNumECF, pFilUsu, pCodUsu: PAnsiChar): PAnsiChar; stdcall;

Parâmetros

pServidor - Servidor que esta conectado.

Ex.: TTDB.

pDataBase - DataBase que esta conectado. Este parâmetro é informado caso o banco seja Oracle então insira o SID caso PostgreSQL insira totali.

Ex.: totali.

pServerType - Este campo indica qual Banco que esta sendo usando, portando se for Oracle informe para este campo 'ORA', se for PostgreSQL informe PG.

pUserName - Usuário logado.

Ex.: TOTALI173.

pUserPassword - Senha do usuário logado.

Ex.: 112233.

pbRegistraBanco - Boolean indica se registra ou não a conexão no banco de dados.

Ex.: T

pFilial - Filial logada.

Ex.: 001.

pNumEcf - Número do ECF utilizada.

Ex.: 001.

pFilUsu - Filial do Usuário.

Ex.: 001.

pCodUsu - Código do Usuário.

Ex.: 1.

Retorno

Em caso de sucesso a Função retorna uma String em branco.

Em caso de erro a Função retorna a String "ERRO [Abertura Caixa Online]:" concatenada a uma mensagem mais específica de erro. Para verificar se a Função está com erros sugiro sempre verificar se os primeiros 4 caracteres apresentam: "ERRO".

Exemplo

Result := AberturaCaixaOnline('TTDB', 'totali', 'PG', 'TOTALI173', '112233', 'T', '001', '001', '001', ' 1');

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar.

FechamentoCaixaOnline ​

Objetivo

Atualiza registro na tabela TT_CCX indicando fechamento do caixa e retorna se é o primeiro fechamento do dia.

Assinatura

function FechamentoCaixaOnline(pServidor, pDataBase, pServerType, pUserName, pUserPassword, pbRegistraBanco, pFilial, pNumECF, pFilUsu, pCodUsu, pDatAbe: PAnsiChar; var pPrimeiroFechamentoDia: PAnsiChar): PAnsiChar; stdcall;

Parâmetros

pServidor - Servidor que esta conectado.

Ex.: TTDB.

pDataBase - DataBase que esta conectado. Este parâmetro é informado caso o banco seja Oracle então insira o SID caso PostgreSQL insira totali.

Ex.: totali.

pServerType - Este campo indica qual Banco que esta sendo usando, portando se for Oracle informe para este campo 'ORA', se for PostgreSQL informe PG.

pUserName - Usuário logado.

Ex.: TOTALI173.

pUserPassword - Senha do usuário logado.

Ex.: 112233.

pbRegistraBanco - Boolean indica se registra ou não a conexão no banco de dados.

Ex.: T

pFilial - Filial logada.

Ex.: 001.

pNumEcf - Número do ECF utilizada.

Ex.: 001.

pFilUsu - Filial do Usuário.

Ex.: 001.

pCodUsu - Código do Usuário.

Ex.: 1.

pDatAbe - Data Abertura do Caixa (DD/MM/AAAA).

Ex.: 06/10/2016.

pPrimeiroFechamentoDia - Indicador de primeiro fechamento do dia (parâmetro de retorno passado por referência).

Retorno.: T ou F.

Retorno

Em caso de sucesso a Função retorna uma String em branco.

Em caso de erro a Função retorna a String "ERRO [Fechamento Caixa Online]:" concatenada a uma mensagem mais específica de erro. Para verificar se a Função está com erros sugiro sempre verificar se os primeiros 4 caracteres apresentam: "ERRO".

Exemplo

Result := FechamentoCaixaOnline('TTDB', 'totali', 'PG', 'TOTALI173', '112233', 'T', '001', '001', '001', ' 1', '06/10/2016', cPrimeiroFechamentoDia);

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar. O último parâmetro é variável que guarda o retorno do método após a execução.

EncodeFileBase64 ​

Objetivo

Gerar codificação em Base64 para arquivo informado.

Assinatura

function EncodeFileBase64(pFileName: PAnsiChar; pCompactFile: PAnsiChar; pFileNameBase64: PAnsiChar): PAnsiChar; stdcall;

Parâmetros

pFileName - Caminho para o arquivo.

Ex.: File.xml.

pCompactFile - Boolean que indica se ira compactar arquivo para geração da Base64.

Ex.: T ou F.

pFileNameBase64 - Caminho para arquivo Retorno com a Base64 gerada.

Retorno.: Será criado o arquivo informado com o valor da base64 gerada.

Retorno

Em caso de sucesso a Função retorna uma String em branco.

Em caso de erro a Função retorna a String "ERRO [Encode File Base64]" concatenada a uma mensagem mais específica de erro. Para verificar se a Função está com erros sugiro sempre verificar se os primeiros 4 caracteres apresentam: "ERRO".

Exemplo

Result := EncodeFileBase64('File.xml', 'T', 'FileBase64.txt');

DecodeFileBase64 ​

Objetivo

Gerar arquivo decodificação a Base64 informada.

Assinatura

function DecodeFileBase64(pDataEncode: PAnsiChar; pCompactFile: PAnsiChar; pFileName: PAnsiChar): PAnsiChar; stdcall;

Parâmetros

pDataEncode - Valor em Base64 a ser decodificado.

Ex.: ValorBase64.

pCompactFile - Boolean que indica que a Base64 foi gerada sobre arquvo compactado.

Ex.: T ou F.

pFileName - Caminho onde o arquivo será gerado.

Ex.: FileRetorno.xml.

Retorno

Em caso de sucesso a Função retorna uma String em branco.

Em caso de erro a Função retorna a String "ERRO [Decode File Base64]" concatenada a uma mensagem mais específica de erro. Para verificar se a Função está com erros sugiro sempre verificar se os primeiros 4 caracteres apresentam: "ERRO".

Exemplo

Result := DecodeFileBase64('ValorBase64', 'T', 'FileRetorno.xml');

GeraArquivoRequisicaoExterna ​

Objetivo

Gera arquivo eletrônico para contemplar o requisito VII, item 23, conforme leiaute estabelecido no Anexo VII.

Assinatura

function GeraArquivoRequisicaoExterna(pServidor, pDataBase, pServerType, pUserName, pUserPassword, pPath, pPathChvPrv, pFilial, pDia, pMes, pAno, pDesenvCnpj, pDesenvIE, pDesenvIM, pDesenvNome, pDesenvUF, pPAFECFNome, pPAFECFVersao, pPAFECFLaudo: PAnsiChar): PAnsiChar; stdcall;

Parâmetros

pServidor - Servidor que esta conectado.

Ex.: TTDB.

pDataBase - DataBase que esta conectado. Este parâmetro é informado caso o banco seja Oracle então insira o SID caso PostgreSQL insira totali.

Ex.: totali.

pServerType - Este campo indica qual Banco que esta sendo usando, portando se for Oracle informe para este campo 'ORA', se for PostgreSQL informe PG.

pUserName - Usuário logado.

Ex.: TOTALI2019.

pUserPassword - Senha do usuário logado.

Ex.: 112233.

Path - Caminho onde o arquivo será gerado.

Ex.: C:\temp\.

pPathChvPrv - Caminho da chave privada da assinatura com EAD.

Ex.: chvasn1.prv.

pFilial - Filial logada.

Ex.: 001.

pDia- Dia da requisição (DD). O dia que será avaliado (opcional).

Ex.: 01.

pMes - Mês da movimentação (MM). O mês que será avaliado (opcional, se dia não informado).

Ex.: 02.

pAno - Ano do movimentação (AAAA). O ano que será avaliado.

Ex.: 2019.

pDesenvCnpj - CNPJ da empresa desenvolvedora do PAF-ECF (14 caracteres com zeros à esquerda).

Ex.: 012345678901234

pDesenvIE - Inscrição Estadual da empresa desenvolvedora do PAF-ECF (14 caracteres com zeros à esquerda).

Ex.: 012345678901234

pDesenvIM - Inscrição Municipal da empresa desenvolvedora do PAF-ECF (14 caracteres com zeros à esquerda).

Ex.: 012345678901234

pDesenvNome - Denominação da empresa desenvolvedora do PAF-ECF (até 50 caracteres).

Ex.: Nome da Empresa

pDesenvUF - Estado da empresa desenvolvedora do PAF-ECF.

Ex.: SC

pPAFECFNome - Nome Comercial do PAF-ECF (até 50 caracteres).

Ex.: Nome do Sistema

pPAFECFVersao - Versão atual do PAF-ECF (até 10 caracteres).

Ex.: 1.0

pPAFECFLaudo - Laudo do PAF-ECF.

Ex.: 01234567890123456789012345678901

Retorno

Em caso de sucesso a Função retorna uma String com o nome do arquivo gerado com o seguinte formato:

ARQRE_ddmmyyyyhhnnss.txt onde:

"ARQRE_" - fixo

dd - Dia

mm - Mês

yyyy - Ano

hh - Hora

nn - Minuto

ss - Segundo

Em caso de erro a Função retorna a String "ERRO [Arquivo Requisições Externas PAF-ECF]:" concatenada a uma mensagem mais específica de erro. Para verificar se a função está com erros sugiro sempre verificar se os primeiros 4 caracteres apresentam: "ERRO".

Exemplo

Result := GeraArquivoRequisicaoExterna('TTDB', 'totali', 'ORA', 'TOTALI122', '112233', 'C:\temp', 'chvasn1.prv', '001', '01', '02', '2019', '012345678901234', '012345678901234', '012345678901234', 'Nome da Empresa', 'UF', 'Nome do Sistema', '1.0', '012345678901234567890123456789012');

Obs.: Todos os parâmetros devem ser do tipo PAnsiChar.

Alterações ​

Nessa seção estão relacionadas as alterações que a DLL sofreu a cada versão. Desta forma, pode-se por aqui verificar quais tratamentos passam a ser necessários em sistemas que utilizam a DLL e vão passar a utilizar uma versão mais nova.

Versão 6.10 ​

  • Inclusão do método GeraArquivoRequisicaoExterna.

Versão 6.04 ​

  • Alterações dos Métodos GeraTXT_RegistrosPAFECF, GeraTXT_RegistrosPAFECF, GeraXML_BlocoX_Estoque, GeraTXT_VendasIdentificadas, ConsultarPerfilEstado, GeraTXT_DAV_Emitidos, ImprimeDAV, GeraTXT_TabIndiceTecnicoProducao, GeraTXT_IDENT_PAFECF e GeraTXT_Parametros_Configuracao centralizando a geração em classes de serviços sendo compartilhada entre a DLL e Middleware.
  • Alterações dos Métodos GeraTXT_LFD, GeraTXT_VendasPeriodoSpedFiscalBD e GeraTXT_VendasPeriodoSpedFiscalXML deixando apenas referencia dos métodos, processo foi necessário para compatibilizar DLL com serviços do Middleware, além das funções não serem mais utilizadas pelo PAFECF.

Versão 6.03 ​

  • Alteração do métodos EncodeFileBase64, retirando a variável de referente e solicitando nome do arquivo para salvar o valor da base64 gerada.

Versão 6.01 ​

  • Inclusão dos métodos EncodeFileBase64 e DecodeFileBase64.
  • Ajustes na geração do BlocoX atendendo alterações internas.

Versão 6.00 ​

  • Migração da DLL para Delphi XE 7.
  • Melhorias no controle de versão da DLL seguindo novo padrão Versionamento da DLL
  • Inclusão dos métodos GeraXML_BlocoX_ReducaoZ, GeraXML_BlocoX_Estoque, GeraTXT_VendasIdentificadas, AberturaCaixaOnline e FechamentoCaixaOnline.
  • Inclusão dos parâmetros pGeraBlocoP e pGeraBlocoE no método GeraTXT_RegistrosPAFECF.
  • Alteração na Tabela de Perfil do PAF conforme ER 02.04.
  • Inclusão das funcionalidade (GERAR_ESPELHO_MFD, GERAR_VENDAS_IDENTIFICADAS, GERAR_ARQ_1704, BLOQUEAR_NF_ECF_FORA, GERAR_LEITURA_MFD, GERAR_FISCO_REDUCAO_Z, BLOQUEAR_FISCO_REDUCAO_Z, GERAR_FISCO_ESTOQUE, GERAR_AUTO_REGISTROS_PAFECF, PERMITIR_TROCO_TEF) no método ConsultarPerfilEstado.
  • Inclusão de verificação/validação da assinatura para dados do registro D4 do arquivos de registros do PAF gerado pela função GeraTXT_RegistrosPAFECF.
  • Inclusão do parâmetro "pDataLaudo" no método GeraTXT_IDENT_PAFECF.
  • Verificação/Validação da assinatura para dados do registro D2 do arquivos de registros do PAF gerado pela função GeraTXT_RegistrosPAFECF.
  • Inclusão da geração do registro H2 no método GeraTXT_RegistrosPAFECF.

Versão 5.18 ​

  • Ajuste função CarregaMPBem para carregar lista de produtos disponíveis apenas quando data inferior a 01/01/2016 conforme legislação em vigor.

Versão 5.17 ​

  • Corrigido erro no processo de autenticação da conexão ao banco de dados.

Versão 5.15 ​

  • Ajuste da função GeraProximoNumeroSequencial para quando existir a funcionalidade "SAV_SEQUNI" gerar código sequencial desconsiderando Filial(pFilCod) e Chave(pCodchv) quando Tabela(pCodtab) = "SAV".

Versão 5.11 ​

  • Ajustes do retorno quando passado ao parametro "pPathListECF" no método GeraTXT_IDENT_PAFECF um arquivo inválido.

Versão 5.10 ​

  • Inclusão do parametro "pPathListECF" no método GeraTXT_IDENT_PAFECF.

Versão 5.08 ​

  • Inclusão do método ConsultarStatusNFe.

Versão 5.07 ​

  • Ajuste de erro no método CarregaMPBem ao efetuar venda com produto configurado incorretamente.

Versão 5.06 ​

  • Transformado unit TTUPerfil em uma Classe para realização da consulta do requisito.
  • Corrigido controles de requisitos.
  • Adicionado Tratamentos para retornar ERRO quando (parâmetros inválidos, Estado Inválido, Requisito/Funcionalidade não definido).

Versão 5.02 ​

  • Inclusão do método GeraTXT_RegistrosPAFECF.
  • Exclusão do método GeraTXT_Estoque.
  • Exclusão do método GeraTXT_TabProduto.
  • Exclusão do método GeraTXT_Relacao_DAV_Emitidos.
  • Exclusão do método GeraTXT_MovimentoECF.
  • Exclusão do método GeraTXT_MeiosPagamento.
  • Exclusão do método GeraTXT_Manutencao_Bombas.
  • Exclusão do método GeraTXT_Controle_Encerrantes.

Versão 5.01 ​

  • Inclusão do método GeraTXT_LFD.

Versão 5.00 ​

  • Inclusão do método ConsultarPerfilEstado.

Versão 4.20 ​

  • Correção do Metodo ConsultarNoBancoAssinc quando comando passado é "EXECUTE".

Versão 4.10 ​

  • Alteração dos parâmetros da função CarregaMPBem.