#INCLUDE "PROTHEUS.CH" #INCLUDE "TOTVS.CH" #INCLUDE "FWMVCDEF.CH" User Function CANORCA() //Local nLinhas := () //Local cAliasSCJ := M-> (GetArea()) Local dDat_DE := () Local dDat_ATE := () Local cAliasProd := GetNextAlias() Local aDados := {} Local cResult :=() Local aDatas := {} Local nPos := '0' dDat_DE := FwInputBox("Digite a data inicial que deseja fechar os orçamentos",dDat_DE) dDat_ATE := FwInputBox("Digite a data final que deseja fechar os orçamentos", dDat_ATE) dDat_DE := cToD(dDat_DE) dDat_ATE := cToD(dDat_ATE) DBSELECTAREA("SCJ") BeginSql Alias cAliasProd Column CJ_NUM as Numeric(6,0) Column CJ_EMISSAO as date %NOPARSER% SELECT CJ_NUM, CJ_STATUS, CJ_EMISSAO FROM %TABLE:SCJ% WHERE CJ_FILIAL = %xFilial:SCJ% AND CJ_EMISSAO >= %EXP:dDat_DE% AND CJ_EMISSAO <= %EXP:dDat_ATE% //AND CJ_STATUS = A AND %NOTDEL% EndSql While !(cAliasProd) -> (EOF()) IF (cAliasProd )-> CJ_STATUS = "A" Reclock("SCGN0000C0",.F.) CJ_STATUS -> CJ_STATUS := 'C' // Reclock("SCJ",.F.) //(cAliasProd )-> CJ_STATUS:= CJ_STATUS:= "C" //nPos++ cResult:= "Deu BOM" ELSE cResult:= "Deu ruim" //(SCGN0000C0)->("MsUnlock()") ENDIF MsgInfo("TROCADAS :" + cValToChar(nPos) + '---DATA CORRIDA :'+cValToChar(CJ_EMISSAO), "Atenção: "+cValToChar(cResult) ) aAdd(aDados,{CJ_NUM,CJ_EMISSAO,CJ_STATUS,cResult}) (cAliasProd )-> (dbSkip()) Enddo (cAliasProd )-> (dbClosearea()) aDatas := GetLastQuery() cMensagem := "" cMensagem += "* cAlias - " + aDatas[1] + Chr(13) + Chr(10) cMensagem += "* cQuery - " + aDatas[2] MsgInfo(cMensagem, "Atenção") /* cCondicao :="SCJ->CJ_STATUS == 'A'" //"SCJ-> CJ_EMISSAO >= dDat_DE .AND. SCJ-> CJ_EMISSAO <= dDat_ATE" oBrowse := GetObjBrow() oBrowse:SetFilterDefault(cCondicao) oBrowse:Refresh() nPos := aScan(aArea, {|x| CJ_EMISSAO >= dDat_DE}, 1) MsgInfo("A variável dDat_DE é do tipo: "+ValType(dDat_DE) + cValToChar(dDat_DE), "Atenção") MsgInfo("A variável dDat_ATE é do tipo: "+ValType(dDat_ATE) + cValToChar(dDat_ATE), "Atenção") //SCJ -> CJ_NUM += nPos //dbSetOrder(1) //CJ_EMISSAO := dDat_DE MsgInfo("A variável CJ_EMISSAO: "+ValType(CJ_EMISSAO)+ cValToChar(CJ_EMISSAO), "Atenção") // SCJ -> CJ_NUM := FieldGet(nPos) // SCJ->CJ_EMISSAO := FieldGet( FieldPos(dDat_DE) ) //While dDat_DE <= dDat_ATE //nDiasDiff := DateDiffDay( dDat_DE ,dDat_ATE) //teste deste contador //For CJ_EMISSAO := CJ_EMISSAO To dDat_ATE //nDiasDiff For nLinhas := 1 To CJ_EMISSAO <= dDat_ATE nLinhas++ CJ_NUM++ //dDat_DE++ //dDat_DE := DaySum(dDat_DE, 1) dbSelectArea("SCJ") SCJ ->(DbSetOrder(1)) Reclock("SCJ",.F.) //While nPos == nPos //TESTE LINHAS IF CJ_STATUS == "A" CJ_STATUS := M ->CJ_STATUS := 'C' CJ_NUM++ ELSE SCJ->("MsUnlock()") //nPos++ DBSKIP( ) ENDIF //ENDDO //aAdd(aDatas,dDat_DE) //dDat_DE++ Next MSGINFO("PROCESSO TERMINADO",+ cValToChar(nLinhas) , "rodou" ) MSGINFO("saiuCJNUM: "+cValToChar(CJ_NUM) ) RestArea(aArea) */ Return