|
Bem Vindo, Visitante
|
Todos os Fórums
Compras
|
Imprimir
Enviar Para um Amigo Precisa estar Logado
|
|
|
Assunto: |
DOCUMETNO DE ENTRADA |
|
Versão: |
12.1.2210 |
|
Plataforma: |
Microsoft |
Complemento: |
|
|
DB: |
Mysql |
Complemento: |
|
|
|
|
|
Mensagem do
CARDOSON
em 05/03/2024, 12:08 h
Local: SP Registro: 24/01/2022 Postagens: 15 |
Prezado Bom Dia,
Aqui na Empresa Trabalhamos com Controle de Rastro (LOTE), e estou tendo vários problemas com digitação de Documento de entrada de Lote vencido, Teria algum Parâmetro para evitar a digitação de um lote Vencido no Documento de Entrada!!
Ou mesmo algo para evitar que seja feita esta entrada de lote no Protheus!
Desde ja Agradeço. |
|
|
Mensagem do
ROBERTOMEN
em 05/03/2024, 14:41 h
Local: PR Registro: 04/07/2017 Postagens: 546 |
Boa tarde.
Verifique se o parâmetro MV_LOTVENC está igual S
Se não estiver, altere para S, reabra a rotina para atualizar a alteração e veja se haverá o bloqueio para lançamento de Documento de Entrada com Data de Validade do Lote vencido.
|
|
|
Mensagem do
CARDOSON
em 05/03/2024, 16:10 h
Local: SP Registro: 24/01/2022 Postagens: 15 |
Boa Tarde ROBERTOMEN,
Efetuei alguns testes e com o Parâmetro MV_LOTEVENC como S - o sistema aceita a entrada e a liberação no ARMAZ da qualidade.
Com o Parâmetro MV_LOTVENC com N - o sistema não aceita a entrada desde que seja digitado o Lote, porem o que aconteceu aqui é que o Lote ja existia e estava vencido neste caso o sistema avisa que a validade sera a mesma de origem porem não barra a inclusão, e não deixa efetuar a liberação no ARMZ da qualidade.
muito obrigado pelo apoio ROBERTOMEN. |
|
|
Mensagem do
ROBERTOMEN
em 05/03/2024, 19:17 h
Local: PR Registro: 04/07/2017 Postagens: 546 |
boa noite
neste caso eu criaria o bloqueio por ponto de entrada .
assim:
#Include "Protheus.ch"
#INCLUDE "topconn.ch"
*************************
User Function MT100TOK()
*************************
Local cQuery := ""
Local lRet := .t.
Local nX := 0
Local cD1_COD := aScan(aHeader, {|x| UPPER(Alltrim(x[2]))=="D1_COD" })
Local cD1_LOTECTL := aScan(aHeader, {|x| UPPER(Alltrim(x[2]))=="D1_LOTECTL" })
Local cD1_LOCAL := aScan(aHeader, {|x| UPPER(Alltrim(x[2]))=="D1_LOCAL" })
for nX := 1 to len(aCols)
if aCols[nX][Len(aHeader) + 1] ; loop ; endif // Se a linha estiver deletada
cQuery := "SELECT B8_DTVALID FROM "+ RetSqlName("SB8") + " WHERE D_E_L_E_T_ = ‘ ‘ AND B8_FILIAL = ‘"+xfilial(‘SB8‘)+"‘ AND "
cQuery += " B8_PRODUTO = ‘"+aCols[nX][cD1_COD]+"‘ AND B8_LOCAL = ‘"+aCols[nX][cD1_LOCAL]+"‘ AND B8_LOTECTL = ‘"+aCols[nX][cD1_LOTECTL]+"‘ "
cQuery := ChangeQuery(cQuery)
If Select("QRY") <> 0 ; QRY->(dbCloseArea()) ; Endif
TcQuery cQuery New Alias "QRY"
TcSetField("QRY","B8_DTVALID" ,"D")
QRY->(dbgotop())
// Se Achou o lote na SB8 e o Vencto é Menor que a data da Emissão da NF
if !QRY->(eof()) .and. QRY->B8_DTVALID < dDemissao
msgstop(dtoc(QRY->B8_DTVALID),"O lote "+aCols[nX][cD1_LOTECTL]+" venceu em "
lRet := .f.
endif
next
return lRet |
|
|
Mensagem do
CARDOSON
em 06/03/2024, 07:47 h
Local: SP Registro: 24/01/2022 Postagens: 15 |
Bom Dia ROBERTOMEN.
Vou verificar este ponto de entrada, muito obrigado! |
|
|
Mensagem do
ROBERTOMEN
em 23/08/2024, 14:21 h
Local: PR Registro: 04/07/2017 Postagens: 546 |
Teste de acesso |
|
Para postar no Fórum você precisa efetuar o seu login ou se registrar
|
|