| Linha de Produto: | Microsiga Protheus® |
|---|---|
| Segmento: | Serviços |
| Módulo: | Fiscal |
| Programa: | SPEDFISCAL.PRW através de Job |
| Idiomas: | Todos |
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().
Na abertura ou preparação do ambiente, deve ser informado a empresa / filial para a qual se deseja realizar a geração do arquivo, e realizada a preparação de todas as tabelas envolvidas no processo manual. |
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. |
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. |
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
#include "TOTVS.CH"
#include "tbiconn.ch"
User Function CallSPDFisc()
Local aWizard := {}
Local nPos := 0
Local cRootPath := "C:\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
|
Quando a chamada da rotina for realizada através de Agendamento do Scheduler, o caminho informado como cRootPath deve corresponder a um diretório válido a partir do diretório RootPath do servidor. |