Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

01. DADOS GERAIS 

Linha de Produto:Microsiga Protheus®
Seguimento:Serviços 
MóduloFiscal 



02. DESCRIÇÃO

Ponto de entrada utilizado para a geração da DIMESC para o registro tipo 48 onde pode ser alterado os campos de código de município, Tipo e o valor,  estamos abrindo a possibilidade do usuário conseguir alterar essas informações para que  seja  possível atender algumas movimentações especificas como a de  energia elétrica.

...

Aviso
titleImportante


A utilização desse ponto de entrada é de responsabilidade exclusiva do cliente, pois terá impacto direto na escrituração das notas e dos livros fiscais.

Utilize com cautela!

03. Especificação 

Para a geração do registro tipo 48 é necessário o preenchimento dos CFOPS nos seguintes parâmetros:

...

Sendo que para uso do ponto de entrada os cfops devem ser preenchidos em qualquer um dos parâmetros, para os registros sejam classificados para serem inseridos para a composição do registro tipo 48.

Parâmetros para a Função:

Os parâmetros são passados no Array Paramixb, é passado como uma matriz sendo o primeiro campo um descritivo para que seja possível o entendimento da informação que está sendo passado e o segundo campo é passado o valor, os valores são baseados na tabela SF3 onde buscamos as informações para montar o registro do tipo 48.

...

Obs.: Para maiores informações sobre o campo poderá ser encontrado em documentações anteriores sobre a tabela “Livro fiscal por Item da Nf.”, com exceção dos campos Tipo Reg e código de Munícipio o conteúdo desses campos é referente ao tipo que está vinculado ao CFPO que foi cadastrado em um dos parâmetros para a geração do registro tipo 48 e o código do munícipio é decorrente do cadastro de clientes ou fornecedor que foi utilizado no documento fiscal.

Retorno:

O ponto de entrada deverá retornar uma variável do tipo array com o tamanho de 3 posições, sendo o primeiro campo deverá ser do tipo caractere e  retornar o código de município, o segundo deverá ser o tipo de registro deve ser do tipo caractere, esse campo deve compor o tipo do registro 48. O terceiro campo deve ser o valor, deve ser do tipo caractere e caso exista mais de um registro com o mesmo código de município e tipo de registro o sistema vai somar os valores que serão passados,  abaixo segue alguns exemplos do conteúdo que devem ser retornados. 

...

Obs.: Caso o array não possua o tamanho de 3 posições o sistema vai  ignorar as informações do ponto de entrada, caso o tipo do conteúdo do array não seja respeitado esse conteúdo será ignorado. 


04. EXEMPLO DE UTILIZAÇÃO

Bloco de código
languagejava
themeMidnight
titlePE DMSC48TP
#Include "PROTHEUS.CH"

User Function DMSC48TP()
Local aRet   := {}   //Retorno do ponto de entrada
Local cMunic := ""
Local cTipo  := ""
Local nValor := 0 
Local aParam := ParamIxb 

Do Case
	Case  AllTrim(aParam[8][2]) == '1251'
	    cMunic := "51801"
		cTipo := "013"   //energia elétrica adquirida de terceiros para comercialização
		nValor := aParam[11][2]

	Case AllTrim(aParam[8][2])  == "5102"
		 cMunic := "50308"
		 cTipo := "012"  //energia elétrica adquirida de terceiros e comercializada no mês	
		 nValor := aParam[11][2]

    Case AllTrim(aParam[8][2]) == "1201" 		 
		 cMunic := aParam[14][2]
		 cTipo := aParam[13][2]
		 nValor := Round(aParam[11][2],2) // Caso não seja nenhum desses CFOPS Arredondo o valor 

    Case !AllTrim(aParam[8][2]) $ "5102|1201|1251" 		 
		 cMunic := Nil
		 cTipo :=  Nil
		 nValor := Nil // Caso desejar manter os valores do padrão, sem tratamento do ponto de entrada 
EndCase

AADD( aRet, cMunic ) 
AADD( aRet, cTipo  ) 
AADD( aRet, nValor )  

Return aRet 


05. DEMAIS INFORMAÇÕES

Não há

06. ASSUNTOS RELACIONADOS

     Não há.

HTML
<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>

...