Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS Backoffice

Linha de Produto:

Linha Protheus

Segmento:

Serviços

Módulo:

TOTVS Backoffice (Linha Protheus) - Fiscal (SIGAFIS)

Função:DMSCAMP.INI
País:Brasil
Ticket:16185985
Requisito/Story/Issue (informe o requisito relacionado) :DSERFIS1-32004


02. SITUAÇÃO/REQUISITO

Requisito 1 - Issue 32004

Geração do Campo 17 do Registro R - Código SIAFI correspondente ao município do Prestador de Serviços, sendo gerado com a informação do Código do IBGE quando parâmetro MV_CAMPSCF = A2_COD_MUN. Caso o conteúdo do parâmetro seja MV_CAMPSCF = A2_CODSIAF, são levadas as Notas Fiscais de Entrada também do Município de Campinas, o que é errado, pois já constam no Sistema da Prefeitura.


Requisito 2 - Issue 32475

Cliente possui em seu cadastro de Códigos de Serviços (Tabela 60 da SX5), os códigos de serviços de acordo com a tabela 4.7 da Relação de Serviços e sua Incidência conforme Manual da DMSCAM. Exemplo: Código 14.01


Ocorre que, o mesmo manual técnico exige como regra para o Campo 20 - Código do serviço prestado, a validação como Número no formato 9999999999, no entanto, ao ser informado o código separado por ponto (.), é apresentado erro no validador conforme figura abaixo:


Requisito 3 -
Issue 32475

Cliente possui o parâmetro MV_CAMPFOR = F1_CODSIAF preenchido, e o mesmo reporta que o campo correspondente não é preenchido de forma automática quando realizado a escrituração da Nota Fiscal de Entrada.

03. SOLUÇÃO

Solução Requisito 1

Realizado ajustes no arquivo DMSCAMP.INI para preenchimento do Campo 17 do Registro R com o código correspondente ao Código do SIAFI informado no Cadastro de Fornecedores (Prestador de Serviços). Além da, adequação na Documentação para o correto preenchimento dos parâmetros envolvidos na rotina. 


Solução Requisito 2 

Realizado ajuste no arquivo DMSCAMP.INI para retirada do Caracter "." (ponto) quando o mesmo for informado no cadastro.


Solução Requisito 3

O campo (F1_CODSIAF) informado no parâmetro MV_CAMPFOR é utilizado para que o sistema retorne o Código SIAFI do Local de Prestação de Serviços quando o mesmo for diferente do Prestador de Serviço, como trata-se de um campo configurável através de parâmetro, para que a gravação deste campo ocorra de forma automática, deverá ser realizado tratamento através de personalização específica adequando à regra de negócio do cliente. 

Para o desenvolvimento destas personalizações, podem ser utilizados como exemplo os Pontos de Entrada a seguir, que deverão ser adequados de acordo com a necessidade de cada cliente.

04. DEMAIS INFORMAÇÕES

Abaixo rotinas exemplificativas para preenchimento do campo informado no parâmetro MV_CAMPFOR. Estes exemplos tem como objetivo o direcionamento para o desenvolvimento, assim, o mesmo deve ser de realizado por equipe interna de desenvolvimento de cada cliente cuidando com os devidos ajustes às suas regras de negócio.


CODSIAFI
#include "totvs.ch"

//-------------------------------------------------------------------
/*/{Protheus.doc}

Personalização desenvolvida com o objetivo de demonstrar uma forma de 
atualizar o Código SIAF durante processo de inclusão do Documento de Entrada.


Utilizada para os casos em que o Local da Prestação do Serviço for diferente 
do local do estabelecimento do Prestador, visando atender a legislação
contemplada pela DMSCAMP

Este código é de caráter exemplificativo, sendo de responsabilidade do cliente 
realizar a adequação para atender as regras de negócio de sua organização.

@author Equipe Desenvolvimento Fiscal

/*/
//-------------------------------------------------------------------  
User Function CODSIAFI( aParam )
Local aAreaOld := GetArea()

Local cCodSiafi:= Space(04)

Local oDlg_Siafi
Local oGroup

If FunName() == "MATA910"
   cCodSiafi := SF1->F1_CODSIAF
Endif

/*----------------------------------------------------------------------------------*\
| Tela para permitir selecionar Codigo SIAF                                          |
\*----------------------------------------------------------------------------------*/
DEFINE MSDIALOG oDlg_Siafi FROM 0,0 TO 175,350 PIXEL TITLE "Selecione Código SIAFI"
   
   oGroup:= tGroup():New(0,0,140,260,'',oDlg_Siafi,,,.T.)
   @ 013, 010 SAY "Código SIAFI " SIZE 50, 10 OF oGroup PIXEL
   @ 010, 050 MSGET oGet1 VAR cCodSiafi HASBUTTON F3 "CC2SIA" SIZE 50, 10 OF oGroup PIXEL

	DEFINE SBUTTON FROM 50, 80 TYPE 1 ACTION oDlg_Siafi:End() ENABLE OF oDlg_Siafi

ACTIVATE MSDIALOG oDlg_Siafi CENTERED

If !empty( cCodSiafi )	
	RecLock("SF1", .F.)
	SF1->F1_CODSIAF := 	cCodSiafi
	MsunLock()
Endif

RestArea( aAreaOld )

Return
MT100TOK.PRW
#include "totvs.ch"

//-------------------------------------------------------------------
/*/{Protheus.doc} MT100TOK

Ponto de Entrada utilizado como exemplo para chamada da rotina de preenchimento
automatico do campo correspondente ao código SIAFI a ser gravado na tabela 
SF1 (Documento de Entrada)

@author Equipe Desenvolvimeto Fiscal

/*/
//-------------------------------------------------------------------

User Function MT100TOK()

If !empty( SA2->A2_CODSIAF )

   U_CODSIAFI()

Endif

Return

MA910BUT
#include "totvs.ch"

//-------------------------------------------------------------------
/*/{Protheus.doc}

Ponto de Entrada Exemplo utilizado na chamada da rotina personalizada pelo 
cliente para atualização do Código do SIAF quando houver necessidades de 
ajustes antes da geração do arquivo da DMSCAMP.INI

Este P.E. é chamado na rotina Documento de Entrada no ambiente Livros Fiscais

@author Equipe Desenvolvimento Fiscal

/*/
//-------------------------------------------------------------------  
User Function MT910MNU()

aAdd( aRotina,{'Código SIAFI' ,'U_CODSIAFI',0,4,0,NIL})


Return

05. ASSUNTOS RELACIONADOS