Árvore de páginas

Ponto-de-Entrada: CT030GRE - Exclusao de Centro de Custo
Abrangências: Microsiga Protheus 10 , Microsiga Protheus 11
Versões: Microsiga Protheus 10 , Microsiga Protheus 11
Compatível Países: Todos
Sistemas Operacionais: Todos
Compatível às Bases de Dados: Todos
Idiomas: Português (Brasil) , Português (Portugal) , Espanhol , Inglês
Descrição:
Efetiva a Exclusao de Centro de Custo	
Eventos

Executado dentro da fun;'ao que deleta o centro de custo quando todas as verificações que é possovel apagar o registro

Programa Fonte
CTBA030.PRW 
Sintaxe

CT030GRE - Exclusao de Centro de Custo ( )

Retorno
Nil (Nulo)
Exemplos
	IF lRet		BEGIN TRANSACTION			//Ponto de Entrada da Exclusao de Centro de Custo						If ExistBlock("CT030GRE")				ExecBlock("CT030GRE",.F.,.F.)			Endif										//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿			//³ Deleta todos os itens	                   ³			//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ						         			// Compatibilizacao com SIGACON			If ChkFile("SI3")				dbSelectArea("SI3")				dbSetOrder(1)				cSI3_Filial := xFilial( "SI3" ) // grava a filial do SI3 para ganho de performace				// posiciona no 1o registro do si3 referente a chave a ser deletada				dbSeek( cSI3_Filial + Substr( cCtt_Custo , 1 , aTam[1] )) 								// percorre os itens do SI3 com a mesma chave para deleção				While ! Eof() .And. ( SI3->I3_FILIAL == cSI3_Filial ) .And. ( SI3->I3_CUSTO == Substr( cCtt_Custo , 1 , aTam[1]) )					If ! SI3->( Deleted() ) // verifica se o mesmo já não foi deletado						RecLock("SI3",.F.,.T.)						dbDelete()						MsUnlock()	                Endif					SI3->(dbSkip())				End				EndIf						//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿			//³ Deleta o C.Custo do Cadastro               ³			//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ			dbSelectArea( cAlias ) //seleciona o alias novamente somente para garantia			dbSetOrder(1) // seta a ordem novamente por garantia			dbSeek( cCtt_Filial + cCtt_Custo ) // posiciona o registro no item            // por garantia, percorre a tabela ctt para deletar o item correto da chave			While ! Eof() .And. ( CTT->CTT_FILIAL == cCtt_Filial ) .And. ( CTT->CTT_CUSTO == cCtt_Custo )				//Parametro de ativacao da integracao do Protheus x RM Classis Net (RM Sistemas)				if GetNewPar("MV_RMCLASS", .F.)					//Replica a manutencao no centro de custo para o RM Classis Net (RM Sistemas)					ClsCCusto(.F.,"",.T., "D", IIF(FindFunction("FWGRPCompany"), FWGRPCompany(),SM0->M0_CODIGO)  , CTT->CTT_FILIAL, CTT->CTT_CUSTO, CTT->CTT_DESC01, if(CTT->CTT_BLOQ == "1","F","T"), CTT->CTT_CUSTO)				endif								// verifica se o item não está deletado, assim evita retrabalho				If ! (cAlias)->( Deleted() )					//MsGoto(nRecCTT) --> retirei o goto, mtas vezes o recno não eh mto confiavel para manipulação dos registros					RecLock( cAlias, .F., .T. )					dbDelete()					MsUnlock()			 	Endif						CTT->(dbSkip())			EndDo	           			If lIntGPE				DbSelectArea("QAD")				DbSetOrder(1)				If DbSeek(xFilial("QAD")+cEmpAnt+cFilAnt+cCtt_Custo)					Reclock("QAD",.F.)					dbDelete()					MsUnlock()				Endif			Endif		   	If cInte=="1" .And. cSinc=="3"				PcoSincCO("CTT",3)			EndIf			//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿			//³ Grava Histórico de Alterações na tabela CW4.         ³			//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ			CTBGrvHist(xFilial("CTT"),"CTT"     ,cCtt_Custo,      ,ValType(CTT->CTT_CUSTO),"CTT_CUSTO",cCtt_Custo,""        ,nOpc)			//		   cFilTabela	 ,cEntidade ,cCodigo       ,cGrupo,cTipoCampo             ,cCampo     ,cValorAnt   ,cValorNovo,nOpc)		END TRANSACTION	EndifEndIf