Home

Linha Microsiga Protheus

Páginas filhas
  • MATA390 - Pesquisa Lotes

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin
Composition Setup
import.css=/download/attachments/327912/newLayout.css
Portuguese

Pagetitle
MATA390 - Pesquisa Lotes
MATA390 - Pesquisa Lotes

Função: MATA390 - Pesquisa Lotes
Versões: Microsiga Protheus 8.11 , Protheus 10
Compatível Países: Todos
Sistemas Operacionais: Todos
Compatível às Bases de Dados: Todos
Nível de Acesso: Nível 1 (Acesso Clientes)
Idiomas: Espanhol , Inglês
Descrição:

OBJETIVO:
Esta rotina tem como objetivo pesquisar e visualizar lotes já existentes e incluir/excluir lotes novos (somente lotes incluídos manualmente poderão ser excluídos). A inclusão de lotes deve ser utilizada quando um produto com saldo em estoque e sem controle de rastreabilidade passa a utilizar este controle.

Neste caso, deve-se um lote com a quantidade em estoque para o produto, através do cadastro de produtos, com conteúdo “S” (Sublote). Caso deseje utilizar controle tipo “L” = Lote, deve-se alterar o campo manualmente.

Outra função desta rotina é a alteração da data de validade do Lote/Sublote.

IMPORTANTE:
Esta rotina permite a inclusão de saldos para rastreabilidade em produtos que já possuam saldo em estoque.

Programa Fonte:
MATA390.PRW
Sintaxe:

MATA390 - Pesquisa Lotes ( ) --> Nil

Retorno:
    Nil(nulo)
  • Nil
Observações

Esta rotina pode ser utilizada via Rotina Automática.

Exemplos
User Function MyMata390()Local aCabec    := {}Local cLoteFor	:= ""Local cProduto	:= ""Local cArmazem 	:= ""Local cDoc	:= ""Local cSerie	:= ""Local dDatMov	:= ""Local nQuant	:= 0Local nLote	:= ""Local dDatVal	:= ""  Local lOk	:= .T.Private lMsHelpAuto := .T.PRIVATE lMsErroAuto := .F.//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿//| Abertura do ambiente                                         |//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙPREPARE ENVIRONMENT EMPRESA "YY" FILIAL "01" MODULO "EST" TABLES "SD5"   DbSelectArea("SB1")DbSetOrder(1)If !SB1->(MsSeek(xFilial("SB1")+"PA001"))	lOk := .F.	ConOut(OemToAnsi("Cadastrar produto: PA001"))EndIfDbSelectArea("SF1")DbSetOrder(1)If !SF1->(MsSeek(xFilial("SF1")+"000000001"+"UNI"))	lOk := .F.	ConOut(OemToAnsi("Cadastrar NF: PA001"))EndIfIf lOk	cDoc		:= SF1->F1_DOC	cSerie		:= SF1->F1_SERIE 		DbSelectArea("SD1")	DbSetOrder(1)	dbSeek(xFilial("SD1")+cDoc+cSerie)		cProduto	:= SD1->D1_COD	nQuant		:= D1_QUANT	cArmazem 	:= Posicione("SB1",1,xFilial("SB1")+cProduto,"B1_LOCPAD")  	dDatMov		:= dDataBase	cLoteFor	:= "00001"	dDatVal		:= CtoD("31/12/2008")	nLote		:= SD5->D5_LOTECTL                                                  	If Empty(nLote)		nLote := StrZero(1,Len(SD1->D1_DOC))	Else		nLote := Soma1(nLote)	EndIf		ConOut(Repl("-",80))	ConOut(PadC("Teste de Manutencoes nas Movimentacoes de Lote",80))	ConOut("Inicio: "+Time())		//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿	//| Teste de Inclusao                                            |	//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ   		Begin Transaction   			aCabec := {}		aadd(aCabec,{"D5_LOTEFOR",cLoteFor,})		aadd(aCabec,{"D5_PRODUTO",cProduto,})		aadd(aCabec,{"D5_LOCAL",cArmazem,})		aadd(aCabec,{"D5_DOC",cDoc,})		aadd(aCabec,{"D5_SERIE",cSerie,})		aadd(aCabec,{"D5_DATA",dDatMov,})		aadd(aCabec,{"D5_QUANT",nQuant,})		aadd(aCabec,{"D5_LOTECTL",nLote,})		aadd(aCabec,{"D5_DTVALID",dDatVal,})				                MSExecAuto({|x,y| mata390(x,y)},aCabec,3)				If !lMsErroAuto			ConOut("Incluido com sucesso! "+nLote)			Else			ConOut("Erro na inclusao!")		EndIf		ConOut("Fim  : "+Time())	End TransactionEndIfRESET ENVIRONMENTReturn Nil