Árvore de páginas

Ponto de entrada para alteração do relatório de APD de Multas (MNTA745)

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Manufatura

Módulo:

SIGAMNT - Manutenção de Ativos e Gestão de Frotas

Rotina:

Rotina

Nome Técnico

MNTA745

APD de Multas

Rotina(s) envolvida(s)

Nome Técnico

MNTA7452

Ponto de Entrada

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos

Ponto de Entrada

Descrição:

Ponto de entrada para realizar a alteração do relatório de APD de Multas (MNTA745)

Localização:

SIGAMNT: Atualizações/Controle de Riscos/Multas/APD

Programa Fonte:

MNTA745.prw

Função:

MNTA7452()

Retorno:


.T.


 


Exemplo do Ponto de Entrada MNTA7452()
#Include 'Protheus.ch'

User Function MNTA7452()

	Local aArea := GetArea()
	Local nLetra
	Local cPesq, cText, cVal, cApd, cValApd

	Private Titulo := "Relatório de Apropriação de Débito da Multa"
	Private oPrint

	oPrint := TMSPrinter():New( OemToAnsi( Titulo ) )

	oPrint:SetPortrait() //Default Retrato
	oFonte := TFont():New("ARIAL",15,15,,.F.,,,,.F.,.F.)
	oFont10 := TFont():New("ARIAL",10,10,,.F.,,,,.F.,.F.)
	oFont14 := TFont():New("ARIAL",14,14,,.T.,,,,.F.,.F.)
	oFont15 := TFont():New("ARIAL",15,15,,.T.,,,,.F.,.F.)

	nLinBox := 0
	nLinFim := 70
	nColFim := 2350
	oPrint:StartPage() // Inicializa página de impressão.

	oPrint:Say( nLinFim, 025 , "Número da multa:" , oFont15 ) //"Número da multa:"
	oPrint:Say( nLinFim, 490 , Transform( AllTrim( TSI->TSI_MULTA ), "@R! 999/99/99" ), oFonte )
	oPrint:Say( nLinFim, 1600, "Número do APD:" , oFont15 ) //"Número do APD:"
	oPrint:Say( nLinFim, 2050, AllTrim( TSI->TSI_NUMAPD ) , oFonte )

	//"Informações do Motorista"
	/*------------------------------------------------------*/
	//dependendo das informações cadastradas na multa, se for realizada a geração automática de APD pode ser que o campo fique vazio.
	nLinFim += 100
	oPrint:Say( nLinFim, 927, "Informações do Motorista", oFont15 ) //"Informações do Motorista"
	nLinFim += 60
	oPrint:Line(nLinFim, 025, nLinFim, nColFim )
	nLinFim += 10
	dbSelectArea( "DA4" )
	dbSetOrder( 01 ) //DA4_FILIAL+DA4_COD
	dbSeek( xFilial( "DA4" )+TSI->TSI_CODMOT )
	dbSelectArea( "SRA" )
	dbSetOrder( 01 ) //RA_FILIAL+RA_MAT
	dbSeek( xFilial( "SRA" )+DA4->DA4_MAT )
	oPrint:Say( nLinFim, 035, "Motorista: " + AllTrim( TSI->TSI_CODMOT )+" - "+Capital( NGSEEK( "DA4", TSI->TSI_CODMOT, 1, "DA4_NOME" )), oFont10 ) //"Motorista: "
	nLinFim += 45

	If !Empty( SRA->RA_CC )
		oPrint:Say( nLinFim, 035, "Centro de custo: " + AllTrim( SRA->RA_CC )+" - "+Capital( NGSEEK( "CTT", SRA->RA_CC, 1, "CTT_DESC01" )), oFont10 ) //"Centro de custo: "
		nLinFim += 45
	EndIf

	If !Empty( SRA->RA_CARGO )
		cPesq := " "
		cText := Capital( NGSEEK( "SQ3", SRA->RA_CARGO, 1, "SubStr(Q3_DESCSUM,1,40)" ))
		nLetra := AT( cPesq, cText )
		If nLetra == 0
			cValApd := Capital( NGSEEK( "SQ3", SRA->RA_CARGO, 1, "SubStr(Q3_DESCSUM,1,40)" ))
		Else
			cVal := SubStr( AllTrim( Capital( NGSEEK( "SQ3", SRA->RA_CARGO, 1, "SubStr(Q3_DESCSUM,1,40)" ))), 1, nLetra )
			cApd := Lower( SubStr( AllTrim( NGSEEK( "SQ3", SRA->RA_CARGO, 1, "SubStr(Q3_DESCSUM,1,40)" )), nLetra, 150 ) )
			cValApd := cVal + cApd
		EndIf
		oPrint:Say( nLinFim, 035, "Cargo: " + AllTrim( SQ3->Q3_CARGO )+" - "+cValApd, oFont10 ) //"Cargo: "
		nLinFim += 45
	EndIf

	dbSelectArea( "SM0" )
	SM0->( dbSetOrder( 01 ))
	If !Empty( DA4->DA4_FILBAS )
		oPrint:Say( nLinFim, 035, "Filial: " + AllTrim( DA4->DA4_FILBAS )+" - "+AllTrim( SM0->M0_FILIAL ), oFont10 ) //"Filial: "
		nLinFim += 45
	EndIf
	oPrint:Box( 170, 025, nLinFim, nColFim )

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

	If nLinFim > 2350// Pula linha.
	oPrint:EndPage()// Termina página de impressão.
	oPrint:StartPage()// Inicializa página de impressão.
	nLinFim := 0
	EndIf

	// Assinaturas
	/*------------------------------------------------------*/
	nLinFim += 500
	oPrint:Line( nLinFim, 025 , nLinFim, 1100 ) // Linha para Assinatura / carimbo do responsável
	oPrint:Line( nLinFim, 1250, nLinFim, nColFim ) // Linha para Assinatura do gerente
	nLinFim += 10
	oPrint:Say( nLinFim, 116 , "Assinatura / carimbo do responsável", oFont14 ) // "Assinatura / carimbo do responsável"
	oPrint:Say( nLinFim, 1600, "Assinatura do gerente", oFont14 ) // "Assinatura do gerente"
	/*------------------------------------------------------*/

	// "Recusa de Assinatura"
	/*------------------------------------------------------*/
	nLinFim += 230
	oPrint:Box( nLinFim, 025, nLinFim+200, nColFim ) // Monta Box
	nLinFim += 10
	oPrint:Say( nLinFim, 979, "Recusa de Assinatura", oFont15 ) // "Recusa de Assinatura"
	nLinFim += 60
	oPrint:Line( nLinFim, 025 , nLinFim, nColFim )
	oPrint:Say( nLinFim, 035 , "Testemunha 1:", oFont10 )// "Testemunha 1:"
	oPrint:Say( nLinFim, 1250, "Testemunha 2:", oFont10 )// "Testemunha 2:"
	nLinFim += 45
	oPrint:Say( nLinFim, 035 , "RG:", oFont10 ) // "RG:"
	oPrint:Say( nLinFim, 1250, "RG:", oFont10 ) // "RG:"
	nLinFim += 45
	oPrint:Say( nLinFim, 035 , "CPF:", oFont10 ) // "CPF:"
	oPrint:Say( nLinFim, 1250, "CPF:", oFont10 ) // "CPF:"
	nLinFim -= 45
	oPrint:Line( nLinFim, 280 , nLinFim, 1100 ) // Linha Testemunha 1
	oPrint:Line( nLinFim, 1490, nLinFim, 2300 ) // Linha Testemunha 2
	/*------------------------------------------------------*/

	oPrint:EndPage() // Finaliza página de impressão.
	oPrint:Preview() // Preview do relatório.

	RestArea( aArea ) // Retorna a área de trabalho.

Return .T.