Totali CheckOut, Fiscal, Funcionalidades
Referenciado por: DLL's utilizadas nos Sistemas |
Conceito
Dll criada para gerar quatro relatórios diferentes impostos pelo PAFECF.
Cada função gera um relatório.
- Dav Emitidos. (Requisito VI Item 6)
- Relação dos DAV emitidos. (Requisito VI Item 7)
- Relação de Mercadorias e Serviços. (Requisito VII Item 7)
- Relação das Mercadorias em estoque. (Requisito VII Item 8)
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 : PChar; pNroColunas : Integer; pFilial: PChar):PChar; 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 PChar exceto o ultimo que é do tipo inteiro
GeraTXT_Relacao_DAV_Emitidos
Objetivo
Gera o relatório gerencial de DAV Emitidos, (arquivo eletrônico do tipo texto (TXT), conforme leiaute estabelecido no Anexo III).
Assinatura
Function GeraTXT_Relacao_DAV_Emitidos(pServidor, pDataBase, pServerType, pUserName, pPassword,
pFilial, pPath, pNomeArquivo, pPathChvPrv, pDATINC, pDATFIM, pTIPORC : PChar):PChar; 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.
pFilial - Filial logada.
Ex.: 001.
pPath - Caminho onde o arquivo será gerado.
Ex.: T:\ArquivosDAV\.
pNomeArquivo - Nome do arquivo sem a extensão.
Ex.: Relacao_DAV_Emitidos.
pPathChvPrv - Caminho da chave privada da DLL SEGUR.
Ex.: S:\enterprise\chvasn1.prv.
pDATINC e pDATFIM - Data Inicial e Data Final (DD/MM/AAAA) para filtrar os Relacao_DAV_Emitidos em um determinado período.
Ex. pDATINC: '01/05/2009'
Ex. pDATFIM: '31/05/2009'.
pTIPORC: 'O' ou 'S'
Retorno
A Função retorna uma String " "(Nulo), caso ocorra algum erro retorna a mensagem de erro.
Exemplo
Result := GeraTXT_Relacao_DAV_Emitidos('TTDB', ' ', 'ORA', 'TOTALI122', '112233', '001','T:\','Relacao_DAV_Emitidos', 'S:\chvasn1.prv', '01/05/2009', '30/05/2009','O');
Obs.: Todos os parâmetros devem ser do tipo PChar.
GeraTXT_TabProduto
Objetivo
Gera os arquivos eletrônicos a que se refere o requisito XX. Texto do Requisito XX: O PAF-ECF deve disponibilizar função que permita gerar arquivo eletrônico no formato e conforme leiaute estabelecido no Anexo V, contendo os dados da Tabela de Mercadorias e Serviços de que trata o requisito XI.
Assinatura
Function GeraTXT_TabProduto(pServidor, pDataBase, pServerType, pUserName, pPassword, pFilial,
pPath, pNomeArquivo, pPathChvPrv : PChar):PChar; 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.
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.
pFilial - Filial logada.
Ex.: 001.
pPath - Caminho onde o arquivo será gerado.
Ex.: T:\ArquivosDAV\.
pNomeArquivo - Nome do arquivo sem a extensão.
Ex.: TabProduto.
pPathChvPrv - Caminho da chave privada da DLL SEGUR.
Ex.: S:\enterprise\chvasn1.prv.
Retorno
A Função retorna uma String " "(Nulo), caso ocorra algum erro retorna a mensagem de erro.
Exemplo
Result := GeraTXT_TabProduto('TTDB', 'totali', 'PG', 'TOTALI122', '112233',
'001','T:\','TabProduto', 'S:\chvasn1.prv');
Obs.: Todos os parâmetros devem ser do tipo PChar.
GeraTXT_Estoque
Objetivo
Gera arquivo eletrônico conforme leiaute estabelecido no Anexo IV, contendo:
a) O código e a descrição das mercadorias cadastradas na Tabela de Mercadorias e Serviços prevista no requisito XI;
b) A quantidade em estoque referente à sua última atualização.
Assinatura
Function GeraTXT_Estoque(pServidor, pDataBase, pServerType, pUserName, pPassword, pFilial, pPath, pNomeArquivo, pPathChvPrv, pListChvPro, pNumECF : PChar):PChar; 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.
pFilial - Filial logada.
Ex.: 001.
pPath - Caminho onde o arquivo será gerado.
Ex.: T:\ArquivosDAV\.
pNomeArquivo - Nome do arquivo sem a extensão.
Ex.: Estoque.
pPathChvPrv - Caminho da chave privada da DLL SEGUR.
Ex.: S:\enterprise\chvasn1.prv.
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 da ECF responsável pela atualização do estoque (TT_ECF.NUMECF) (3 caracteres)
Ex.: '001'
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
A Função retorna uma String " "(Nulo), caso ocorra algum erro retorna a mensagem de erro.
Exemplo
Result := GeraTXT_TabProduto('TTDB', 'totali', 'ORA', 'TOTALI122', '112233',
'001','T:\', 'S:\chvasn1.prv', 'S:\TabProduto.txt' , '001');
Obs.: Todos os parâmetros devem ser do tipo PChar.
GeraTXT_MovimentoECF
Objetivo
Gera arquivo eletrônico para contemplar requisito XXV conforme leiaute estabelecido no Anexo VI.
- O arquivo é gerado imediatamente após emissão da redução Z.
- O arquivo pode ser gerado pelo menu fiscal na opção "Movimento por ECF".
Assinatura
Function GeraTXT_MovimentoECF(pServidor, pDataBase, pServerType, pUserName, pPassword, pFilial, pNumecf, pDatIni, pDatFim, pPath, pPathChvPrv, pCnpj, pIE, pIM, pNomeEmpresa, pNomePAFECF, pVersaoPAFECF, pMD5 : PChar):PChar; 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.
pFilial - Filial logada.
Ex.: 001.
pNumecf - Número do ECF.
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.
pPath - Caminho onde o arquivo será gerado.
Ex.: T:\ArquivosDAV\.
pPathChvPrv - Caminho da chave privada da DLL SEGUR.
Ex.: S:\enterprise\chvasn1.prv.
pCnpj - CNPJ da empresa desenvolvedora do PAF-ECF (14 caracteres com zeros à esquerda).
Ex.: 012345678901234
pIE - Inscrição Estadual da empresa desenvolvedora do PAF-ECF (14 caracteres com zeros à esquerda).
Ex.: 012345678901234
pIM - Inscrição Municipal da empresa desenvolvedora do PAF-ECF (14 caracteres com zeros à esquerda).
Ex.: 012345678901234
pNomeEmpresa - Denominação da empresa desenvolvedora do PAF-ECF (até 40 caracteres).
Ex.: Nome da Empresa
pNomePAFECF - Nome Comercial do PAF-ECF (até 40 caracteres).
Ex.: Nome do Sistema
pVersaoPAFECF - Versão atual do PAF-ECF (até 10 caracteres).
Ex.: 1.0
pMD5 - MD5 do executável (32 caracteres).
Ex.: 01234567890123456789012345678901
Retorno
Em caso de sucesso a Função retorna uma String com o nome do arquivo gerado com o seguinte formato:
CCCCCCNNNNNNNNNNNNNNDDMMAAAA.txt
CCCCCC: Identificação do ECF
NNNNNNNNNNNNNN: Número de fabricação do ECF
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 MovimentoECF]:" concatenada a uma mensagem mais específica de erro. Para verificar se a Função está com erros sugiro sempre verificar se os primeiros 5 caracteres apresentam: "ERRO ".
Exemplo
Result := GeraTXT_MovimentoECF('TTDB', 'totali', 'ORA', 'TOTALI122', '112233', '001', '001', '01/01/2009', '31/01/2009', 'T:\Migração\', 'TabProduto', 'S:\enterprise\chvasn1.prv', '012345678901234', '012345678901234', '012345678901234', 'Nome da Empresa', 'Nome do Sistema', '1.0', '012345678901234567890123456789012');
Result := GeraTXT_MovimentoECF('TTDB', 'totali', 'ORA', 'TOTALI122', '112233', '001', '001', '01/01/2009', 'Z', 'T:\Migração\', 'TabProduto', 'S:\enterprise\chvasn1.prv', '012345678901234', '012345678901234', '012345678901234', 'Nome da Empresa', 'Nome do Sistema', '1.0', '012345678901234567890123456789012');
GeraTXT_MeiosPagamento
Objetivo
Gera arquivo para impressão de meios de pagamento (Requisitos XXIX e XXX)
- a identificação do meio de pagamento e, quando for o caso, do cartão de crédito, débito ou similar;
- o tipo do documento a que se refere o pagamento;
- o valor acumulado;
- a data da acumulação;
- a soma individual de cada meio de pagamento referente ao período solicitado.
Assinatura
Function GeraTXT_MeiosPagamento(pServidor, pDataBase, pServerType, pUserName, pPassword, pFilial, pNumecf, pDatIni, pDatFim, pPath, pNomeArquivo, pPathChvPrv, pMD5 : PChar):PChar; 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.
pFilial - Filial logada.
Ex.: 001.
pNumecf - Número do ECF.
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.
Ex.: 01/01/2009.
pPath - Caminho onde o arquivo será gerado.
Ex.: c:\temp\
pNomeArquivo - Nome do arquivo que será gerado.
Ex.: MEIOSPAGAMENTO
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 MeioPagamento]:" + <mensagem específica de erro>.
Exemplo
Result := GeraTXT_MeiosPagamento('TTDB', 'totali', 'ORA', 'TOTALI122', '112233', '001', '001', '01/01/2009', '31/01/2009', 'C:\TEMP\', 'MEIOSPAGAMENTO', 'S:\enterprise\chvasn1.prv');
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: PChar): PChar; 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(pPath, pNomeArquivo, pFilial, pPathcripto : PChar; pNroColunas :Integer; pNumLaudo,pNomeComercial, pVersaoAplPAF, pNomeEXE, pAutentica_MD5, pListaArq, pSerECF, pListaOut, pNomArqMD5 : PChar ):PChar;stdcall;
Parâmetro
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.
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('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');
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: PChar): PChar; 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 PChar
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: PChar): PChar; 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 PChar
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: PChar): PChar; 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 PChar
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: PChar): PChar; 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 PChar
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: PChar): PChar; 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 PChar
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: PChar, pbRegistraBanco): PChar; 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.
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 PChar.
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: PChar): PChar; 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.
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 PChar.
CarregaMPBem
Atenção!
DLL Versão 3.0: ÿ partir da Release 14 do COMMERCE 5.0G a versão 3 da DLL PAFECF foi alterada para 3.03.
DLL Versão 4.0: ÿ partir da Release 14 do COMMERCE 5.0G a versão 4 da DLL PAFECF foi alterada para 4.02.
Objetivo
Formar conjuntos de equipamentos de informática, conforme definido nos insisos.
Assinatura
function CarregaMPBem(pCaminhoArquivoMPBem, pCaminhoRetorno : PChar): PChar; 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:\
Arquivo de Envio
| Campo | Descrição | Posições | Tamanho |
|---|---|---|---|
| GRA.CODNCM | Código NCM | 0 - 8 | 8 |
| IVE.VLRMOV | Valor do Item | 9 - 24 | 16 |
| IVE.QTDMOV | Quantidade | 25 - 38 | 14 |
| IVE.NUMITE | Chave do item | 39 - 43 | 5 |
| PRO.DESMAT+PRO.ESPMAT | Descrição do produto + Especificação | 44 - 243 | 200 |
| IVE.VEN_DATHOR | Data da Venda (DD/MM/YYYY) | 244 - 253 | 10 |
| PRO.TIPMPB | Tipo do MP do Bem | 254 - 255 | 1 |
Arquivo de Retorno
| Inciso | Monitor | CPU | Teclado | Mouse | Notebook | Modem | Tablet | Quantidade de Conjuntos | |
|---|---|---|---|---|---|---|---|---|---|
| Posições | 0 | 1 - 5 | 6 - 10 | 11 - 15 | 16 - 20 | 21 - 25 | 26 - 30 | 31 - 35 | 36 - 40 |
| Inciso I | 1 | ---------- | Chave do item (IVE.NUMITE) | ---------- | ---------- | ---------- | ---------- | ---------- | 5 Posições |
| Inciso II | 2 | ---------- | ---------- | ---------- | ---------- | Chave do item (IVE.NUMITE) | ---------- | ---------- | 5 Posições |
| Inciso III | 3 | Chave do item (IVE.NUMITE) | Chave do item (IVE.NUMITE) | Chave do item (IVE.NUMITE) | Chave do item (IVE.NUMITE) | ---------- | ---------- | ---------- | 5 Posições |
| Inciso IV | 4 | ---------- | Chave do item (IVE.NUMITE) | Chave do item (IVE.NUMITE) | Chave do item (IVE.NUMITE) | ---------- | ---------- | ---------- | 5 Posições |
| Inciso V | 5 | ---------- | ---------- | ---------- | ---------- | ---------- | Chave do item (IVE.NUMITE) | ---------- | 5 Posições |
| Inciso VI | 6 | ---------- | ---------- | ---------- | ---------- | ---------- | ---------- | Chave do item (IVE.NUMITE) | 5 Posições |
| Aproveitados | 9 | Chave 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
Result := CarregaMPBem('C:\EnviosMPBem\EnvioMPBem.txt', 'C:\RetornosMPBem\');
Obs.: Todos os parâmetros devem ser do tipo PChar.
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: PChar): PChar; 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.
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 PChar.
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: PChar, pbRegistraBanco): PChar; 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.
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);
| Coluna | Tipo |
|---|---|
| ErroXmlDll | Memo |
| TipoXmlDll | String(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 PChar.
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 : PChar):PChar; 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 PChar
GeraTXT_Manutencao_Bombas
Objetivo
Gerar o relatório de Manutenção de Bombas conforme item 4 do requisito XXXVI-B.
Assinatura
GeraTXT_Manutencao_Bombas(pServidor, pDataBase, pServerType, pUserName, pPassword, pPath, pNomeArquivo, pDataIni, pDataFim, pCodfil, pPathChvPrv : PChar):PChar; 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:\ArquivoManutBom\'
pNomeArquivo - Nome do arquivo sem a extensão.
Ex.: 'Teste'
pDataIni - Data Inicial.
Ex.: '01/01/2012'
pDataFim - Data Final.
Ex.: '01/06/2012'
pCodfil - Filial.
Ex.: '001'
pPathChvPrv - Chave privada.
Ex.: 's:\chvasn1.prv'
Retorno
A Função retorna uma String " "(Nulo), caso ocorra algum erro retorna a mensagem de erro.
Exemplo
Result := GeraTXT_Manutencao_Bombas('TTPG', 'totali', 'PG', 'TOTALI138', '112233','T:\ArquivoManutBom\','Teste', '01/01/2012','01/06/2012', '001', 's:\chvasn1.prv');
Obs.: Todos os parâmetros devem ser do tipo PChar
GeraTXT_Controle_Encerrantes
Objetivo
Gerar o relatório de Controle de Encerrantes.
Assinatura
GeraTXT_Controle_Encerrantes(pServidor, pDataBase, pServerType, pUserName, pPassword, pPath, pNomeArquivo, pDataIni, pDataFim, pCodfil, pPathChvPrv : PChar):PChar; 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:\ArquivoEnc\'
pNomeArquivo - Nome do arquivo sem a extensão.
Ex.: 'Teste'
pDataIni - Data Inicial.
Ex.: '01/01/2012'
pDataFim - Data Final.
Ex.: '01/06/2012'
pCodfil - Filial.
Ex.: '001'
pPathChvPrv - Chave privada.
Ex.: 's:\chvasn1.prv'
Retorno
A Função retorna uma String " "(Nulo), caso ocorra algum erro retorna a mensagem de erro.
Exemplo
Result := GeraTXT_Controle_Encerrantes('TTPG', 'totali', 'PG', 'TOTALI138', '112233','T:\ArquivoEnc\','Teste', '01/01/2012','01/06/2012', '001', 's:\chvasn1.prv');
Obs.: Todos os parâmetros devem ser do tipo PChar