Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Disponibilizar um serviço de WebService que seja possível consultar o estoque de um determinado produto em uma determinada filial.

03. SOLUÇÃO

Foi desenvolvida uma rotina dentro da Venda Assistida para consulta de estoque em outra filial (Via WebService SOAP), essa rotina será habilitada somente quando se utiliza da configuração de o ambiente for uma Central de PDV.

Para acessar essa rotina abra 1 - Acesse a Venda Assistida e clique em: Atendimento > Estoque > Cons. Estoque na Retaguarda;

2 - Informe os campos de Filial (onde será feita a consulta), produto, armazém e clique em OK;

3 - Será apresentada uma próxima tela onde mostrara o resultado da consulta.

Image Added

4 - Clique em OK e para fechar a tela.


Disponibilizamos também um exemplo de como pode ser feito a chamada do WebService caso o cliente deseja customizar uma tela nova para consulta de estoque em outra filial.

Na chamada do serviço devera ser enviado o parâmetros Desenvolvemos um serviço que passando a filial, produto e o local de estoque , a rotina devolvera a quantidade em estoque daquele determinado produtoconforme o exemplo abaixo da chamada do serviço.

Bloco de código
languagedelphi
titleExemplo da rotina para Consulta de Estoque
linenumberstrue
#INCLUDE "PROTHEUS.CH" 

User Function ConsEst()

Local oSvc := Nil //Objeto para WebService
Local lRet := .F. //Retorno do WS
Local cFilCons := "D SP 01" //Filial que sera efetuada a consulta
Local cPrdCons := "1"       //Produto que sera consultado
Local cLocCons := "01"      //Local de estoque que sera consultado
Local aProdEst := {}        //Retorno do WS após a consulta

cPrdCons := PadR(cPrdCons,TamSx3("B1_COD")[1])
cFilCons := PadR(cFilCons,TamSx3("B1_FILIAL")[1])
cLocCons := PadR(cLocCons,TamSx3("B1_LOCPAD")[1])

//Inicia conexao com o WebService para consulta de estoque
oSvc        := WSLOJESTOQUE():New()                 
oSvc:_URL   := "http://127.0.0.1:81/LOJESTOQUE.apw"
lRet        := oSvc:ConEstoque(cEmpAnt,cFilAnt , cFilCons, cPrdCons, cLocCons)

If lRet 
	//Retorna array com o estoque do produto	
	If Len(oSvc:oWSCONESTOQUERESULT:oWSWSRETETQ) > 0  
		aAdd( aProdEst, {	oSvc:oWSCONESTOQUERESULT:oWSWSRETETQ[1]:cCFIL  	,;		//01 - Filial	
						oSvc:oWSCONESTOQUERESULT:oWSWSRETETQ[1]:cCPRODUTO	,;      //02 - Codigo do produto
						oSvc:oWSCONESTOQUERESULT:oWSWSRETETQ[1]:cCLOCALPROD	,;      //03 - Local do produto				 
						oSvc:oWSCONESTOQUERESULT:oWSWSRETETQ[1]:cCUNIDADE	,;      //04 - Unidade de medida do Produto	
						oSvc:oWSCONESTOQUERESULT:oWSWSRETETQ[1]:cCGRUPO		,;      //05 - Grupo do produto
						oSvc:oWSCONESTOQUERESULT:oWSWSRETETQ[1]:cCDESCRI	,;      //06 - Descricao do produto 
						oSvc:oWSCONESTOQUERESULT:oWSWSRETETQ[1]:nNINICIAL	,;      //07 - Quantidade inicial do produto	
						oSvc:oWSCONESTOQUERESULT:oWSWSRETETQ[1]:nNATUAL		,;      //08 - Saldo atual do produto 
						oSvc:oWSCONESTOQUERESULT:oWSWSRETETQ[1]:nNPRECO1	,;      //09 - Preco 1 
						oSvc:oWSCONESTOQUERESULT:oWSWSRETETQ[1]:nNPRECO2	,;      //10 - Preco 2 
						oSvc:oWSCONESTOQUERESULT:oWSWSRETETQ[1]:nNPRECO3	,;      //11 - Preco 3 
						oSvc:oWSCONESTOQUERESULT:oWSWSRETETQ[1]:nNPRECO4	,;      //12 - Preco 4 
						oSvc:oWSCONESTOQUERESULT:oWSWSRETETQ[1]:nNPRECO5	,;      //13 - Preco 5 
						oSvc:oWSCONESTOQUERESULT:oWSWSRETETQ[1]:nNPRECO6	,;      //14 - Preco 6 
						oSvc:oWSCONESTOQUERESULT:oWSWSRETETQ[1]:nNPRECO7	,;      //15 - Preco 7 
						oSvc:oWSCONESTOQUERESULT:oWSWSRETETQ[1]:nNPRECO8	,;      //16 - Preco 8 
						oSvc:oWSCONESTOQUERESULT:oWSWSRETETQ[1]:nNPRECO9	})      //17 - Preco 9 
	EndIf
EndIf

Return aProdEst

...