- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- duvida query - workflow
×
Linguagem de Programação ADVPL
Perguntas duvida query - workflow
- mvittoria
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 42
- Obrigados Recebidos: 0
10 anos 1 semana atrás #26079
por mvittoria
duvida query - workflow foi criado por mvittoria
Boa Tarde,
Estou customizando um workflow pré existente, para produtos com estoque negativo.
Presiço criar uma tag onde traga o valor total, pois o mesmo workflow separa por CC.
Faço isso criando uma query (SUM) ou somente via código (alguem teria algum exemplo)
Grato
Estou customizando um workflow pré existente, para produtos com estoque negativo.
Presiço criar uma tag onde traga o valor total, pois o mesmo workflow separa por CC.
Faço isso criando uma query (SUM) ou somente via código (alguem teria algum exemplo)
Grato
Por favor Acessar ou Registrar para participar da conversa.
- afppellegrini
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 16
- Obrigados Recebidos: 0
10 anos 1 semana atrás #26092
por afppellegrini
Respondido por afppellegrini no tópico duvida query - workflow
Bom dia mvittoria,
Recomendo você fazer isso via SQL, porem preciso de mais informações sobre sua necessidade para lhe ajudar melhor.
Abaixo tem um exemplo de select que retorna o Código do produto e o saldo total negativo de cada um deles.
SELECT B2_COD AS CODIGO,
SUM(B2_QATU) AS SALDO
FROM SB2010 B2
WHERE B2.B2_QATU < 0
AND B2.D_E_L_E_T_ = ' '
GROUP BY B2_COD, B2_QATU
Obrigado!
Recomendo você fazer isso via SQL, porem preciso de mais informações sobre sua necessidade para lhe ajudar melhor.
Abaixo tem um exemplo de select que retorna o Código do produto e o saldo total negativo de cada um deles.
SELECT B2_COD AS CODIGO,
SUM(B2_QATU) AS SALDO
FROM SB2010 B2
WHERE B2.B2_QATU < 0
AND B2.D_E_L_E_T_ = ' '
GROUP BY B2_COD, B2_QATU
Obrigado!
Por favor Acessar ou Registrar para participar da conversa.
- mvittoria
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 42
- Obrigados Recebidos: 0
10 anos 1 semana atrás #26097
por mvittoria
Respondido por mvittoria no tópico duvida query - workflow
Obrigado por responder ja tenho uma query montada
cQuery := "SELECT B2_COD,B2_LOCAL,B1_DESC,B1_UM,B1_TIPO,B2_QATU,B2_CM1,B2_VATU1 "
cQuery += "FROM "+RetSqlName("SB2")+" B2 ,"+RetSqlName("SB1")+" B1 "
cQuery += "WHERE B2.D_E_L_E_T_ = '' AND B2_FILIAL = '"+xFilial("SB2")+"' "
cQuery += "AND B1.D_E_L_E_T_ = '' AND B1_FILIAL = '"+xFilial("SB1")+"' "
cQuery += "AND B2_LOCAL IN ('01','99') AND B2_COD = B1_COD AND B2_QATU < 0 AND B1_TIPO = 'MP' "
cQuery += "ORDER BY B2_LOCAL,B2_COD "
cQuery := ChangeQuery(cQuery)
minha dúvida seria, como trato o Alias que criei no SUM, no caso da sua query o "SALDO"
Grato
cQuery := "SELECT B2_COD,B2_LOCAL,B1_DESC,B1_UM,B1_TIPO,B2_QATU,B2_CM1,B2_VATU1 "
cQuery += "FROM "+RetSqlName("SB2")+" B2 ,"+RetSqlName("SB1")+" B1 "
cQuery += "WHERE B2.D_E_L_E_T_ = '' AND B2_FILIAL = '"+xFilial("SB2")+"' "
cQuery += "AND B1.D_E_L_E_T_ = '' AND B1_FILIAL = '"+xFilial("SB1")+"' "
cQuery += "AND B2_LOCAL IN ('01','99') AND B2_COD = B1_COD AND B2_QATU < 0 AND B1_TIPO = 'MP' "
cQuery += "ORDER BY B2_LOCAL,B2_COD "
cQuery := ChangeQuery(cQuery)
minha dúvida seria, como trato o Alias que criei no SUM, no caso da sua query o "SALDO"
Grato
Por favor Acessar ou Registrar para participar da conversa.
- afppellegrini
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 16
- Obrigados Recebidos: 0
10 anos 1 semana atrás #26101
por afppellegrini
Respondido por afppellegrini no tópico duvida query - workflow
Olá, pode usar assim:
Att.
Andre Pellegrini!
cQuery := "SELECT B2_COD, "
B2_LOCAL, "
B1_DESC, "
B1_UM, "
B1_TIPO, "
SUM(B2_QATU) AS SALDO, "
B2_CM1, "
B2_VATU1 "
cQuery += "FROM "+RetSqlName("SB2")+" B2 ,"+RetSqlName("SB1")+" B1 "
cQuery += "WHERE B2.D_E_L_E_T_ = '' AND B2_FILIAL = '"+xFilial("SB2")+"' "
cQuery += "AND B1.D_E_L_E_T_ = '' AND B1_FILIAL = '"+xFilial("SB1")+"' "
cQuery += "AND B2_LOCAL IN ('01','99') AND B2_COD = B1_COD AND B2_QATU < 0 AND B1_TIPO = 'MP' "
cQuery += "GROUP BY B2_COD, "
B2_LOCAL, "
B1_DESC, "
B1_UM, "
B1_TIPO, "
B2_QATU, "
B2_CM1, "
B2_VATU1 "
cQuery += "ORDER BY B2_LOCAL,B2_COD "
cQuery := ChangeQuery(cQuery)
TcQuery cQuery New Alias "TRB"
TRB->(dbGoTop())
While ! TRB->(Eof())
_cSaldo += TRB->SALDO //recebe a soma dos saldos negativos.
TRB->(dbSkip())
Enddo
//---------------------------------------------------------------//
// Fecha tabela temporária //
//---------------------------------------------------------------//
TRB->(dbCloseArea())
Return
Att.
Andre Pellegrini!
Por favor Acessar ou Registrar para participar da conversa.
- mvittoria
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 42
- Obrigados Recebidos: 0
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- duvida query - workflow
Tempo para a criação da página:0.105 segundos