×
Linguagem de Programação ADVPL
Perguntas Função MaAvalSC5
- Tony.totvs
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 47
- Obrigados Recebidos: 0
11 anos 8 meses atrás #11829
por Tony.totvs
Função MaAvalSC5 foi criado por Tony.totvs
Bom dia,
Alguém saberia me dizer quais são os parametros necessários para a função MaAvalSC5?
Função de liberação de pedido de venda.
Grato
Alguém saberia me dizer quais são os parametros necessários para a função MaAvalSC5?
Função de liberação de pedido de venda.
Grato
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 8 meses atrás #11832
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Função MaAvalSC5
tony bom dia pesquisa no forum ja tem resposta para essa questao ok abracos
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- Tony.totvs
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 47
- Obrigados Recebidos: 0
11 anos 8 meses atrás #11843
por Tony.totvs
Respondido por Tony.totvs no tópico Função MaAvalSC5
Luiz,
Não encontrei pesquisando no forum. Teve uma vez que perguntei sobre a função MaAvLibPed, desta vez estou querendo do MaAvalSC5.
Abraço
Não encontrei pesquisando no forum. Teve uma vez que perguntei sobre a função MaAvLibPed, desta vez estou querendo do MaAvalSC5.
Abraço
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 8 meses atrás #11846
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Função MaAvalSC5
oh cara foi mal, me confundi, vou procurar pra vc ok.
Abraços.
Abraços.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 8 meses atrás #11847
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Função MaAvalSC5
/*/
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Funcao ³MaAvalSC5 ³ Autor ³Eduardo Riera ³ Data ³13.02.2000³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³Rotina de avaliacao dos eventos do Cabecalho do Pedido de ³±±
±±³ ³Venda. ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ExpC1: Alias da tabela de Cabecalho do Pedido de Venda ³±±
±±³ ³ExpN2: Codigo do Evento ³±±
±±³ ³ [1] Implantacao do Pedido de Venda ³±±
±±³ ³ [2] Estorno do Pedido de Venda ³±±
±±³ ³ [3] Liberacao do Pedido de Venda ³±±
±±³ ³ [4] Estorno da Liberacao do Pedido de Venda ³±±
±±³ ³ [5] Preparacao da Nota Fiscal de Saida ³±±
±±³ ³ [6] Exclusao da Nota Fiscal de Saida ³±±
±±³ ³ [7] Reavaliacao de Credito (Por Pedido) ³±±
±±³ ³ [8] Estorno da Reavalizacao de Credito ( Por Pedido )³±±
±±³ ³ExpL3: Liberacao Parcial ³±±
±±³ ³ExpL4: Transfere Locais ³±±
±±³ ³ExpL5: Verifica se todos os itens foram liberados ³±±
±±³ ³ExpL6: Verifica os residuos do pedido de venda ³±±
±±³ ³ExpL7: Verifica se todos os itens foram faturados ³±±
±±³ ³ExpL8: Atualiza somente os acumulados (DEFA: .F.) ³±±
±±³ ³ExpL9: Indica que todos os itens foram gravado (DEFA: .T.) ³±±
±±³ ³ExpCA: Numero do Pedido de Venda (OPC) ³±±
±±³ ³ExpAB: Array com os recnos do SC6 (OPC) ³±±
±±³ ³ExpLC: Estorna liberacoes anteriores (OPC) ³±±
±±³ ³ExpLD: Avalia Credito (OPC) ³±±
±±³ ³ExpNE: Valor a ser adicionado ao limite de credito (OPC) ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Retorno ³Nenhum ³±±
±±³ ³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡„o ³Esta rotina tem como objetivo atualizar os eventos vinculado³±±
±±³ ³ao cabecalho do pedido de venda ³±±
±±³ ³A) Atualizacao das tabelas complementares. ³±±
±±³ ³ Atualizacao das informacoes complementares do PV ³±±
±±³ ³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Uso ³ Materiais ³±±
±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
/*/
Function MaAvalSC5(cAliasSC5,nEvento,lLiber,lTransf,lLiberOk,lResidOk,lFaturOk,lAcumulado,lFinal,cPedido,aRegSC6,lEstLib,lAvCred,nVlrCred)
Local aArea := GetArea(cAliasSC5)
Local aAreaSC6 := {}
Local lAtuSC5 := .F.
Local lMALibReg := ExistBlock("MALIBREG")
#IFDEF TOP
Local cQuery := ""
#ENDIF
DEFAULT lAcumulado:= .F.
DEFAULT lFinal := .T.
DEFAULT cPedido := (cAliasSC5)->C5_NUM
DEFAULT nVlrCred := 0
RecLock("SC5")
Do Case
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Implantacao de um do pedido de venda ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Case nEvento == 1
Do Case
Case lLiberOk
(cAliasSC5)->C5_LIBEROK := "S"
Case lResidOk
(cAliasSC5)->C5_LIBEROK := "E"
OtherWise
(cAliasSC5)->C5_LIBEROK := ""
EndCase
If ( lFaturOk )
(cAliasSC5)->C5_NOTA := ""
(cAliasSC5)->C5_SERIE := ""
Else
If Empty((cAliasSC5)->C5_NOTA)
If !((cAliasSC5)->C5_TIPO $ "CIP")
(cAliasSC5)->C5_NOTA := "XXXXXX"
(cAliasSC5)->C5_SERIE := "XXX"
EndIf
EndIf
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Integracao com o SIGAEEC ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If GetMv("MV_EECFAT")
If FindFunction("AE100STATUS")
AE100STATUS(SC5->C5_PEDEXP)
EndIf
If FindFunction("FAT2PEDFAT")
Fat2PedFat(SC5->C5_NUM,3)
EndIf
EndIf
If AliasInDic("AID") .And. !lAcumulado
StartJob("FtJobPvCF",GetEnvServer(),.F.,cEmpAnt,cFilAnt,(cAliasSC5)->C5_NUM)
EndIf
If !lAcumulado
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Grava os lancamentos nas contas orcamentarias SIGAPCO ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
PcoDetLan("000100","03","MATA410")
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Estorno de um pedido de venda ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Case nEvento == 2
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Atualiza a tabela de fluxo de caixa do PV ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If AliasInDic("AID")
dbSelectArea("AID")
#IFDEF TOP
cQuery := "DELETE FROM "+RetSqlName("AID")+" WHERE AID_FILIAL='"+xFilial("AID")+"' AND AID_NUMPV='"+cPedido+"' "
TcSqlExec(cQuery)
#ELSE
dbSelectArea("AID")
dbSetOrder(1)
If MsSeek(xFilial("AID")+cPedido)
While !Eof() .And. xFilial("AID") == AID->AID_FILIAL .And. cPedido == AID->AID_NUMPV
RecLock("AID")
dbDelete()
dbSelectArea("AID")
dbSkip()
EndDo
EndIf
#ENDIF
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Integracao com o SIGAEEC ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If GetMv("MV_EECFAT")
If FindFunction("FAT2PEDFAT")
Fat2PedFat(SC5->C5_NUM,5)
EndIf
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Verifica se o Pedido de Venda foi originado pelo TMS ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If SC5->(FieldPos("C5_SOLFRE")) > 0 .And. !Empty(SC5->C5_SOLFRE)
DT4->(dbSetOrder(1))
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Deixa a Solicitacao de Frete Pendente Novamente ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If DT4->(MsSeek(xFilial("SC5")+SC5->C5_SOLFRE+SC5->C5_ITESOL) )
RecLock("DT4",.F.)
DT4->DT4_STATUS := "01"
Else
Help(" ",1, "A410SOLNAO")
EndIf
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Libera bloqueio de regra ou de verba ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If !__lPyme
(cAliasSC5)->C5_BLQ := Space(Len(SC5->C5_BLQ))
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Liberacao de um pedido de venda ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Case nEvento == 3
lLiberOk := .F.
If !lAcumulado .And. lFinal
MaAvLibPed((cAliasSC5)->C5_NUM,lLiber,lTransf,@lLiberOk,aRegSC6,,lEstLib,lAvCred,Nil,@nVlrCred)
EndIf
If ( lLiberOk )
(cAliasSC5)->C5_LIBEROK := "S"
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Estorno da liberacao do pedido de venda ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Case nEvento == 4
(cAliasSC5)->C5_LIBEROK := ""
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Preparacao da Nota Fiscal de Saida ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Case nEvento == 5
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Atualiza o Pedido de Venda ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
#IFDEF TOP
lAtuSC5 := .T.
If ( TcSrvType()<>"AS/400" )
SC6->(dbCommit())
cQuery := ""
cQuery += "SELECT COUNT(*) NUMERO FROM "+RetSqlName("SC6")+" "
cQuery += "WHERE C6_FILIAL='"+xFilial("SC6")+"' AND "
cQuery += "C6_NUM='"+cPedido+"' AND "
cQuery += "C6_BLQ<>'R ' AND "
cQuery += "C6_QTDVEN > C6_QTDENT AND "
cQuery += "D_E_L_E_T_=' '"
cQuery := ChangeQuery(cQuery)
dbUseArea(.T.,"TOPCONN",TcGenQry(,,cQuery),"MAAVALSC5",.F.,.T.)
If ( NUMERO == 0 )
lAtuSC5 := .F.
EndIf
dbCloseArea()
Else
#ENDIF
lAtuSC5 := .F.
dbSelectArea("SC6")
aAreaSC6 := SC6->(GetArea())
dbSetOrder(1)
MsSeek(xFilial("SC6")+cPedido)
While ( !Eof() .And. xFilial("SC6") == SC6->C6_FILIAL .And.;
SC6->C6_NUM == cPedido .And.;
SC6->C6_BLQ <> "R" )
If ( SC6->C6_QTDVEN > SC6->C6_QTDENT )
lAtuSC5 := .T.
Exit
EndIf
dbSelectArea("SC6")
dbSkip()
EndDo
RestArea(aAreaSC6)
#IFDEF TOP
EndIf
#ENDIF
dbSelectArea("SC5")
dbSetOrder(1)
If ( !lAtuSC5 )
If ( MsSeek(xFilial("SC5")+cPedido) )
RecLock("SC5",.F.)
If cPaisLoc == "BRA"
SC5->C5_NOTA := SF2->F2_DOC
SC5->C5_SERIE := SF2->F2_SERIE
Else
If IsRemito(1,"SF2->F2_TIPODOC")
SC5->C5_NOTA := "REMITO"
SC5->C5_SERIE := "RXX"
Else
SC5->C5_NOTA := SF2->F2_DOC
If SC5->C5_SERIE <> "RXX"
SC5->C5_SERIE := SF2->F2_SERIE
Endif
Endif
Endif
MsUnlock()
EndIf
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Atualiza a tabela de fluxo de caixa do PV ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If AliasInDic("AID")
dbSelectArea("AID")
#IFDEF TOP
cQuery := "DELETE FROM "+RetSqlName("AID")+" WHERE AID_FILIAL='"+xFilial("AID")+"' AND AID_NUMPV='"+cPedido+"' "
TcSqlExec(cQuery)
#ELSE
dbSelectArea("AID")
dbSetOrder(1)
If MsSeek(xFilial("AID")+cPedido)
While !Eof() .And. xFilial("AID") == AID->AID_FILIAL .And. cPedido == AID->AID_NUMPV
RecLock("AID")
dbDelete()
dbSelectArea("AID")
dbSkip()
EndDo
EndIf
#ENDIF
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Atualiza a tabela de fluxo de caixa do PV ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If AliasInDic("AID")
dbSelectArea("AID")
#IFDEF TOP
cQuery := "DELETE FROM "+RetSqlName("AID")+" WHERE AID_FILIAL='"+xFilial("AID")+"' AND AID_NUMPV='"+cPedido+"' "
TcSqlExec(cQuery)
#ELSE
dbSelectArea("AID")
dbSetOrder(1)
If MsSeek(xFilial("AID")+cPedido)
While !Eof() .And. xFilial("AID") == AID->AID_FILIAL .And. cPedido == AID->AID_NUMPV
RecLock("AID")
dbDelete()
dbSelectArea("AID")
dbSkip()
EndDo
EndIf
#ENDIF
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Estorno da Nota fiscal de Saida ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Case nEvento == 6
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Atualiza a tabela de fluxo de caixa do PV ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If AliasInDic("AID")
dbSelectArea("AID")
#IFDEF TOP
cQuery := "DELETE FROM "+RetSqlName("AID")+" WHERE AID_FILIAL='"+xFilial("AID")+"' AND AID_NUMPV='"+cPedido+"' "
TcSqlExec(cQuery)
#ELSE
dbSelectArea("AID")
dbSetOrder(1)
If MsSeek(xFilial("AID")+cPedido)
While !Eof() .And. xFilial("AID") == AID->AID_FILIAL .And. cPedido == AID->AID_NUMPV
RecLock("AID")
dbDelete()
dbSelectArea("AID")
dbSkip()
EndDo
EndIf
#ENDIF
EndIf
If cPaisLoc=="BRA"
(cAliasSC5)->C5_LIBEROK := ""
(cAliasSC5)->C5_SERIE := ""
(cAliasSC5)->C5_NOTA := ""
Else
If Empty(SD2->D2_REMITO)
(cAliasSC5)->C5_LIBEROK := ""
(cAliasSC5)->C5_SERIE := ""
(cAliasSC5)->C5_NOTA := ""
Else
If (cAliasSC5)->C5_SERIE == "RXX"
(cAliasSC5)->C5_NOTA := "REMITO"
Else
(cAliasSC5)->C5_NOTA := ""
(cAliasSC5)->C5_SERIE := ""
Endif
Endif
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Liberacao de regras ou verbas ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Case nEvento == 9
dbSelectArea("SC6")
dbSetOrder(1)
#IFDEF TOP
cAliasSC6 := "QRYSC6"
dbSelectArea('SC6')
dbCommit() //-- Atualiza as gravacoes pendentes na tabela
cQuery := "UPDATE "+RetSqlName("SC6")
cQuery += " SET C6_BLOQUEI = ' ' "
cQuery += " WHERE C6_FILIAL='"+xFilial('SC6')+"' AND "
cQuery += " C6_NUM='"+SC5->C5_NUM+"' AND "
cQuery += "(C6_BLOQUEI = '01' OR C6_BLOQUEI = '02') AND "
cQuery += " D_E_L_E_T_ = ' '"
TcSqlExec(cQuery)
dbGoto(Recno()) //-- Reposiciona na tabela/registro atual somente para atualizar gravacoes pendentes
#ELSE
aAreaSC6 := SC6->(GetArea())
SC6->(dbSetOrder(1))
If SC6->(MsSeek(xFilial("SC6")+SC5->C5_NUM))
While SC6->( !Eof() ) .And. SC6->C6_FILIAL == xFilial("SC6") .And. ;
SC6->C6_NUM == SC5->C5_NUM
RecLock("SC6",.F.)
SC6->C6_BLOQUEI := Space(Len(SC6->C6_BLOQUEI))
MsUnlock()
SC6->(dbSkip())
EndDo
Endif
RestArea(aAreaSC6)
#ENDIF
Reclock("SC5",.F.)
SC5->C5_BLQ :=Space(Len(SC5->C5_BLQ))
MsUnlock()
If lMALibReg
ExecBlock("MALIBREG",.F.,.F.,{SC5->C5_NUM})
EndIf
EndCase
RestArea(aArea)
Return(.T.)
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Funcao ³MaAvalSC5 ³ Autor ³Eduardo Riera ³ Data ³13.02.2000³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³Rotina de avaliacao dos eventos do Cabecalho do Pedido de ³±±
±±³ ³Venda. ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ExpC1: Alias da tabela de Cabecalho do Pedido de Venda ³±±
±±³ ³ExpN2: Codigo do Evento ³±±
±±³ ³ [1] Implantacao do Pedido de Venda ³±±
±±³ ³ [2] Estorno do Pedido de Venda ³±±
±±³ ³ [3] Liberacao do Pedido de Venda ³±±
±±³ ³ [4] Estorno da Liberacao do Pedido de Venda ³±±
±±³ ³ [5] Preparacao da Nota Fiscal de Saida ³±±
±±³ ³ [6] Exclusao da Nota Fiscal de Saida ³±±
±±³ ³ [7] Reavaliacao de Credito (Por Pedido) ³±±
±±³ ³ [8] Estorno da Reavalizacao de Credito ( Por Pedido )³±±
±±³ ³ExpL3: Liberacao Parcial ³±±
±±³ ³ExpL4: Transfere Locais ³±±
±±³ ³ExpL5: Verifica se todos os itens foram liberados ³±±
±±³ ³ExpL6: Verifica os residuos do pedido de venda ³±±
±±³ ³ExpL7: Verifica se todos os itens foram faturados ³±±
±±³ ³ExpL8: Atualiza somente os acumulados (DEFA: .F.) ³±±
±±³ ³ExpL9: Indica que todos os itens foram gravado (DEFA: .T.) ³±±
±±³ ³ExpCA: Numero do Pedido de Venda (OPC) ³±±
±±³ ³ExpAB: Array com os recnos do SC6 (OPC) ³±±
±±³ ³ExpLC: Estorna liberacoes anteriores (OPC) ³±±
±±³ ³ExpLD: Avalia Credito (OPC) ³±±
±±³ ³ExpNE: Valor a ser adicionado ao limite de credito (OPC) ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Retorno ³Nenhum ³±±
±±³ ³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡„o ³Esta rotina tem como objetivo atualizar os eventos vinculado³±±
±±³ ³ao cabecalho do pedido de venda ³±±
±±³ ³A) Atualizacao das tabelas complementares. ³±±
±±³ ³ Atualizacao das informacoes complementares do PV ³±±
±±³ ³ ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Uso ³ Materiais ³±±
±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
/*/
Function MaAvalSC5(cAliasSC5,nEvento,lLiber,lTransf,lLiberOk,lResidOk,lFaturOk,lAcumulado,lFinal,cPedido,aRegSC6,lEstLib,lAvCred,nVlrCred)
Local aArea := GetArea(cAliasSC5)
Local aAreaSC6 := {}
Local lAtuSC5 := .F.
Local lMALibReg := ExistBlock("MALIBREG")
#IFDEF TOP
Local cQuery := ""
#ENDIF
DEFAULT lAcumulado:= .F.
DEFAULT lFinal := .T.
DEFAULT cPedido := (cAliasSC5)->C5_NUM
DEFAULT nVlrCred := 0
RecLock("SC5")
Do Case
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Implantacao de um do pedido de venda ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Case nEvento == 1
Do Case
Case lLiberOk
(cAliasSC5)->C5_LIBEROK := "S"
Case lResidOk
(cAliasSC5)->C5_LIBEROK := "E"
OtherWise
(cAliasSC5)->C5_LIBEROK := ""
EndCase
If ( lFaturOk )
(cAliasSC5)->C5_NOTA := ""
(cAliasSC5)->C5_SERIE := ""
Else
If Empty((cAliasSC5)->C5_NOTA)
If !((cAliasSC5)->C5_TIPO $ "CIP")
(cAliasSC5)->C5_NOTA := "XXXXXX"
(cAliasSC5)->C5_SERIE := "XXX"
EndIf
EndIf
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Integracao com o SIGAEEC ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If GetMv("MV_EECFAT")
If FindFunction("AE100STATUS")
AE100STATUS(SC5->C5_PEDEXP)
EndIf
If FindFunction("FAT2PEDFAT")
Fat2PedFat(SC5->C5_NUM,3)
EndIf
EndIf
If AliasInDic("AID") .And. !lAcumulado
StartJob("FtJobPvCF",GetEnvServer(),.F.,cEmpAnt,cFilAnt,(cAliasSC5)->C5_NUM)
EndIf
If !lAcumulado
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Grava os lancamentos nas contas orcamentarias SIGAPCO ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
PcoDetLan("000100","03","MATA410")
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Estorno de um pedido de venda ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Case nEvento == 2
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Atualiza a tabela de fluxo de caixa do PV ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If AliasInDic("AID")
dbSelectArea("AID")
#IFDEF TOP
cQuery := "DELETE FROM "+RetSqlName("AID")+" WHERE AID_FILIAL='"+xFilial("AID")+"' AND AID_NUMPV='"+cPedido+"' "
TcSqlExec(cQuery)
#ELSE
dbSelectArea("AID")
dbSetOrder(1)
If MsSeek(xFilial("AID")+cPedido)
While !Eof() .And. xFilial("AID") == AID->AID_FILIAL .And. cPedido == AID->AID_NUMPV
RecLock("AID")
dbDelete()
dbSelectArea("AID")
dbSkip()
EndDo
EndIf
#ENDIF
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Integracao com o SIGAEEC ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If GetMv("MV_EECFAT")
If FindFunction("FAT2PEDFAT")
Fat2PedFat(SC5->C5_NUM,5)
EndIf
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Verifica se o Pedido de Venda foi originado pelo TMS ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If SC5->(FieldPos("C5_SOLFRE")) > 0 .And. !Empty(SC5->C5_SOLFRE)
DT4->(dbSetOrder(1))
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Deixa a Solicitacao de Frete Pendente Novamente ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If DT4->(MsSeek(xFilial("SC5")+SC5->C5_SOLFRE+SC5->C5_ITESOL) )
RecLock("DT4",.F.)
DT4->DT4_STATUS := "01"
Else
Help(" ",1, "A410SOLNAO")
EndIf
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Libera bloqueio de regra ou de verba ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If !__lPyme
(cAliasSC5)->C5_BLQ := Space(Len(SC5->C5_BLQ))
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Liberacao de um pedido de venda ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Case nEvento == 3
lLiberOk := .F.
If !lAcumulado .And. lFinal
MaAvLibPed((cAliasSC5)->C5_NUM,lLiber,lTransf,@lLiberOk,aRegSC6,,lEstLib,lAvCred,Nil,@nVlrCred)
EndIf
If ( lLiberOk )
(cAliasSC5)->C5_LIBEROK := "S"
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Estorno da liberacao do pedido de venda ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Case nEvento == 4
(cAliasSC5)->C5_LIBEROK := ""
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Preparacao da Nota Fiscal de Saida ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Case nEvento == 5
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Atualiza o Pedido de Venda ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
#IFDEF TOP
lAtuSC5 := .T.
If ( TcSrvType()<>"AS/400" )
SC6->(dbCommit())
cQuery := ""
cQuery += "SELECT COUNT(*) NUMERO FROM "+RetSqlName("SC6")+" "
cQuery += "WHERE C6_FILIAL='"+xFilial("SC6")+"' AND "
cQuery += "C6_NUM='"+cPedido+"' AND "
cQuery += "C6_BLQ<>'R ' AND "
cQuery += "C6_QTDVEN > C6_QTDENT AND "
cQuery += "D_E_L_E_T_=' '"
cQuery := ChangeQuery(cQuery)
dbUseArea(.T.,"TOPCONN",TcGenQry(,,cQuery),"MAAVALSC5",.F.,.T.)
If ( NUMERO == 0 )
lAtuSC5 := .F.
EndIf
dbCloseArea()
Else
#ENDIF
lAtuSC5 := .F.
dbSelectArea("SC6")
aAreaSC6 := SC6->(GetArea())
dbSetOrder(1)
MsSeek(xFilial("SC6")+cPedido)
While ( !Eof() .And. xFilial("SC6") == SC6->C6_FILIAL .And.;
SC6->C6_NUM == cPedido .And.;
SC6->C6_BLQ <> "R" )
If ( SC6->C6_QTDVEN > SC6->C6_QTDENT )
lAtuSC5 := .T.
Exit
EndIf
dbSelectArea("SC6")
dbSkip()
EndDo
RestArea(aAreaSC6)
#IFDEF TOP
EndIf
#ENDIF
dbSelectArea("SC5")
dbSetOrder(1)
If ( !lAtuSC5 )
If ( MsSeek(xFilial("SC5")+cPedido) )
RecLock("SC5",.F.)
If cPaisLoc == "BRA"
SC5->C5_NOTA := SF2->F2_DOC
SC5->C5_SERIE := SF2->F2_SERIE
Else
If IsRemito(1,"SF2->F2_TIPODOC")
SC5->C5_NOTA := "REMITO"
SC5->C5_SERIE := "RXX"
Else
SC5->C5_NOTA := SF2->F2_DOC
If SC5->C5_SERIE <> "RXX"
SC5->C5_SERIE := SF2->F2_SERIE
Endif
Endif
Endif
MsUnlock()
EndIf
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Atualiza a tabela de fluxo de caixa do PV ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If AliasInDic("AID")
dbSelectArea("AID")
#IFDEF TOP
cQuery := "DELETE FROM "+RetSqlName("AID")+" WHERE AID_FILIAL='"+xFilial("AID")+"' AND AID_NUMPV='"+cPedido+"' "
TcSqlExec(cQuery)
#ELSE
dbSelectArea("AID")
dbSetOrder(1)
If MsSeek(xFilial("AID")+cPedido)
While !Eof() .And. xFilial("AID") == AID->AID_FILIAL .And. cPedido == AID->AID_NUMPV
RecLock("AID")
dbDelete()
dbSelectArea("AID")
dbSkip()
EndDo
EndIf
#ENDIF
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Atualiza a tabela de fluxo de caixa do PV ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If AliasInDic("AID")
dbSelectArea("AID")
#IFDEF TOP
cQuery := "DELETE FROM "+RetSqlName("AID")+" WHERE AID_FILIAL='"+xFilial("AID")+"' AND AID_NUMPV='"+cPedido+"' "
TcSqlExec(cQuery)
#ELSE
dbSelectArea("AID")
dbSetOrder(1)
If MsSeek(xFilial("AID")+cPedido)
While !Eof() .And. xFilial("AID") == AID->AID_FILIAL .And. cPedido == AID->AID_NUMPV
RecLock("AID")
dbDelete()
dbSelectArea("AID")
dbSkip()
EndDo
EndIf
#ENDIF
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Estorno da Nota fiscal de Saida ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Case nEvento == 6
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Atualiza a tabela de fluxo de caixa do PV ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If AliasInDic("AID")
dbSelectArea("AID")
#IFDEF TOP
cQuery := "DELETE FROM "+RetSqlName("AID")+" WHERE AID_FILIAL='"+xFilial("AID")+"' AND AID_NUMPV='"+cPedido+"' "
TcSqlExec(cQuery)
#ELSE
dbSelectArea("AID")
dbSetOrder(1)
If MsSeek(xFilial("AID")+cPedido)
While !Eof() .And. xFilial("AID") == AID->AID_FILIAL .And. cPedido == AID->AID_NUMPV
RecLock("AID")
dbDelete()
dbSelectArea("AID")
dbSkip()
EndDo
EndIf
#ENDIF
EndIf
If cPaisLoc=="BRA"
(cAliasSC5)->C5_LIBEROK := ""
(cAliasSC5)->C5_SERIE := ""
(cAliasSC5)->C5_NOTA := ""
Else
If Empty(SD2->D2_REMITO)
(cAliasSC5)->C5_LIBEROK := ""
(cAliasSC5)->C5_SERIE := ""
(cAliasSC5)->C5_NOTA := ""
Else
If (cAliasSC5)->C5_SERIE == "RXX"
(cAliasSC5)->C5_NOTA := "REMITO"
Else
(cAliasSC5)->C5_NOTA := ""
(cAliasSC5)->C5_SERIE := ""
Endif
Endif
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Liberacao de regras ou verbas ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Case nEvento == 9
dbSelectArea("SC6")
dbSetOrder(1)
#IFDEF TOP
cAliasSC6 := "QRYSC6"
dbSelectArea('SC6')
dbCommit() //-- Atualiza as gravacoes pendentes na tabela
cQuery := "UPDATE "+RetSqlName("SC6")
cQuery += " SET C6_BLOQUEI = ' ' "
cQuery += " WHERE C6_FILIAL='"+xFilial('SC6')+"' AND "
cQuery += " C6_NUM='"+SC5->C5_NUM+"' AND "
cQuery += "(C6_BLOQUEI = '01' OR C6_BLOQUEI = '02') AND "
cQuery += " D_E_L_E_T_ = ' '"
TcSqlExec(cQuery)
dbGoto(Recno()) //-- Reposiciona na tabela/registro atual somente para atualizar gravacoes pendentes
#ELSE
aAreaSC6 := SC6->(GetArea())
SC6->(dbSetOrder(1))
If SC6->(MsSeek(xFilial("SC6")+SC5->C5_NUM))
While SC6->( !Eof() ) .And. SC6->C6_FILIAL == xFilial("SC6") .And. ;
SC6->C6_NUM == SC5->C5_NUM
RecLock("SC6",.F.)
SC6->C6_BLOQUEI := Space(Len(SC6->C6_BLOQUEI))
MsUnlock()
SC6->(dbSkip())
EndDo
Endif
RestArea(aAreaSC6)
#ENDIF
Reclock("SC5",.F.)
SC5->C5_BLQ :=Space(Len(SC5->C5_BLQ))
MsUnlock()
If lMALibReg
ExecBlock("MALIBREG",.F.,.F.,{SC5->C5_NUM})
EndIf
EndCase
RestArea(aArea)
Return(.T.)
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- Tony.totvs
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 47
- Obrigados Recebidos: 0
11 anos 8 meses atrás #11853
por Tony.totvs
Respondido por Tony.totvs no tópico Função MaAvalSC5
Obrigado, Luiz
Abraço
Abraço
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.145 segundos