Perguntas Posicione tabela DA1

Mais
8 anos 9 meses atrás - 8 anos 9 meses atrás #30242 por flavianoan
Boa tarde a todos, estou precisando pegar o preço do produto na tabela DA1 de acordo com a faixa para isso fiz o seguinte:
Tabela DA1
produto xpto 10,00 faixa 5
produto xpto 5,00 faixa 10

DbSelectArea("DA1")
DbSetOrder(1)

nFaixaAux := DA1_QTDLOT
cFaixa := cValTochar(nFaixaAux)

nPrcTab := Posicione("DA1",1,xFilial("DA1")+cTabela+cProd+cFaixa,"DA1_PRCVEN")

porem o preço esta vindo zerado zerado, algum sabe o que esta de errado no posicione, pois preciso que ele peque o preço de venda na faixa que foi defino da tabela.


obrigado.
Ultima edição: 8 anos 9 meses atrás por flavianoan.

Por favor Acessar ou Registrar para participar da conversa.

Mais
8 anos 9 meses atrás #30245 por lalberto
Respondido por lalberto no tópico Posicione tabela DA1
Esta vindo zero provavelmente porque não está achando o registro.

Não entendi esta variavel cFaixa no indice ?

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
8 anos 9 meses atrás #30247 por flavianoan
Respondido por flavianoan no tópico Posicione tabela DA1
Luiz, este indice 1 que esta na tabela

DA1_FILIAL+DA1_CODTAB+DA1_CODPRO+DA1_INDLOT+DA1_ITEM
Cod. Tabela + Cod.Produto + Faixa + Item

eu vou postar o código que estou usando.
este código foi é uma adaptação do código que o colega, delweis de Assis Felipe, postou no fórum.

User function F0001()
Local nPrcTab,nPrMax,nPrVen,nPrDig,cProdu,cTabela,cYtabela,cC5_VEND1
Local nFaixaAux,cFaixa
LOCAL nArea := SELECT("SA3")
cProdu := aCols[n,GdFieldPos("C6_PRODUTO")]
nPrDig := M->C6_PRCVEN

cC5_VEND1 := M->C5_VEND1

dbSelectArea(nArea)
Posicione("SA3",1,xFilial("SA3")+cC5_VEND1,"A3_YTABELA")
cYtabela := A3_YTABELA
If cYtabela = "S"

Return (.t.)
Endif
dbCloseArea()

cTabela := M->C5_TABELA
DbSelectArea("DA1")
DbSetOrder(1)

nFaixaAux := DA1_QTDLOT
cFaixa := cValTochar(nFaixaAux)

nPrcTab := Posicione("DA1",1,xFilial("DA1")+cTabela+cProdu+cFaixa,"DA1_PRCVEN") // Busca Preço Minimo do Produto

If nPrDig < nPrcTab
M->C6_PRCVEN := nPrcTab
alert("Preço inválido. Preço Mínimo= "+Transform(nPrcTab,"@E 999,999.99"),"Preço inválido","stop")

Return (.t.)
Endif

If nPrDig = nPrcTab
M->C6_PRCVEN := nPrDig

Return (.t.)
Endif

return()

Por favor Acessar ou Registrar para participar da conversa.

Mais
8 anos 9 meses atrás #30276 por flavianoan
Respondido por flavianoan no tópico Posicione tabela DA1
Resolvido, peguei o Preço de Lista na ao invés de pegar o preço direto na tabela.

If nPrDig < nPrelista

M->C6_PRCVEN := nPrelista
alert("Preço inválido. Preço Mínimo= "+Transform(nPrelista,"@E 999,999.99"),"Preço inválido","stop")

Return (.t.)
Endif

Por favor Acessar ou Registrar para participar da conversa.

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