Pagetitle |
---|
| OX005DGR - Gravação Atualização do registro de Criterio de Descontos |
---|
| OX005DGR - Gravação Atualização do registro de Criterio de Descontos |
---|
|
Ponto-de-Entrada: OX005DGR - Gravação/ Atualização do registro de Criterio de Descontos 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) |
Descrição: Este ponto de entrada está localizado na rotina Criterio Desctos (OFIXA017). Após a gravacao/ atualizacao de um registro de criterio de desconto, o ponto de entrada é executado. Eventos /* =============================================================================== ############################################################################### ##+----------+------------+-------+-----------------------+------+----------+## ##|Fun‡„o | OX005GRV | Autor | Luis Delorme | Data | 20/05/09 |## ##+----------+------------+-------+-----------------------+------+----------+## ##|Descri‡„o | Gravacao da Politica de Desconto e Promocao de Pecas |## ##+----------+--------------------------------------------------------------+## ##|Uso | Oficina / AutoPecas |## ##+----------+--------------------------------------------------------------+## ############################################################################### =============================================================================== */ Function OX005GRV(nOpc, lEncerra) Local nCntFor,nCntFor2,nCntFor3 Default lEncerra := .t. // quando esta visualizando, apenas retorna if nOpc == 2 return .t. endif // nPosGruite := Ascan(&("aHeader"+strzero(oFolder:nOption,1)),{|x| Alltrim(Upper(x[2]))=="VEN_GRUITE"}) nPosCodite := Ascan(&("aHeader"+strzero(oFolder:nOption,1)),{|x| Alltrim(Upper(x[2]))=="VEN_CODITE"}) nPosDatIni := Ascan(&("aHeader"+strzero(oFolder:nOption,1)),{|x| Alltrim(Upper(x[2]))=="VEN_DATINI"}) nPosDatFin := Ascan(&("aHeader"+strzero(oFolder:nOption,1)),{|x| Alltrim(Upper(x[2]))=="VEN_DATFIN"}) nPosCodCai := Ascan(&("aHeader"+strzero(oFolder:nOption,1)),{|x| Alltrim(Upper(x[2]))=="VEN_CODCAI"}) nPosGruPec := Ascan(&("aHeader"+strzero(oFolder:nOption,1)),{|x| Alltrim(Upper(x[2]))=="VEN_GRUPEC"}) nPosGruDes := Ascan(&("aHeader"+strzero(oFolder:nOption,1)),{|x| Alltrim(Upper(x[2]))=="VEN_GRUDES"}) nPosClaFin := Ascan(&("aHeader"+strzero(oFolder:nOption,1)),{|x| Alltrim(Upper(x[2]))=="VEN_CLAFIN"}) nPosModVei := Ascan(&("aHeader"+strzero(oFolder:nOption,1)),{|x| Alltrim(Upper(x[2]))=="VEN_MODVEI"}) // ------------------------------------------------------------------------------------------------------------ BEGIN TRANSACTION // --------I-N-I-C-I-O---D-A---T-R-A-N-S-A-C-A-O--------------------------------------------- // ------------------------------------------------------------------------------------------------------------ // ############################################################ // # Apaga qualquer gravacao anterior # // ############################################################ If TCCanOpen(RetSqlName("VEM")) if INCLUI cString := "DELETE FROM "+RetSqlName("VEM")+ " WHERE VEM_FILIAL = '"+ xFilial("VEM")+"' AND VEM_CODMAR= '"+M->VEM_CODMAR+"' AND VEM_CENCUS= '"+M->VEM_CENCUS+"' AND VEM_TIPVEN= '"+M->VEM_TIPVEN+"' " cString += "AND VEM_CODCLI= '"+M->VEM_CODCLI+"' AND VEM_LOJA= '"+M->VEM_LOJA+"' AND VEM_TIPNEG = '"+M->VEM_TIPNEG+"'" + IIF(FieldPos("VEM_FORPAG")>0," AND VEM_FORPAG = '"+M->VEM_FORPAG+"'","") else cString := "DELETE FROM "+RetSqlName("VEM")+ " WHERE VEM_FILIAL = '"+ xFilial("VEM")+"' AND VEM_CODMAR= '"+cAntCODMAR+"' AND VEM_CENCUS= '"+cAntCENCUS+"' AND VEM_TIPVEN= '"+cAntTIPVEN+"' " cString += "AND VEM_CODCLI= '"+cAntCODCLI+"' AND VEM_LOJA= '"+cAntLOJA+"' AND VEM_TIPNEG = '"+cAntTIPNEG+"'" + IIF(FieldPos("VEM_FORPAG")>0," AND VEM_FORPAG = '"+cAntFORPAG+"'","") endif TCSqlExec(cString) else DisarmTransaction() MsgStop(STR0032+CHR(10)+; STR0033,STR0027) return .f. endif
If TCCanOpen(RetSqlName("VEN")) if INCLUI cString := "DELETE FROM "+RetSqlName("VEN")+ " WHERE VEN_FILIAL = '"+ xFilial("VEN")+"' AND VEN_CODMAR= '"+M->VEM_CODMAR+"' AND VEN_CENCUS= '"+M->VEM_CENCUS+"' AND VEN_TIPVEN= '"+M->VEM_TIPVEN+"' " cString += "AND VEN_CODCLI= '"+M->VEN_CODCLI+"' AND VEN_LOJA= '"+M->VEN_LOJA+"' AND VEN_TIPNEG = '"+M->VEM_TIPNEG+"'" + IIF(FieldPos("VEN_FORPAG")>0," AND VEN_FORPAG = '"+M->VEM_FORPAG+"'","") else cString := "DELETE FROM "+RetSqlName("VEN")+ " WHERE VEN_FILIAL = '"+ xFilial("VEN")+"' AND VEN_CODMAR= '"+cAntCODMAR+"' AND VEN_CENCUS= '"+cAntCENCUS+"' AND VEN_TIPVEN= '"+cAntTIPVEN+"' " cString += "AND VEN_CODCLI= '"+cAntCODCLI+"' AND VEN_LOJA= '"+cAntLOJA+"' AND VEN_TIPNEG = '"+cAntTIPNEG+"'" + IIF(FieldPos("VEM_FORPAG")>0," AND VEN_FORPAG = '"+cAntFORPAG+"'","") endif TCSqlExec(cString) else DisarmTransaction() MsgStop(STR0034+CHR(10)+; STR0035,"Atencao") return .f. endif // if nOpc != 5 reclock("VEM",.t.) VEM->VEM_FILIAL := xFilial("VEM") FG_GRAVAR("VEM") msunlock() // DBSelectArea("VEN") for nCntFor3 := 1 to 5 oGet := &("oGet"+strzero(nCntFor3,1)) aHeader := &("aHeader"+strzero(nCntFor3,1)) for nCntFor := 1 to Len(oGet:aCols) lProcessa := .t. if !oGet:aCols[nCntFor,len(oGet:aCols[nCntFor])] If oFolder:nOption == 1 .and. Empty(oGet:aCols[nCntFor,nPosGruIte]) .and. Empty(oGet:aCols[nCntFor,nPosCodIte]) lProcessa := .f. Elseif oFolder:nOption == 2 .and. Empty(oGet:aCols[nCntFor,nPosCodCai]) lProcessa := .f. Elseif oFolder:nOption == 3 .and. Empty(oGet:aCols[nCntFor,nPosGruPec]) lProcessa := .f. Elseif oFolder:nOption == 4 .and. Empty(oGet:aCols[nCntFor,nPosGruDes]) lProcessa := .f. Elseif oFolder:nOption == 5 .and. Empty(oGet:aCols[nCntFor,nPosClaFin]) lProcessa := .f. endif if lProcessa reclock("VEN",.t.) VEN->VEN_FILIAL := xFilial("VEN") VEN->VEN_CODMAR := M->VEM_CODMAR VEN->VEN_CENCUS := M->VEM_CENCUS VEN->VEN_CODCLI := M->VEM_CODCLI if FieldPos("VEM_FORPAG") > 0 VEN->VEN_FORPAG := M->VEM_FORPAG endif VEN->VEN_LOJA := M->VEM_LOJA VEN->VEN_TIPVEN := M->VEM_TIPVEN VEN->VEN_TIPNEG := M->VEM_TIPNEG for nCntFor2 := 1 to Len(aHeader) if aHeader[nCntFor2,10] <> "V" &(aHeader[nCntFor2,2]) := oGet:aCols[nCntFor,nCntFor2] endif next endif endif next next endif // ------------------------------------------------------------------------------------------------------------ END TRANSACTION // --------F-I-N-A-L---D-A---T-R-A-N-S-A-C-A-O------------------------------------------------- // ------------------------------------------------------------------------------------------------------------ If ExistBlock("OX005DGR") ExecBlock("OX005DGR",.f.,.f.) EndIf Programa Fonte OFIXA017, OFIXX005, OX005DGR Sintaxe OX005DGR - Gravação/ Atualização do registro de Criterio de Descontos ( [ ] ) Parâmetros: | Nome | | | Tipo | | | Descrição | | | Default | | | Obrigatório | | | Referência | | | | | | Array of Record | | | | | | | | | | | | | |
Exemplos /*ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜܱ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±±±³Fun‡„o ³ OX005DGR ³ Autor ³ Otavio Favarelli ³ Data ³ 10/06/10 ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±±±³Descri‡„o ³ Este ponto de entrada esta localizado na rotina de criterio³±±±±³ ³ de descontos apos a gravacao do registro. ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±±±³Sintaxe ³ ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±±±³Uso ³ ³±±±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/User Function OX005DGR() MsgAlert("O ponto de entrada OX005DGR foi executado!","Sucesso!")Return .t. Variáveis | Nome | | | Tipo | | | Escopo | | | Pode Alterar | | | descrição | | | | | | Array of Record | | | Global | | | Não | | | | |
|