Perguntas Pedido de Vendas com Status
- lalberto
- Autor do Tópico
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 11 meses atrás #449
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Pedido de Vendas com Status foi criado por lalberto
Bom dia, Pessoal.
Preciso que o Protheus mostre uma imagem (pode ser bmp, gif, jpg) no cabeçalho da tela do pedido de vendas (SC5). Esta imagem deverá aparecer de acordo com o preenchimento de algumas informações no cabeçalho e ser disparada por gatilho.
Qual a configuração necessária do campo e como faço para que esta imagem seja apresentada no cabeçalho?
Att,
Ronaldo Gomes
Preciso que o Protheus mostre uma imagem (pode ser bmp, gif, jpg) no cabeçalho da tela do pedido de vendas (SC5). Esta imagem deverá aparecer de acordo com o preenchimento de algumas informações no cabeçalho e ser disparada por gatilho.
Qual a configuração necessária do campo e como faço para que esta imagem seja apresentada no cabeçalho?
Att,
Ronaldo Gomes
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
- Autor do Tópico
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 11 meses atrás #450
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 Re: Pedido de Vendas com Status
Ronaldo boa tarde, eu não entendi bem aonde você gostaria de mostrar essa imagem, faz um favor
dá um print da tela do pedido de venda, e no paintbrush tenta montar mais ou menos o que vc queria ok.
Abraços.
dá um print da tela do pedido de venda, e no paintbrush tenta montar mais ou menos o que vc queria ok.
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
- Autor do Tópico
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 11 meses atrás #451
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 Re: Pedido de Vendas com Status
Boa tarde, Luiz.
Segue em anexo a imagem.
Bom no caso do itnes do Pedido eu já resolvi o problema esta no Status do pedido (SC5).
Dependo do calculo que será feito em cima de cada item do pedido será um cor.
Agora sim fui mais claro....rsrsrsrsrs
Att,
Ronaldo Gomes
Segue em anexo a imagem.
Bom no caso do itnes do Pedido eu já resolvi o problema esta no Status do pedido (SC5).
Dependo do calculo que será feito em cima de cada item do pedido será um cor.
Agora sim fui mais claro....rsrsrsrsrs
Att,
Ronaldo Gomes
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
- Autor do Tópico
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 11 meses atrás #452
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 Re: Pedido de Vendas com Status
Brother assim, criar um campo para colocar o status não é dificil, porém utilizar cores eu nunca vi e sinceramente também não conheço
qualquer função que faça isso.
O Que realmente pode ser feito é um campo tipo C5_STATUS e vc ir trocando a letra a cada regra dos itens, porém mudar a cor eu realmente
desconheço.
Abraços
qualquer função que faça isso.
O Que realmente pode ser feito é um campo tipo C5_STATUS e vc ir trocando a letra a cada regra dos itens, porém mudar a cor eu realmente
desconheço.
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
- Autor do Tópico
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 11 meses atrás #453
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 Re: Pedido de Vendas com Status
Será que para realizar esta mudança de cores não seria necessario criar um ponto de entrada porque está informação de Status do pedido é devido ao calculo feito pelos itens do pedido.
Só que no caso deste Status será comparado com os valores de uma Tabela, Por exemplo:
a soma dos itens 1,2,3 e 4 se a media desses pedidos for 50% entao o Status é "C"
Estou falando besteira ou estou certo?
Att,
Ronaldo Gomes
Só que no caso deste Status será comparado com os valores de uma Tabela, Por exemplo:
a soma dos itens 1,2,3 e 4 se a media desses pedidos for 50% entao o Status é "C"
Estou falando besteira ou estou certo?
Att,
Ronaldo Gomes
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
- Autor do Tópico
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 11 meses atrás #455
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 Re: Pedido de Vendas com Status
Você está certissimo, porém não tem tanta necessidade de usar um ponto de entrada
você poderá colocar um gatilho no Campo C6_QTDVEN
por exemplo U_CalcPeso().
Segue um exemplo que você poderá utilizar, ele checa as linhas do pedido de venda para atualizar o campo Peso Bruto,
você poderá utilizar o mesmo conceito ok.
Porém como te informei, você poderá mudar o status de A pra B, de B pra C tanto faz, porém
como disse o uso de cores eu desconheço.
/*/
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Programa ³ CALCPESO Autor ³ Luiz Alberto ³ Data ³ 11/01/10 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Objetivo ³ Funcao responsavel pelo preenchimento dos campos ±±
de Peso Bruto e Peso Liquido do Pedido de Vendas
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±± ³±±
±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
/*/
User Function CalcPeso(nValor)
Local nPesoBruto := 0
Local nPesoLiqui := 0
Local nTotaCubic := 0
Local nTotaPalle := 0
nPosItem := ASCAN(aHeader, {|aVal| Alltrim(aVal[2]) == "C6_ITEM"})
nPosProd := ASCAN(aHeader, {|aVal| Alltrim(aVal[2]) == "C6_PRODUTO"})
nPosQtde := ASCAN(aHeader, {|aVal| Alltrim(aVal[2]) == "C6_QTDVEN"})
nPosCubi := ASCAN(aHeader, {|aVal| Alltrim(aVal[2]) == "C6_XXTCUB"})
nPosPale := ASCAN(aHeader, {|aVal| Alltrim(aVal[2]) == "C6_XXTPALE"})
nPosQtdL := ASCAN(aHeader, {|aVal| Alltrim(aVal[2]) == "C6_QTDLIB"})
For _nItem := 1 to Len(aCols)
If ! aCols[_nItem,Len(aHeader)+1]
Posicione("SB1",1,xFilial("SB1")+aCols[_nItem,nPosProd],"")
Posicione("SB5",1,xFilial("SB5")+aCols[_nItem,nPosProd],"")
// Posiciona-se no item do pedido atual gravado e efetua o abatimento caso o mesmo já tenha sido atendido parcialmente
If SC6->(dbSetOrder(2), dbSeek(xFilial("SC6")+aCols[_nItem,nPosProd]+M->C5_NUM+aCols[_nItem,nPosItem]))
If !Empty(aCols[_nItem,nPosQtdL])
nPesoLiqui += ((aCols[_nItem,nPosQtdL]) * SB1->B1_PESO)
nPesoBruto += ((aCols[_nItem,nPosQtdL]) * SB1->B1_PBRUT)
If SB5->(!Eof()) .And. !Empty(SB5->B5__CUBUNE)
nTotaCubic += Round(SB5->B5__CUBUNE * (aCols[_nItem,nPosQtdL]) ,4)
Endif
If SB5->(!Eof()) .And. !Empty(SB5->B5__CXSPLT)
nTotaPalle += Round((aCols[_nItem,nPosQtdL])/SB5->B5__CXSPLT,2)
Endif
Else
nPesoLiqui += ((aCols[_nItem,nPosQtde] - SC6->C6_QTDENT) * SB1->B1_PESO)
nPesoBruto += ((aCols[_nItem,nPosQtde] - SC6->C6_QTDENT) * SB1->B1_PBRUT)
If SB5->(!Eof()) .And. !Empty(SB5->B5__CUBUNE)
nTotaCubic += Round(SB5->B5__CUBUNE * (aCols[_nItem,nPosQtde] - SC6->C6_QTDENT) ,4)
Endif
If SB5->(!Eof()) .And. !Empty(SB5->B5__CXSPLT)
nTotaPalle += Round((aCols[_nItem,nPosQtde] - SC6->C6_QTDENT)/SB5->B5__CXSPLT,2)
Endif
Endif
Else
If !Empty(aCols[_nItem,nPosQtdL])
nPesoLiqui += (aCols[_nItem,nPosQtdL] * SB1->B1_PESO)
nPesoBruto += (aCols[_nItem,nPosQtdL] * SB1->B1_PBRUT)
nTotaCubic += aCols[_nItem,nPosCubi]
nTotaPalle += aCols[_nItem,nPosPale]
Else
nPesoLiqui += (aCols[_nItem,nPosQtde] * SB1->B1_PESO)
nPesoBruto += (aCols[_nItem,nPosQtde] * SB1->B1_PBRUT)
nTotaCubic += aCols[_nItem,nPosCubi]
nTotaPalle += aCols[_nItem,nPosPale]
Endif
Endif
EndIf
Next
M->C5_PBRUTO := nPesoBruto
M->C5_PESOL := nPesoLiqui
M->C5_XXTCUB := nTotaCubic
M->C5_XXTPALE:= nTotaPalle
GetDRefresh()
Return nValor
você poderá colocar um gatilho no Campo C6_QTDVEN
por exemplo U_CalcPeso().
Segue um exemplo que você poderá utilizar, ele checa as linhas do pedido de venda para atualizar o campo Peso Bruto,
você poderá utilizar o mesmo conceito ok.
Porém como te informei, você poderá mudar o status de A pra B, de B pra C tanto faz, porém
como disse o uso de cores eu desconheço.
/*/
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Programa ³ CALCPESO Autor ³ Luiz Alberto ³ Data ³ 11/01/10 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Objetivo ³ Funcao responsavel pelo preenchimento dos campos ±±
de Peso Bruto e Peso Liquido do Pedido de Vendas
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±± ³±±
±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
/*/
User Function CalcPeso(nValor)
Local nPesoBruto := 0
Local nPesoLiqui := 0
Local nTotaCubic := 0
Local nTotaPalle := 0
nPosItem := ASCAN(aHeader, {|aVal| Alltrim(aVal[2]) == "C6_ITEM"})
nPosProd := ASCAN(aHeader, {|aVal| Alltrim(aVal[2]) == "C6_PRODUTO"})
nPosQtde := ASCAN(aHeader, {|aVal| Alltrim(aVal[2]) == "C6_QTDVEN"})
nPosCubi := ASCAN(aHeader, {|aVal| Alltrim(aVal[2]) == "C6_XXTCUB"})
nPosPale := ASCAN(aHeader, {|aVal| Alltrim(aVal[2]) == "C6_XXTPALE"})
nPosQtdL := ASCAN(aHeader, {|aVal| Alltrim(aVal[2]) == "C6_QTDLIB"})
For _nItem := 1 to Len(aCols)
If ! aCols[_nItem,Len(aHeader)+1]
Posicione("SB1",1,xFilial("SB1")+aCols[_nItem,nPosProd],"")
Posicione("SB5",1,xFilial("SB5")+aCols[_nItem,nPosProd],"")
// Posiciona-se no item do pedido atual gravado e efetua o abatimento caso o mesmo já tenha sido atendido parcialmente
If SC6->(dbSetOrder(2), dbSeek(xFilial("SC6")+aCols[_nItem,nPosProd]+M->C5_NUM+aCols[_nItem,nPosItem]))
If !Empty(aCols[_nItem,nPosQtdL])
nPesoLiqui += ((aCols[_nItem,nPosQtdL]) * SB1->B1_PESO)
nPesoBruto += ((aCols[_nItem,nPosQtdL]) * SB1->B1_PBRUT)
If SB5->(!Eof()) .And. !Empty(SB5->B5__CUBUNE)
nTotaCubic += Round(SB5->B5__CUBUNE * (aCols[_nItem,nPosQtdL]) ,4)
Endif
If SB5->(!Eof()) .And. !Empty(SB5->B5__CXSPLT)
nTotaPalle += Round((aCols[_nItem,nPosQtdL])/SB5->B5__CXSPLT,2)
Endif
Else
nPesoLiqui += ((aCols[_nItem,nPosQtde] - SC6->C6_QTDENT) * SB1->B1_PESO)
nPesoBruto += ((aCols[_nItem,nPosQtde] - SC6->C6_QTDENT) * SB1->B1_PBRUT)
If SB5->(!Eof()) .And. !Empty(SB5->B5__CUBUNE)
nTotaCubic += Round(SB5->B5__CUBUNE * (aCols[_nItem,nPosQtde] - SC6->C6_QTDENT) ,4)
Endif
If SB5->(!Eof()) .And. !Empty(SB5->B5__CXSPLT)
nTotaPalle += Round((aCols[_nItem,nPosQtde] - SC6->C6_QTDENT)/SB5->B5__CXSPLT,2)
Endif
Endif
Else
If !Empty(aCols[_nItem,nPosQtdL])
nPesoLiqui += (aCols[_nItem,nPosQtdL] * SB1->B1_PESO)
nPesoBruto += (aCols[_nItem,nPosQtdL] * SB1->B1_PBRUT)
nTotaCubic += aCols[_nItem,nPosCubi]
nTotaPalle += aCols[_nItem,nPosPale]
Else
nPesoLiqui += (aCols[_nItem,nPosQtde] * SB1->B1_PESO)
nPesoBruto += (aCols[_nItem,nPosQtde] * SB1->B1_PBRUT)
nTotaCubic += aCols[_nItem,nPosCubi]
nTotaPalle += aCols[_nItem,nPosPale]
Endif
Endif
EndIf
Next
M->C5_PBRUTO := nPesoBruto
M->C5_PESOL := nPesoLiqui
M->C5_XXTCUB := nTotaCubic
M->C5_XXTPALE:= nTotaPalle
GetDRefresh()
Return nValor
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.
Tempo para a criação da página:0.124 segundos