Histórico da Página
...
Portuguese | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Função: CNTA120 - Medição do contrato
Descrição: Esta rotina é utilizada para cadastrar a medição do contrato. A medição, na verdade, funciona como uma previsão da nota fiscal que deverá ser emitida pelo fornecedor/empresa no faturamento. No momento do cadastro de cada medição, o usuário deve, obrigatoriamente, indicar todos os campos quantitativos para àquela etapa do contrato. Sintaxe: CNTA120 - Medição do contrato ( [ ] ) Retorno:
Observações Os itens da Medição do Contrato não são considerados no exemplo pelo motivo da rotina automática inseri-lo sem a manipulação do usuário, ou seja, no momento que é definido o cabeçalho na rotina automática, os itens serão incluídos automaticamente a partir dos itens da planilha do contrato. Exemplos: #include "protheus.ch" User Function MyCNTA120() Local aCabec := {} aItem := {} cDoc := "" cArqTrb:= "" cContra := "" cRevisa := ""
Atual dData-0//Data de inicio .T. lMsErroAuto := .F. //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ Abertura do ambiente | ConOut(Repl("-",80)) Automática para a Medição do Contrato de Compras e Vendas",80)) PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "GCT" //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ Verificacao do ambiente para teste | dbSelectArea("CN9")dbgoto(Recno())
:= CN9->CN9_ NUMERO CN9→CN9_REVISA
"+Time()) //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ Teste de Inclusao | dbSelectArea("CN9") If !dbSeek(xFilial("CN9")+cContra+cRevisa)
contrato: "+cContra) aCabec := {} := {} //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ Filtra parcelas de contratos automaticos ³ pendentes para a data atual ³ cArqTrb := CriaTrab( nil, .F. ) := "SELECT CNF.CNF_COMPET,CNF.CNF_CONTRA,CNF.CNF_REVISA,CNA.CNA_NUMERO,CNF.CNF_PARCEL,CN9.CN9_FILIAL FROM " + RetSQLName("CNF") + " CNF, " + RetSQLName("CNA") + " CNA, "+ RetSQLName("CN9") +" CN9 WHERE "cQuery += "CNF.CNF_FILIAL = '"+ xFilial("CNF") +"' AND "cQuery += "CNA.CNA_FILIAL = '"+ xFilial("CNA") +"' AND "cQuery += "CN9.CN9_FILIAL = '"+ xFilial("CN9") +"' AND " cQuery += "CN9.CN9_NUMERO = '"+cContra+"' AND "cQuery += "CN9.CN9_REVISA = '"+cRevisa+"' AND " cQuery += "CNF.CNF_NUMERO = CNA.CNA_CRONOG AND "cQuery += "CNF.CNF_CONTRA = CNA.CNA_CONTRA AND "cQuery += "CNF.CNF_REVISA = CNA.CNA_REVISA AND "cQuery += "CNF.CNF_CONTRA = CN9.CN9_NUMERO AND "cQuery += "CNF.CNF_REVISA = CN9.CN9_REVISA AND "cQuery += "CN9.CN9_SITUAC = '05' AND "cQuery += "CNF.CNF_PRUMED >= '"+ DTOS(dDataI) +"' AND "cQuery += "CNF.CNF_PRUMED <= '"+ DTOS(dData) +"' AND "cQuery += "CNF.CNF_SALDO > 0 AND "cQuery += "CNA.CNA_SALDO > 0 AND "cQuery += "CNF.D_E_L_E_T_ = ' ' AND "cQuery += "CNA.D_E_L_E_T_ = ' '" := ChangeQuery( cQuery ) dbUseArea( .T., "TopConn", TCGenQry(,,cQuery), cArqTrb, .T., .T. ) If (cArqTrb)->(Eof())
e possivel medir esse contrato! "+cContra)
While !(cArqTrb)->(Eof())
CriaVar("CND_NUMMED")
FieldPos( "CND_PARCEL" ) ))
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Executa rotina automatica para gerar as medicoes ³
CNTA120(aCabec,aItem,3,.F.) //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Executa rotina automatica para encerrar as medicoes ³
CNTA120(aCabEC,aItem,6,.F.) If !lMsErroAuto com sucesso! "+cDoc)
na inclusao!")
(cArqTrb)->(dbSkip()) (cArqTrb)->(dbCloseArea()) RESET ENVIRONMENT Return(.T.)
Parâmetros:
|