Perguntas Exibição campos tabela SB8

Mais
11 anos 10 meses atrás #9465 por pinheiro
Tive a necessidade de criar alguns campos customizados na tabela SB8 ( saldos por lote) para utilização especifica da empresa. Apesar te ter marcado a apresentação no Browse, quando consultamos o SALDO POR LOTE atravês da tecla F4 na digitação do Pedido de VENDAS (MATA410) estes campos não são apresentados.
Procurei algum ponto de entrada que permitisse inserir campos, mas não encontrei.
Alguem ja teve esta necessidade e sabe como resolver?

Agradeço,

Alexandre

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 10 meses atrás #9468 por kanaamlrr
Respondido por kanaamlrr no tópico Re: Exibição campos tabela SB8
Cara, pelo que eu vi aqui, o F4 chama a função A440Saldo

Segue ela, está desatualizada, mas não encontrei nenhum PE
/*/
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Funcao    ³A440Saldo ³ Autor ³Eduardo Riera          ³ Data ³22.06.1999³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³Demonstrativo do Saldo em Estoque para o modulo de Fatur.   ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Retorno   ³Nenhum                                                      ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Parametros³ExpL1: Indica se o produto eh uma referencia                ³±±
±±³          ³ExpC2: Almoxarifado a ser consultado quando for grade.      ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³   DATA   ³ Programador   ³Manutencao Efetuada                         ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³          ³               ³                                            ³±±
±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
/*/

Function a440Saldo(lRefer,cLocal)

Local nPProduto:= 0
Local nPLocal   := 0
Local cProduto := CriaVar("B1_COD")
Local nColuna  := aScan(aHeader,{|x| AllTrim(x[2]) == AllTrim(Substr(Readvar(),4))})
Local cMascara := GetMv("MV_MASCGRD")
Local nTamRef  := Val(Substr(cMascara,1,2))
Local nStok    := 0
Local oDlg  
Local nX       := 0 
Local lBuscaProd:= .T.
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Se foi ativado atraves da Getdados normal            ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If ( !lRefer )
	If cPaisLoc == "BRA"
		nPProduto:= aScan(aHeader,{|x| Alltrim(x[2])=="C6_PRODUTO"})
		cProduto := aCols[n][nPProduto]
		nPLocal := aScan(aHeader,{|x| Alltrim(x[2])=="C6_LOCAL"})
		cLocal := aCols[n][nPLocal]
	Else
		For nX := 1 to Len(aHeader)
			nPProduto:=	Ascan(aHeader,{|x|	Trim(X[2]) == "C6_PRODUTO" .or.;
				Trim(X[2]) == "D2_COD" .or.;
				Trim(X[2]) == "CN_PRODUTO" })
			nPLocal	:=	Ascan(aHeader,{|x|	Trim(X[2]) == "C6_LOCAL" .or.;
				Trim(X[2]) == "D2_LOCAL" .or.;
				Trim(X[2]) == "CN_LOCAL"  }) 
			If nPProduto > 0 .And. nPLocal >0
				cProduto := aCols[n][nPProduto]
				cLocal := aCols[n][nPLocal]
			Else
				lBuscaProd := .F.
			Endif
		Next
	EndIf
Else
	If nColuna > 0
		If FindFunction("MsMatGrade") .And. IsAtNewGrd()
			cProduto:= &(MaReadGrd()):GetNameProd(,n,nColuna)
		Else
			cProduto := Substr(SB4->B4_COD,1,nTamRef)+aCols[n][1]+aHeader[nColuna][1]	
		EndIf
	Else
		lBuscaProd := .F.
	Endif
EndIf
If lBuscaProd
	dbSelectArea("SB1")
	dbSetOrder(1)
	If ( MsSeek(xFilial()+cProduto,.F.) )
		dbSelectArea("SB2")
		dbSetOrder(1)
		If MsSeek(xFilial()+PADR(cProduto,LEN(SB2->B2_COD))+cLocal,.F.)
			nStok:= SaldoSb2(,GetNewPar("MV_QEMPV",.T.)) //(SB2->B2_QATU - SB2->B2_RESERVA - SB2->B2_QACLASS - SB2->B2_QEMP)
		EndIf
		DEFINE MSDIALOG oDlg FROM  62,1 TO 293,365 TITLE OemToAnsi(STR0009) PIXEL                               //"POSI€AO DO ESTOQUE"
		@ 0, 2 TO 28, 181 LABEL "" OF oDlg  PIXEL
		@ 31, 2 TO 91, 181 LABEL "" OF oDlg  PIXEL
		@ 8, 4 SAY OemToAnsi(STR0010) SIZE 31, 7 OF oDlg PIXEL                  //"Produto :"
		@ 7, 39 SAY cProduto + " /" + Subs(SB1->B1_DESC,1,20) SIZE 140, 7 OF oDlg PIXEL
		@ 16, 5 SAY OemToAnsi(STR0011) SIZE 31, 7 OF oDlg PIXEL                 //"Local    :"
		@ 16, 39 SAY cLocal SIZE 13, 7 OF oDlg PIXEL
		@ 37, 9 SAY OemToAnsi(STR0012) SIZE 92, 7 OF oDlg PIXEL                 //"Pedido de Vendas em Aberto"
		@ 37, 118 SAY B2_QPEDVEN PICTURE PesqPict("SB2","B2_QPEDVEN",14,2) SIZE 53, 7 OF oDlg PIXEL
		@ 45, 9 SAY OemToAnsi(STR0013) SIZE 88, 7 OF oDlg PIXEL                 //"Quantidade Empenhada"
		@ 45, 118 SAY B2_QEMP PICTURE PesqPict("SB2","B2_QEMP",14,2) SIZE 53, 7 OF oDlg PIXEL
		@ 53, 9 SAY OemToAnsi(STR0014) SIZE 88, 7 OF oDlg PIXEL                 //"Qtd.Prevista p/Entrar"
		@ 53, 118 SAY B2_SALPEDI PICTURE PesqPict("SB2","B2_SALPEDI",14,2) SIZE 53, 7 OF oDlg PIXEL
		@ 61, 9 SAY OemToAnsi(STR0015) SIZE 88, 7 OF oDlg PIXEL                 //"Quantidade Reservada (A)"
		@ 61, 118 SAY B2_RESERVA PICTURE PesqPict("SB2","B2_RESERVA",14,2) SIZE 53, 7 OF oDlg PIXEL
		@ 69, 9 SAY OemToAnsi(STR0016) SIZE 53, 7 OF oDlg PIXEL                 //"Saldo Atual (B)"
		@ 69, 118 SAY B2_QATU PICTURE PesqPict("SB2","B2_QATU",14,2) SIZE 53, 7 OF oDlg PIXEL
		@ 78, 9 SAY OemToAnsi(STR0017) SIZE 53, 7 OF oDlg PIXEL                 //"Dispon¡vel (B - A)"
		@ 78, 118 SAY nStoK PICTURE PesqPict("SB2","B2_QATU",14,2) SIZE 53, 7 OF oDlg PIXEL
		DEFINE SBUTTON FROM 98, 149 TYPE 1 ACTION (oDlg:End()) ENABLE OF oDlg
		ACTIVATE MSDIALOG oDlg
	Else
		HELP(" ",1,"C6_PRODUTO")
	EndIf
EndIf

Return

Por favor Acessar ou Registrar para participar da conversa.

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