Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
Portuguese | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ponto-de-Entrada: CT030ADEL - verifica integridade referencial de um Centro de Custo antes da sua exclusão
Descrição: Ponto de entrada utilizado antes da exclus'ao de um centro de custo Eventos Ocorre dentro da função de exclusão de centro de custo porem antes de sua real efetivação Programa Fonte CTBA030.PRW Sintaxe CT030ADEL - verifica integridade referencial de um Centro de Custo antes da sua exclusão ( [ nOpc ] ) --> lRet Parâmetros:
Retorno
Observações Se retornar verdadeiro o processo de exclusão continua caso contratrio o processo de exclusão é interrompido Exemplos If lCt030ADel lRet := ExecBlock("CT030ADEL", .F., .F.,nOpc) EndIf // Função usada para validar se existe integração do Protheus com o RM Solum e // Para chamar a validação específica do RM Solum na deleção do Produto. (PMSXFUNB) If lRet .AND. !PmsSlmPrd("CC") lRet := .F. Endif 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 |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas