×
Linguagem de Programação ADVPL
Perguntas Fonte FINC010
- kenazfs
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 43
- Obrigados Recebidos: 0
11 anos 3 meses atrás - 11 anos 3 meses atrás #16300
por kenazfs
Fonte FINC010 foi criado por kenazfs
Alguem poderia me disponibilizar o fonte FINC010.
Na verdade, preciso apenas da logica utilizada ao clicar no botão "pedidos", pois preciso customizar uma rotina interna que apresente uma tela parecida com a tela de pedidos mostrando os saldos pendentes.
Desde ja agradeço a colaboração
Acabei de fazer a rotina, mas ainda estou com problemas para atualizar o campo.
Alguem pode dar uma luz....
Abaixo segue a customização que desenvolvi.
Ja fiz o teste do select no meu SQL e os dados que recebo são exatamente o que preciso.
#include "rwmake.ch"
#include "topconn.ch"
#include "tbiconn.ch"
User Function REFAZ()
cQuery := " SELECT C6_CLI,C6_LOJA,SUM(C6_PRCVEN*C6_QTDVEN) AS TOT "
cQuery += " FROM SC6020 "
cQuery += " WHERE "
cQuery += " C6_NFORI = ' ' AND "
cQuery += " C6_QTDENT< C6_QTDVEN AND "
cQuery += " C6_BLQ = ' ' AND "
cQuery += " D_E_L_E_T_ = ' ' "
cQuery += " GROUP BY C6_CLI,C6_LOJA "
TCQUERY cQuery NEW ALIAS "TC6"
TCSETFIELD("TC6","TOT","N",12,2)
While !Eof()
dbSelectArea("SA1")
dbSetOrder(1)
If dbSeek(xFilial("SA1")+TC6->C6_CLI+TC6->C6_LOJA,.F.)
If RecLock("SA1",.F.)
SA1->A1_SALPEDL := TC6->TOT
MsUnLock("SA1")
Endif
EndIf
dbSelectArea("TC6")
dbSkip()
Loop
End
msgstop("Finalizado com Sucesso!!!")
Return
Na verdade, preciso apenas da logica utilizada ao clicar no botão "pedidos", pois preciso customizar uma rotina interna que apresente uma tela parecida com a tela de pedidos mostrando os saldos pendentes.
Desde ja agradeço a colaboração
Acabei de fazer a rotina, mas ainda estou com problemas para atualizar o campo.
Alguem pode dar uma luz....
Abaixo segue a customização que desenvolvi.
Ja fiz o teste do select no meu SQL e os dados que recebo são exatamente o que preciso.
#include "rwmake.ch"
#include "topconn.ch"
#include "tbiconn.ch"
User Function REFAZ()
cQuery := " SELECT C6_CLI,C6_LOJA,SUM(C6_PRCVEN*C6_QTDVEN) AS TOT "
cQuery += " FROM SC6020 "
cQuery += " WHERE "
cQuery += " C6_NFORI = ' ' AND "
cQuery += " C6_QTDENT< C6_QTDVEN AND "
cQuery += " C6_BLQ = ' ' AND "
cQuery += " D_E_L_E_T_ = ' ' "
cQuery += " GROUP BY C6_CLI,C6_LOJA "
TCQUERY cQuery NEW ALIAS "TC6"
TCSETFIELD("TC6","TOT","N",12,2)
While !Eof()
dbSelectArea("SA1")
dbSetOrder(1)
If dbSeek(xFilial("SA1")+TC6->C6_CLI+TC6->C6_LOJA,.F.)
If RecLock("SA1",.F.)
SA1->A1_SALPEDL := TC6->TOT
MsUnLock("SA1")
Endif
EndIf
dbSelectArea("TC6")
dbSkip()
Loop
End
msgstop("Finalizado com Sucesso!!!")
Return
Ultima edição: 11 anos 3 meses atrás por kenazfs.
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 3 meses atrás #16312
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 Fonte FINC010
Kenaz bom dia, não é permitido o envio de fontes padrões aqui no site, por favor informe seu email que mandarei 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.
- kenazfs
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 43
- Obrigados Recebidos: 0
- kenazfs
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 43
- Obrigados Recebidos: 0
11 anos 3 meses atrás #16353
por kenazfs
Respondido por kenazfs no tópico Fonte FINC010
Precisava atualizar o campo A1_SALPEL com valores de acordo com os pedidos liberados.
Resolvi meu problema da seguinte forma:
Fica a dica ai para quem quiser.
1 - Rotina para refazer o campo de saldo de pedidos liberados !
!+
+
!
!AUTOR ! KENAZ !
+
+
+
!DATA DE CRIAÇÃO ! 06/08/2013 !
+
+
*/
#include "rwmake.ch"
#include "topconn.ch"
#include "tbiconn.ch"
User Function REFAZ()
cQuery := " C6_CLI,C6_LOJA,SUM(C6_PRCVEN*(C6_QTDVEN-C6_QTDENT)) AS TOT "
cQuery += " FROM SC6020, SC5020, SF4020 "
cQuery += " WHERE C6_NFORI = ' ' AND C6_BLQ = ' ' AND C6_QTDENT< C6_QTDVEN AND (C6_QTDEMP > 0) AND C6_NUM = C5_NUM AND C6_CLI = C5_CLIENTE AND C5_DTLIBCR <> ' ' AND C5_LIBEROK = 'S' AND F4_DUPLIC = 'S' AND F4_CODIGO = C6_TES AND F4_FILIAL = C6_FILIAL "
cQuery += " GROUP BY C6_CLI,C6_LOJA "
TCQUERY cQuery NEW ALIAS "TC6"
TCSETFIELD("TC6","TOT","N",12,2)
While !Eof()
dbSelectArea("SA1")
dbSetOrder(1)
If dbSeek(xFilial("SA1")+TC6->C6_CLI+TC6->C6_LOJA,.F.)
If RecLock("SA1",.F.)
SA1->A1_SALPEDL := TC6->TOT
MsUnLock("SA1")
Endif
EndIf
dbSelectArea("TC6")
dbSkip()
Loop
End
msgstop("Finalizado com Sucesso!!!")
Return
Resolvi meu problema da seguinte forma:
Fica a dica ai para quem quiser.
1 - Rotina para refazer o campo de saldo de pedidos liberados !
!+
+
!
!AUTOR ! KENAZ !
+
+
+
!DATA DE CRIAÇÃO ! 06/08/2013 !
+
+
*/
#include "rwmake.ch"
#include "topconn.ch"
#include "tbiconn.ch"
User Function REFAZ()
cQuery := " C6_CLI,C6_LOJA,SUM(C6_PRCVEN*(C6_QTDVEN-C6_QTDENT)) AS TOT "
cQuery += " FROM SC6020, SC5020, SF4020 "
cQuery += " WHERE C6_NFORI = ' ' AND C6_BLQ = ' ' AND C6_QTDENT< C6_QTDVEN AND (C6_QTDEMP > 0) AND C6_NUM = C5_NUM AND C6_CLI = C5_CLIENTE AND C5_DTLIBCR <> ' ' AND C5_LIBEROK = 'S' AND F4_DUPLIC = 'S' AND F4_CODIGO = C6_TES AND F4_FILIAL = C6_FILIAL "
cQuery += " GROUP BY C6_CLI,C6_LOJA "
TCQUERY cQuery NEW ALIAS "TC6"
TCSETFIELD("TC6","TOT","N",12,2)
While !Eof()
dbSelectArea("SA1")
dbSetOrder(1)
If dbSeek(xFilial("SA1")+TC6->C6_CLI+TC6->C6_LOJA,.F.)
If RecLock("SA1",.F.)
SA1->A1_SALPEDL := TC6->TOT
MsUnLock("SA1")
Endif
EndIf
dbSelectArea("TC6")
dbSkip()
Loop
End
msgstop("Finalizado com Sucesso!!!")
Return
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.135 segundos