Perguntas Filtro para preparação documento de saida

Mais
5 anos 7 meses atrás #32687 por vcosta
Bom dia!
Poderia informar qual ponto de entrada eu poderia utilizar para filtrar os pedidos de venda na preparação do documento de saida (mata460A)

Gostaria de adicionar um novo filtro da tabela C5, seria do vendedor DE ATE

Grato a quer puder ajudar

Por favor Acessar ou Registrar para participar da conversa.

Mais
5 anos 7 meses atrás - 5 anos 7 meses atrás #32688 por lalberto
bom dia segue exemplo:
User Function M460QRY()
Local aArea := GetArea()
Local cFiltro := ParamIxb[1]
Local xFiltro := ParamIxb[1] // Guarda o Filtro Original

Pergunte(Padr("MT461A",Len(SX1->X1_GRUPO)),.F.)

cFiltro += " AND C9_BLCONF = 'OK' AND C9_BLPRE <> '' " 
//If !Empty(MV_PAR13)
//	cFiltro += " AND C9_REGIAO = '"+MV_PAR13+"' "
//Endif
If MV_PAR14 <> 4
	cFiltro += " AND C9_TIPENT = '"+IIf(MV_PAR14=1,"R",IIf(MV_PAR14=2,"C","E"))+"'"  
Endif
If !Empty(MV_PAR15) 
	cFiltro += " AND C9_ROMANEI = '"+MV_PAR15+"'"        
Else                                                         
	cFiltro += " AND C9_ROMANEI = '"+Space(Len(MV_PAR15))+"'"        
Endif

SetKey(115, { || U_TotPedF() }) // F4

// Luiz Alberto V Alves - 03-05-12
// Checagem se a Query de Frete irá retornar valores Nullos
// se retornar então o filtro será eliminado, pois
// nestes casos o frete é duplicado.
If 'FRETAUT'$cFiltro
	//Processa a Query principal (do processamento)
	TCQUERY cFiltro NEW ALIAS QUERY
	
	DbSelectArea("Query")
	COUNT TO _nCount
	
	// Se a Query Não Retornar Nenhuma Linha
	// e Se o Campo C5_FRETE no Pedido de Vendas
	// For Maior que 0, então desconsidera os Filtros

	If !Empty(SC5->C5_FRETE) .And. Empty(QUERY->FRETE)
		cFiltro := xFiltro
	Endif

	// Fecha Arquivo Temporário
	Query->(dbCloseArea())
	
Endif
RestArea(aArea)
Return(cFiltro)

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Ultima edição: 5 anos 7 meses atrás por lalberto.

Por favor Acessar ou Registrar para participar da conversa.

Mais
5 anos 7 meses atrás #32689 por lalberto
Outro Exemplo, mais simples.
#include "rwmake.ch"
#include "topconn.ch"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma  * M460QRY  ºAutor  ³Luiz Alberto V Alves º Data ³  22/01/14   º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc.     ³Ponto de entrada para nao trazer pedidos maes na prep. docs  º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso       ³ Genesys                                                 º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/

User Function M460QRY()

Local cQuery := ParamIXB[1]

cQuery += " AND NOT EXISTS (SELECT C5_NUM FROM " + RetSqlName("SC5") + " SC5 WHERE SC5.C5_FILIAL = '" + xFilial("SC5") + "' AND SC5.D_E_L_E_T_ = '' AND SC5.C5_GNPDMAE = '1' AND SC5.C5_NUM = SC9.C9_PEDIDO )"

Return cQuery

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.

Mais
5 anos 7 meses atrás #32690 por vcosta
obrigado Luiz alberto,

adicionei um novo filtro nos parâmetros existentes (MT461A)
Vend DE
Vend ATÉ

qual exemplo eu posso utilizar?

Por favor Acessar ou Registrar para participar da conversa.

Mais
5 anos 7 meses atrás - 5 anos 7 meses atrás #32691 por lalberto
User Function M460QRY()

Local cQuery := ParamIXB[1]

cQuery += " AND EXISTS (SELECT C5_NUM FROM " + RetSqlName("SC5") + " SC5 WHERE SC5.C5_FILIAL = '" + xFilial("SC5") + "' AND SC5.D_E_L_E_T_ = '' AND SC5.C5_VEND1 BETWEEN '" + MV_PARXX + "' AND '" + MV_PARYY + "' AND SC5.C5_NUM = SC9.C9_PEDIDO )"

Return cQuery

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Ultima edição: 5 anos 7 meses atrás por lalberto.
Os seguintes usuário(s) disseram Obrigado: vcosta

Por favor Acessar ou Registrar para participar da conversa.

Mais
5 anos 7 meses atrás #32692 por vcosta
muito obrigado.
ajudou bastante.
abs.

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.127 segundos
Joomla templates by a4joomla