01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus® |
---|---|
Segmento: | Serviços |
Módulo: | Fiscal |
Programa: | SPEDFISCAL.PRW através de Job |
Idiomas: | Todos |
02. VISÃO GERAL
Encontra-se disponível na rotina de geração do SPED Fiscal um tratamento que o possibilita ser executado via schedule ou JOB, para isso basta passar o conteúdo do Wizard em um array na chamada da função SPEDFISCAL().
03. ESPECIFICAÇÃO
Parâmetros de Entrada
Antes da chamada da função do SPEDFiscal, deverá ser informado um array com o conteúdo da Wizard em igual correspondência das todas as informações selecionadas ou informadas quando da execução em formato Manual.
Nome | Tipo | Descrição |
---|---|---|
PARAMIXB | Array of Record | Deverá ser gerado um array multidimensional conforme exemplo, no qual temos 4 telas de informação no Wizard, sendo separadas por tipo de informação Primeira Tela - Parâmetros para Geração Segunda Aba - Identificação do Contribuinte Terceira Tela - Dados do Contabilista Quarta Tela - Informações para processamento do Bloco 1000 Para cada uma das telas destacadas acima, será necessário a informação dos parâmetros na sequencia exata quando do preenchimento durante execução da rotina manual. |
Aviso
A forma de utilizada desta rotina, bem como o resultado esperado, depende exclusiva dos parâmetros envolvidas e das regras de negócio de cada cliente. Desta forma, ao Exemplo de Utilizado demonstrado abaixo é de exclusiva responsabilidade do cliente.
Sugestão: Uma vez gerado o arquivo manual e mesmo validado com sucesso no PVA, poderá ser validado a geração do mesmo substituindo no exemplo os mesmos parâmetros utilizados quando da execução manual.
Retorno
Será gerado um arquivo .TXT no caminho informado no parâmetro correspondente ao Diretório do Arquivo Destino, com nome correspondente ao conteúdo informado no parâmetro Nome do Arquivo Destino. com o nome informado no parâmetro
04. EXEMPLO DE UTILIZAÇÃO
#include "TOTVS.CH" #include "tbiconn.ch" User Function CallSPDFisc() Local aWizard := {} Local nPos := 0 Local cRootPath := "\Arquivos\" Local cFilePerfA:= "CallSPDFisc.txt" Local dDataFim Local dDataIni Local aTables := { "SFT","SA1","SA2","SA4","SF1","SF2","SF3","SF4","SF6","SD1","SD2","SB1","SB8","SAH","CC6",; "CD0","CD3","CD4","CD5","CD6","CD7","CD8","CD9","CDA","CDH","CDG","CDC","CDD","CDE","CDF","CDL","CCE",; "SFU","SFX","CDO","CDP","CCK","AIF","DT6","DTC","DUD","DTQ","DTR","DT8","DUY","DA3","DB2","DB1","DB3",; "SC7","SC5","SF9","SFA","SN1","SN3","CT1","SI1","CTT","SI3","CDV" } RpcSetEnv( "T1","XCFIS26", "", "", "FIS", , aTables, , , , ) dDataIni := FirstDate( dDataBase ) dDataFim := LastDate( dDataBase ) aAdd(aWizard, {}) nPos := Len(aWizard) // Primeira Tela - Parâmetros para Geração aAdd(aWizard[nPos], dtos(dDataIni) ) // Data de aAdd(aWizard[nPos], dtos(dDataFim) ) // Data até aAdd(aWizard[nPos],"*" ) // Livro aAdd(aWizard[nPos],cRootPath ) // Diretório do Arquivo Destino aAdd(aWizard[nPos],cFilePerfA ) // Nome do Arquivo Destino aAdd(aWizard[nPos],"2" ) // Gera Inventario aAdd(aWizard[nPos],"2" ) // Gera Registros Complementares de Frete aAdd(aWizard[nPos],"" ) // Data de fechamento do estoque aAdd(aWizard[nPos],"2" ) // Gera registro de ECF aAdd(aWizard[nPos],"" ) // Arq. Periodo anterior aAdd(aWizard[nPos],"2" ) // Imprime credito ST aAdd(aWizard[nPos],"2" ) // Seleciona Filiais aAdd(aWizard[nPos],0 ) // Periodo de Apuração {0=Mensal; 1=Decendial} aAdd(aWizard[nPos],"2" ) // Inicio Obrigação Escrituração CIAP aAdd(aWizard[nPos],"2" ) // Considera Valores de PIS/COFINS aAdd(aWizard[nPos],"9-Não" ) // Gera Bloco K aAdd(aWizard[nPos],"2" ) // Reg. 0210 por Mov? aAdd(aWizard[nPos],"2" ) // Gera registros DIFAL(EC 87/15) aAdd(aWizard[nPos],"01" ) // Motivo do Inventário aAdd(aWizard[nPos],"2" ) // Gera Registro 0400 - Natureza da Oper/Prest aAdd(aWizard[nPos],"2" ) // Gera H020 - Motivo Inventário 01 aAdd(aWizard[nPos],"2" ) // Processa Histórico do Bloco K aAdd(aWizard[nPos],"2" ) // Gera Registro de FECP aAdd(aWizard[nPos],"2" ) // Gera Bloco G aAdd(aWizard[nPos],"2" ) // Gera Bloco B aAdd(aWizard[nPos],"2" ) // Gera Inf.Compl ST aAdd(aWizard[nPos],"2" ) // Gera registro 0210 aAdd(aWizard[nPos],"2" ) // Energia Elétrica Eletrônica - NF3e (66), Geração dos Registros C500 (analitico), Geração dos Registros C700 (consolidado) aAdd(aWizard[nPos],"1" ) // Gera Bloco H com motivo de inventário 06. Quando não houver movimento no periodo para apuração REssarcimento SPED. aAdd(aWizard[nPos],"3" ) // Gera registro 0221 aAdd(aWizard[nPos],"1" ) // Gera o registro C171 - Armazenamento de Combustiveis ("1-Sim , 2-Não") // Segunda Tela - Identificação do Contribuinte aAdd(aWizard, {}) nPos := Len(aWizard) aAdd(aWizard[nPos],"0" ) // Código da Finalidade do Arquivo aAdd(aWizard[nPos],"" ) // Filial de aAdd(aWizard[nPos],"" ) // Filial Ate aAdd(aWizard[nPos],"A" ) // Perfil de Apresentação aAdd(aWizard[nPos],"1" ) // Tipo de Atividade aAdd(aWizard[nPos],"0" ) // Aglutina por CNPJ+IE aAdd(aWizard[nPos],"[email protected]" ) // E-mail// aAdd(aWizard[nPos],"09" ) //---Classe de Atividade Industrial // Terceira Tela - Dados do Contabilista aAdd(aWizard, {}) nPos := Len(aWizard) aAdd(aWizard[nPos],"Contador Teste" ) // Nome Contabilista aAdd(aWizard[nPos],"27672112000145" ) // CNPJ aAdd(aWizard[nPos],"34727314002" ) // CPF aAdd(aWizard[nPos],"10102020" ) // CRC aAdd(aWizard[nPos],"07170030" ) // CEP aAdd(aWizard[nPos],"3500550" ) // Cod Municipio aAdd(aWizard[nPos],"Endereco Teste" ) // Endereço aAdd(aWizard[nPos],"234" ) // Número aAdd(aWizard[nPos],"Complemento" ) // Complemento aAdd(aWizard[nPos],"Bairro" ) // Bairro aAdd(aWizard[nPos],"2154876546" ) // Fone aAdd(aWizard[nPos],"2154876546" ) // Fax aAdd(aWizard[nPos],"[email protected]" ) // E-mail Contabilista // Quarta Tela - Informações para processamento do Bloco 1000 aAdd(aWizard, {}) nPos := Len(aWizard) aAdd(aWizard[nPos],"2" ) // Gera Registro 1100 - Exportação aAdd(aWizard[nPos],"2" ) // Gera Registro 1200 - Créditos fiscais aAdd(aWizard[nPos],"2" ) // Gera Registro 1300 - Combustiveis aAdd(aWizard[nPos],"2" ) // Gera Registro 1390 - Usina de açúcar/alcool aAdd(aWizard[nPos],"2" ) // Gera Registro 1400 - Valores Agregados aAdd(aWizard[nPos],"2" ) // Gera Registro 1500 - Energia Eletrica aAdd(aWizard[nPos],"2" ) // Gera Registro 1600 - Cartão de crédito/débito / 1601 Pagamentos Eletrônicos aAdd(aWizard[nPos],"2" ) // Gera Registro 1700 - Documentos Fiscais aAdd(aWizard[nPos],"2" ) // Gera Registro 1800 - Transporte Aéreo aAdd(aWizard[nPos],"2" ) // Gera Registro 1400 - Movimentação Anual aAdd(aWizard[nPos],"2" ) // Gera Registro 1960 - GIAF 1 aAdd(aWizard[nPos],"2" ) // Gera Registro 1970 e 1975 - GIAF 3 aAdd(aWizard[nPos],"2" ) // Gera Registro 1980 - GIAF 4 aAdd(aWizard[nPos],"2" ) // Gera Registro 1250 - ICMS ST SPEDFISCAL( aWizard ) RpcClearEnv() //Encerra o ambiente, fechando as devidas conexões Return
05. DEMAIS INFORMAÇÕES
Não há