*****************************************************************************
Static function Edita( oDlg1, lSalva, oQryPedido, oQryItensPedido )
// Edicao do cadastro de pedidos
*****************************************************************************
local oBmp, oIco, oBar, cTitle, oBrw1, aColor[ 2 ], lNoBlink := .F.
local oFontP
Static aBrush[ 7 ]
Private oDlg
cNomeFornecedor:=""
cNomeTransportadora:=""
DEFINE FONT oFontP NAME "MS Sans Serif" SIZE 0, -32
DEFINE DIALOG oDlg RESOURCE "CADPEDIDOS"
REDEFINE BITMAP RESOURCE "BARRA" ID 59 OF oDlg
if !lSalva
TRY
DEFINE QUERY oQryMPedido "SELECT * FROM tab_pedidos WHERE idtab_pedidos = "+Var2Str(oQryPedido:idtab_pedidos)
DEFINE QUERY oQryIPedido "SELECT a.id_pedidos, a.id_produto, b.nome, a.quantidade, a.precounitario, a.preco FROM tab_pedidos_itens a ";
+"INNER JOIN tab_produtos b on a.id_produto=b.idtab_produtos WHERE id_pedidos = "+Var2Str(oQryMPedido:idtab_pedidos)
DEFINE QUERY oQryForn "SELECT idtab_fornecedores,empresa FROM tab_fornecedores LIMIT 100"
DEFINE QUERY oQryTran "SELECT * FROM tab_transportadoras LIMIT 100"
DEFINE QUERY oQryIProd "SELECT idtab_produtos,nome,saldo,preco FROM tab_produtos LIMIT 100"
CATCH oError
ShowError( oError, { oQryMPedido, oQryIPedido, oQryForn, oQryTran } )
RETURN
END
else
TRY
DEFINE QUERY oQryMPedido "SELECT * FROM tab_pedidos WHERE idtab_pedidos = 0"
DEFINE QUERY oQryIPedido "SELECT a.id_pedidos, a.id_produto, b.nome, a.quantidade, a.precounitario, a.preco FROM tab_pedidos_itens a ";
+"INNER JOIN tab_produtos b on a.id_produto=b.idtab_produtos WHERE id_pedidos = 0"
DEFINE QUERY oQryForn "SELECT idtab_fornecedores,empresa FROM tab_fornecedores LIMIT 100"
DEFINE QUERY oQryTran "SELECT * FROM tab_transportadoras LIMIT 100"
DEFINE QUERY oQryIProd "SELECT idtab_produtos,nome,saldo,preco FROM tab_produtos LIMIT 100"
CATCH oError
ShowError( oError, { oQryMPedido, oQryIPedido, oQryForn, oQryTran } )
RETURN
END
endif
oDlg:Update()
oDlg:Refresh()
REDEFINE BUTTON oBmpS ID 66 OF oDlg PROMPT "&Salvar" //ACTION Grava( oDlg, oDlg1, @lGrava, oQryMPedido, oQryIPedido )
REDEFINE BUTTON oBmpF ID 67 OF oDlg PROMPT "&Fechar" ACTION ( oDlg:End(), oDlg1:SetFocus(), oDlg1:Refresh() )
//-- Mostrando o registro na tela
REDEFINE SAY oNupd VAR oQryMPedido:idtab_pedidos ID 101 OF oDlg UPDATE
REDEFINE DTPicker oData VAR oQryMPedido:data ID 102 OF oDlg UPDATE
REDEFINE GET oFornecedor VAR oQryMPedido:id_fornecedor ID 103 OF oDlg ;
ACTION ( oQryMPedido:id_fornecedor:=PesquisarFornecedor(),;
oFornecedor:Refresh(), oNomeFornecedor:Refresh(), xSetFocus(oTransportadora), oDlg:Refresh() ) ;
BITMAP "PESQ16" UPDATE
REDEFINE SAY oNomeFornecedor VAR cNomeFornecedor ID 4001 OF oDlg UPDATE
REDEFINE GET oTransportadora VAR oQryMPedido:id_transportadora ID 4002 OF oDlg ;
ACTION ( oQryMPedido:id_transportadora:=PesquisarTransportadora(),;
oTransportadora:Refresh(), oNomeTransportadora:Refresh(), oDlg:Refresh() ) ;
BITMAP "PESQ16" UPDATE
REDEFINE SAY oNomeTransportadora VAR cNomeTransportadora ID 4004 OF oDlg UPDATE
REDEFINE GET oObservacao VAR oQryMPedido:observacao ID 4003 OF oDlg
REDEFINE SAY oValor VAR oQryMPedido:valor ID 64 PICTURE "@E 999,999.99" FONT oFontP OF oDlg //--> Total Pedido
REDEFINE XBROWSE oBrwPedidoItens DATASOURCE oQryIPedido ID 61 OF oDlg
ADD TO oBrwPedidoItens DATA oQryIPedido:id_produto TITLE "Código" SIZE 050 LEFT
ADD TO oBrwPedidoItens DATA oQryIPedido:nome TITLE "Nome" SIZE 280 LEFT
ADD TO oBrwPedidoItens DATA oQryIPedido:quantidade TITLE "Quant." SIZE 070 RIGHT
ADD TO oBrwPedidoItens DATA oQryIPedido:precounitario TITLE "Pr. Unitário" SIZE 069 RIGHT
ADD TO oBrwPedidoItens DATA oQryIPedido:preco TITLE "Preço Total" SIZE 084 RIGHT
WITH OBJECT oBrwPedidoItens
:SetDolphin(oQryIPedido, .F.)
:nMarqueeStyle := MARQSTYLE_HIGHLROW
:nColDividerStyle := LINESTYLE_BLACK
:nRowDividerStyle := LINESTYLE_BLACK
:lColDividerComplete := .T.
:lFastEdit := .T.
:lRecordSelector := .F.
:lHScroll := .F.
:bClrStd := { || If( ( oBrwPedidoItens:KeyNo() % 2 ) == 0, { CLR_BLACK, RGB( 224, 236, 255 ) }, { CLR_BLACK, RGB( 189, 211, 253 ) } ) }
:nStretchCol := STRETCHCOL_LAST
:aCols[1]:nEditType := EDIT_BUTTON
:aCols[1]:bEditBlock := { | r, c, o | PesquisaProduto( r, c, o ) }
:aCols[3]:nEditType := EDIT_GET
:aCols[4]:nEditType := EDIT_GET
END
ACTIVATE DIALOG oDlg CENTERED ON INIT oDlg:lHelpIcon:=.F.
oQryMPedido:End()
oQryIPedido:End()
oQryForn:End()
oQryTran:End()
oQryIProd:End()
oQryItensPedido:LoadQuery()
return Nil