Jump to content
Fivewin Brasil

SAIR DE UMA DIALOG


pedro_66

Recommended Posts

Amigos,

Será que alguem poderia me ajudar no sentido de dizer-me como fazer para abandonar uma DIALOG apos Clikar num Button, conforme código abaixo.

Seguinte: Quando cliko em "Cancelar", o foco do programa retornar para o ultimo Get e não sai da rotina de jeito nehum.

Desde já Agradeço a atenção de quem puder me ajudar.

#include "FiveWin.ch"

#include "INKEY.CH"

STATIC oCod , mVazio, mDini, mDfim, aTrans,;

aUnd , codpro_, despro_, quanti_,;

codpac_, despac_, mostra := .t., ret := .t., oLb1,;

_nordem[99], _codpro[99], _despro[99], _codpac[99],;

_despac[99], _quanti[99]

//-------------------//

Function MOVSAI()

//-------------------//

local oLbx, oCadDl

local it, oGt01, oGt02, oGt03, oGt04, oGt05, oGt06, oGt07, oGt08

local oGt09, oGt10, oGt11, oGt12, Old48, prod01, prod02

local MyDb, oBtn1, oBtn2, oBtn3, oBtn4, oBtn5, oBtnZ, oBtnY, oBtnH, mRad, lAppend

local lSave := .t. , nOldRec := 0 , qtd01, ob146

PUBLIC Omosa

PUBLIC limpa_ := .f., i := 0

PUBLIC nOldCd := SPACE(13)

IF ! UsrFree(EstIncl)

RETURN NIL

ENDIF

IF ! ret

RETURN NIL

ENDIF

mDini := CTOD(" ")

mDfim := CTOD(" ")

CursorWait()

USE MOVSAI_T SHARED NEW

IF ! file("MOVSAI_T.CDX")

MsgMeter( { | oMeter, oText, oCadDl, lEnd | ;

BuildIndex( oMeter, oText, oCadDl, @lEnd, "MOVSAI_T->NORDEM", "SAIORD" ) },;

"Indexando movimento por código...", "Espere un momento!" )

MsgMeter( { | oMeter, oText, oCadDl, lEnd | ;

BuildIndex( oMeter, oText, oCadDl, @lEnd, "MOVSAI_T->DATSAI", "DATSAI" ) },;

"Indexando movimento por data...", "Espere un momento!" )

MsgMeter( { | oMeter, oText, oCadDl, lEnd | ;

BuildIndex( oMeter, oText, oCadDl, @lEnd, "MOVSAI_T->CODPRO", "CODPRO" ) },;

"Indexando movimento por fornecedor...", "Espere un momento!" )

ENDI

ordListClear()

OrdListAdd("MOVSAI_T","SAIORD","DATSAI", "CODPRO")

MOVSAI_T->(DBSETORDER(1))

MOVSAI_T->( DBGOTOP() )

DEFAULT lAppend := .t.

IF lAppend

USE MOVSAI

MOVSAI->(DBGOBOTTOM())

ordem_ := VAL( MOVSAI->NORDEM) + 1

ELSE

ENDIF

IF mostra

codpro_ := 0

despro_ := SPAC(15)

codpac_ := 0

despac_ := SPAC(15)

quanti_ := 0

ENDI

DEFINE FONT oFntLis NAME "Courier New" SIZE 0, -10

DEFINE DIALOG Omosa RESOURCE "TEL_SAI"

DEFINE FONT oSayFnt NAME "Arial" SIZE 0, -12 BOLD ITALIC

REDEFINE SAY oSay PROMPT STRZERO( ordem_,5 ) ID -15 OF Omosa COLORS CLR_HBLUE

USE MOVSAI_T

MOVSAI_T->( DBGOTOP() )

REDEFINE LISTBOX oLb1 ;

FIELDS MOVSAI_T->CODPRO,;

MOVSAI_T->DESPRO,;

STRZERO( MOVSAI_T->QUANTI,05);

ID 101 OF Omosa ;

FIELDSIZES 85,170,55,65,65,65,65,50,65,65 ;

ALIAS "MOVSAI_T" ;

HEADERS "Cod. Prod.",;

"Descricao",;

"Quantidade"

oFntLis:End()

Omosa:UpDate()

oLb1:UpStable()

oLb1:Refresh()

// Procurar paciente direto pelo codigo

//-------------------------------------

REDEFINE GET oGt03 VAR codpac_ PICTURE "99999" ID 102 OF Omosa ;

VALID ExistPac( @codpac_, @despac_, Omosa, .F. ) UPDATE WHEN mostra = .t.

// Procurar paciente direto pelo Button

//-------------------------------------

REDEFINE BTNBMP obtn1 ID 103 FILE ".\BITMAPS\ProcBtn.BMP" OF Omosa ;

UPDATE ACTION ExistPac( @codpac_, @despac_, Omosa, .T. );

WHEN ( mostra = .t. .and. EMPTY( codpac_ ) )

// Inclusao de novo Paciente

//--------------------------

REDEFINE BTNBMP ob146 ID 104 FILE ".\BITMAPS\NOVO.BMP" OF Omosa ;

UPDATE ACTION CadNewPac(@codpac_ , Omosa) WHEN ( mostra = .t. .and. EMPTY(codpac_) )

// Mostrar o nome do paciente

//--------------------------

REDEFINE GET oGt04 VAR despac_ ID 105 OF Omosa UPDATE WHEN mostra = .t.

codpro_ := quanti_ := 0

despro_ := SPAC(15)

// Procurar produto direto pelo codigo

//-------------------------------------

REDEFINE GET prod01 VAR codpro_ PICTURE "99999" ID 106 OF Omosa ;

VALID ExistPro( @codpro_, @despro_, Omosa, .F. ) UPDATE /// WHEN mostra = .t.

// Procurar produto direto pelo Button

//------------------------------------

REDEFINE BTNBMP obtn2 ID 107 FILE ".\BITMAPS\ProcBtn.BMP" OF Omosa UPDATE ;

ACTION ExistPro( @codpro_, @despro_, Omosa, .T. ) WHEN EMPTY( codpro_ )

// Mostrar o nome do produto

//--------------------------

REDEFINE GET prod02 VAR despro_ ID 108 OF Omosa UPDATE WHEN mostra = .f.

// Recebe a quantidade dos produtos

//---------------------------------

REDEFINE GET qtd01 VAR quanti_ PICTURE "@E 99999" ID 109 OF Omosa

REDEFINE BUTTON oBtnZ ID 110 OF Omosa ACTION( GravaPro(.f.,codpro_,despro_,codpac_,despac_,quanti_, _nordem,;

_codpro,_despro,_codpac,_despac,_quanti ) ) when RET = .T.

// REDEFINE BUTTON oBtnY ID 111 OF Omosa ACTION // REDEFINE BUTTON oBtnY ID 111 OF Omosa // ACTION ( NFSExcl(Omosa, oLb1), NFSCalc(@nIt18,@nIt19,@nIt20,nIt42,@nIt55,Omosa,oLb1) )

REDEFINE BUTTON oBtnH ID 112 OF Omosa ACTION( ret := .F. , Encerra( Omosa) ) CANCEL

ACTIVATE DIALOG Omosa CENTERED (* Aqui. não consigo sair do sistema )

oFntLis:End()

RETUR nil

Uso; Five 2.7 - Clipper 5.3b - XHarbour 00.99.61 -

//-----------------------------//

STATIC FUNC Encerra( omosa )

//-----------------------------//

CLOS MOVSAI_T

USE MOVSAI_T EXCLUSIV NEW

IF NETERR()

MsgStop( "No momento há um usuário cadastrando uma nota fiscal na rede."+CRLF+;

"Não é recomendado que dois usuário cadastrem notas fiscais ao"+CRLF+;

"mesmo tempo, para evitar duplicação de códigos e inconsistência"+CRLF+;

"no estoque dos produtos. Tente novamente mais tarde.",;

"Informação:" )

Select(MyDb)

Omosa:GoBottom()

Omosa:UpStable()

Omosa:Refresh()

ENDIF

ZAP

PACK

EndDialog()

GlobalFree()

ResAllFree()

Release All

Omosa:End()

oLb1:End()

Select(oDbf)

mostra := .t.

RETU .t.

id=red>

PEDRO AIRTON

Link to comment
Share on other sites

Amigos,

Será que alguem poderia me ajudar no sentido de dizer-me como fazer para abandonar uma DIALOG apos Clikar num Button, conforme código abaixo.

Seguinte: Quando cliko em "Cancelar", o foco do programa retornar para o ultimo Get e não sai da rotina de jeito nehum.

Desde já Agradeço a atenção de quem puder me ajudar.

#include "FiveWin.ch"

#include "INKEY.CH"

STATIC oCod , mVazio, mDini, mDfim, aTrans,;

aUnd , codpro_, despro_, quanti_,;

codpac_, despac_, mostra := .t., ret := .t., oLb1,;

_nordem[99], _codpro[99], _despro[99], _codpac[99],;

_despac[99], _quanti[99]

//-------------------//

Function MOVSAI()

//-------------------//

local oLbx, oCadDl

local it, oGt01, oGt02, oGt03, oGt04, oGt05, oGt06, oGt07, oGt08

local oGt09, oGt10, oGt11, oGt12, Old48, prod01, prod02

local MyDb, oBtn1, oBtn2, oBtn3, oBtn4, oBtn5, oBtnZ, oBtnY, oBtnH, mRad, lAppend

local lSave := .t. , nOldRec := 0 , qtd01, ob146

PUBLIC Omosa

PUBLIC limpa_ := .f., i := 0

PUBLIC nOldCd := SPACE(13)

IF ! UsrFree(EstIncl)

RETURN NIL

ENDIF

IF ! ret

RETURN NIL

ENDIF

mDini := CTOD(" ")

mDfim := CTOD(" ")

CursorWait()

USE MOVSAI_T SHARED NEW

IF ! file("MOVSAI_T.CDX")

MsgMeter( { | oMeter, oText, oCadDl, lEnd | ;

BuildIndex( oMeter, oText, oCadDl, @lEnd, "MOVSAI_T->NORDEM", "SAIORD" ) },;

"Indexando movimento por código...", "Espere un momento!" )

MsgMeter( { | oMeter, oText, oCadDl, lEnd | ;

BuildIndex( oMeter, oText, oCadDl, @lEnd, "MOVSAI_T->DATSAI", "DATSAI" ) },;

"Indexando movimento por data...", "Espere un momento!" )

MsgMeter( { | oMeter, oText, oCadDl, lEnd | ;

BuildIndex( oMeter, oText, oCadDl, @lEnd, "MOVSAI_T->CODPRO", "CODPRO" ) },;

"Indexando movimento por fornecedor...", "Espere un momento!" )

ENDI

ordListClear()

OrdListAdd("MOVSAI_T","SAIORD","DATSAI", "CODPRO")

MOVSAI_T->(DBSETORDER(1))

MOVSAI_T->( DBGOTOP() )

DEFAULT lAppend := .t.

IF lAppend

USE MOVSAI

MOVSAI->(DBGOBOTTOM())

ordem_ := VAL( MOVSAI->NORDEM) + 1

ELSE

ENDIF

IF mostra

codpro_ := 0

despro_ := SPAC(15)

codpac_ := 0

despac_ := SPAC(15)

quanti_ := 0

ENDI

DEFINE FONT oFntLis NAME "Courier New" SIZE 0, -10

DEFINE DIALOG Omosa RESOURCE "TEL_SAI"

DEFINE FONT oSayFnt NAME "Arial" SIZE 0, -12 BOLD ITALIC

REDEFINE SAY oSay PROMPT STRZERO( ordem_,5 ) ID -15 OF Omosa COLORS CLR_HBLUE

USE MOVSAI_T

MOVSAI_T->( DBGOTOP() )

REDEFINE LISTBOX oLb1 ;

FIELDS MOVSAI_T->CODPRO,;

MOVSAI_T->DESPRO,;

STRZERO( MOVSAI_T->QUANTI,05);

ID 101 OF Omosa ;

FIELDSIZES 85,170,55,65,65,65,65,50,65,65 ;

ALIAS "MOVSAI_T" ;

HEADERS "Cod. Prod.",;

"Descricao",;

"Quantidade"

oFntLis:End()

Omosa:UpDate()

oLb1:UpStable()

oLb1:Refresh()

// Procurar paciente direto pelo codigo

//-------------------------------------

REDEFINE GET oGt03 VAR codpac_ PICTURE "99999" ID 102 OF Omosa ;

VALID ExistPac( @codpac_, @despac_, Omosa, .F. ) UPDATE WHEN mostra = .t.

// Procurar paciente direto pelo Button

//-------------------------------------

REDEFINE BTNBMP obtn1 ID 103 FILE ".\BITMAPS\ProcBtn.BMP" OF Omosa ;

UPDATE ACTION ExistPac( @codpac_, @despac_, Omosa, .T. );

WHEN ( mostra = .t. .and. EMPTY( codpac_ ) )

// Inclusao de novo Paciente

//--------------------------

REDEFINE BTNBMP ob146 ID 104 FILE ".\BITMAPS\NOVO.BMP" OF Omosa ;

UPDATE ACTION CadNewPac(@codpac_ , Omosa) WHEN ( mostra = .t. .and. EMPTY(codpac_) )

// Mostrar o nome do paciente

//--------------------------

REDEFINE GET oGt04 VAR despac_ ID 105 OF Omosa UPDATE WHEN mostra = .t.

codpro_ := quanti_ := 0

despro_ := SPAC(15)

// Procurar produto direto pelo codigo

//-------------------------------------

REDEFINE GET prod01 VAR codpro_ PICTURE "99999" ID 106 OF Omosa ;

VALID ExistPro( @codpro_, @despro_, Omosa, .F. ) UPDATE /// WHEN mostra = .t.

// Procurar produto direto pelo Button

//------------------------------------

REDEFINE BTNBMP obtn2 ID 107 FILE ".\BITMAPS\ProcBtn.BMP" OF Omosa UPDATE ;

ACTION ExistPro( @codpro_, @despro_, Omosa, .T. ) WHEN EMPTY( codpro_ )

// Mostrar o nome do produto

//--------------------------

REDEFINE GET prod02 VAR despro_ ID 108 OF Omosa UPDATE WHEN mostra = .f.

// Recebe a quantidade dos produtos

//---------------------------------

REDEFINE GET qtd01 VAR quanti_ PICTURE "@E 99999" ID 109 OF Omosa

REDEFINE BUTTON oBtnZ ID 110 OF Omosa ACTION( GravaPro(.f.,codpro_,despro_,codpac_,despac_,quanti_, _nordem,;

_codpro,_despro,_codpac,_despac,_quanti ) ) when RET = .T.

// REDEFINE BUTTON oBtnY ID 111 OF Omosa ACTION // REDEFINE BUTTON oBtnY ID 111 OF Omosa // ACTION ( NFSExcl(Omosa, oLb1), NFSCalc(@nIt18,@nIt19,@nIt20,nIt42,@nIt55,Omosa,oLb1) )

REDEFINE BUTTON oBtnH ID 112 OF Omosa ACTION( ret := .F. , Encerra( Omosa) ) CANCEL

ACTIVATE DIALOG Omosa CENTERED (* Aqui. não consigo sair do sistema )

oFntLis:End()

RETUR nil

Uso; Five 2.7 - Clipper 5.3b - XHarbour 00.99.61 -

//-----------------------------//

STATIC FUNC Encerra( omosa )

//-----------------------------//

CLOS MOVSAI_T

USE MOVSAI_T EXCLUSIV NEW

IF NETERR()

MsgStop( "No momento há um usuário cadastrando uma nota fiscal na rede."+CRLF+;

"Não é recomendado que dois usuário cadastrem notas fiscais ao"+CRLF+;

"mesmo tempo, para evitar duplicação de códigos e inconsistência"+CRLF+;

"no estoque dos produtos. Tente novamente mais tarde.",;

"Informação:" )

Select(MyDb)

Omosa:GoBottom()

Omosa:UpStable()

Omosa:Refresh()

ENDIF

ZAP

PACK

EndDialog()

GlobalFree()

ResAllFree()

Release All

Omosa:End()

oLb1:End()

Select(oDbf)

mostra := .t.

RETU .t.

id=red>

PEDRO AIRTON

Link to comment
Share on other sites

Experimente colocar a função oMosa:End() ANTES do comando Release All

Assim:

//-----------------------------//

STATIC FUNC Encerra( omosa )

//-----------------------------//

CLOS MOVSAI_T

USE MOVSAI_T EXCLUSIV NEW

IF NETERR()

MsgStop( "No momento há um usuário cadastrando uma nota fiscal na rede."+CRLF+;

"Não é recomendado que dois usuário cadastrem notas fiscais ao"+CRLF+;

"mesmo tempo, para evitar duplicação de códigos e inconsistência"+CRLF+;

"no estoque dos produtos. Tente novamente mais tarde.",;

"Informação:" )

Select(MyDb)

Omosa:GoBottom()

Omosa:UpStable()

Omosa:Refresh()

ENDIF

ZAP

PACK

Omosa:End() // aqui vc fecha o dialog

EndDialog()

GlobalFree()

ResAllFree()

Release All

*Omosa:End()

*oLb1:End() // Nao precisa disto aqui naum

Select(oDbf)

mostra := .t.

RETU .t.

PEDRO AIRTON

Josenilson Neiva

Teresina-PI

FWH 2.5/Pelles/xMate

Link to comment
Share on other sites

Obrigado amigos pela atenção, mas tudo isso já fiz, e NÃO consegui RESOLVER até agora, alguem mais poderia me dar uma luz ???

Experimente colocar a função oMosa:End() ANTES do comando Release All

Assim:

//-----------------------------//

STATIC FUNC Encerra( omosa )

//-----------------------------//

CLOS MOVSAI_T

USE MOVSAI_T EXCLUSIV NEW

IF NETERR()

MsgStop( "No momento há um usuário cadastrando uma nota fiscal na rede."+CRLF+;

"Não é recomendado que dois usuário cadastrem notas fiscais ao"+CRLF+;

"mesmo tempo, para evitar duplicação de códigos e inconsistência"+CRLF+;

"no estoque dos produtos. Tente novamente mais tarde.",;

"Informação:" )

Select(MyDb)

Omosa:GoBottom()

Omosa:UpStable()

Omosa:Refresh()

ENDIF

ZAP

PACK

Omosa:End() // aqui vc fecha o dialog

EndDialog()

GlobalFree()

ResAllFree()

Release All

*Omosa:End()

*oLb1:End() // Nao precisa disto aqui naum

Select(oDbf)

mostra := .t.

RETU .t.

PEDRO AIRTON

Josenilson Neiva

Teresina-PI

FWH 2.5/Pelles/xMate

PEDRO AIRTON

Link to comment
Share on other sites

Olá Pedro,

Bom eu não uso o WS nem o Pelles, mas vamos lá, veja se sua dialog está com o "X" ativo, depois mude isso no seu prg

//-----------------------------//

STATIC FUNC Encerra( omosa )

//-----------------------------//

CLOS MOVSAI_T

USE MOVSAI_T EXCLUSIV NEW

IF NETERR()

MsgStop( "No momento há um usuário cadastrando uma nota fiscal na rede."+CRLF+;

"Não é recomendado que dois usuário cadastrem notas fiscais ao"+CRLF+;

"mesmo tempo, para evitar duplicação de códigos e inconsistência"+CRLF+;

"no estoque dos produtos. Tente novamente mais tarde.",;

"Informação:" )

Select(MyDb)

Omosa:GoBottom()

Omosa:UpStable()

Omosa:Refresh()

ENDIF

ZAP

PACK

//Retirar pois isso vai matar todas as var e pode ser colocado depois do active dialog e não antes de matar a dialog

//EndDialog()

//GlobalFree()

//ResAllFree()

//Release All

oLb1:End() //Inverter, não adianta nada vc tentar matar um objeto que está na dialog, se vc já matou a dialog

Omosa:End()

Select(oDbf)

mostra := .t.

RETU .t.

Vagner Wirts

Clipper 5.2 Lib 5.3 - Blinker 5.0 FW 2.0, Harbour 43.0 (Flex), xHarbour 99.1 99.2 99.3 (Simplex) FW 2.5 icon_smile_big.gif

Link to comment
Share on other sites

Cara seguinte Faça assim


#include "FiveWin.ch"

#include "INKEY.CH"

STATIC oCod , mVazio, mDini, mDfim, aTrans,;

aUnd , codpro_, despro_, quanti_,;

codpac_, despac_, mostra := .t., ret := .t., oLb1,;

_nordem[99], _codpro[99], _despro[99], _codpac[99],;

_despac[99], _quanti[99]

//-------------------//

Function MOVSAI()

//-------------------//

local oLbx, oCadDl

local it, oGt01, oGt02, oGt03, oGt04, oGt05, oGt06, oGt07, oGt08

local oGt09, oGt10, oGt11, oGt12, Old48, prod01, prod02

local MyDb, oBtn1, oBtn2, oBtn3, oBtn4, oBtn5, oBtnZ, oBtnY, oBtnH, mRad, lAppend

local lSave := .t. , nOldRec := 0 , qtd01, ob146

PUBLIC Omosa //Pra isso ???

PUBLIC limpa_ := .f., i := 0

PUBLIC nOldCd := SPACE(13)

IF ! UsrFree(EstIncl)

RETURN NIL

ENDIF

IF ! ret

RETURN NIL

ENDIF

mDini := CTOD(" ")

mDfim := CTOD(" ")

CursorWait()

USE MOVSAI_T SHARED NEW

IF ! file("MOVSAI_T.CDX")

MsgMeter( { | oMeter, oText, oCadDl, lEnd | ;

BuildIndex( oMeter, oText, oCadDl, @lEnd, "MOVSAI_T->NORDEM", "SAIORD" ) },;

"Indexando movimento por código...", "Espere un momento!" )

MsgMeter( { | oMeter, oText, oCadDl, lEnd | ;

BuildIndex( oMeter, oText, oCadDl, @lEnd, "MOVSAI_T->DATSAI", "DATSAI" ) },;

"Indexando movimento por data...", "Espere un momento!" )

MsgMeter( { | oMeter, oText, oCadDl, lEnd | ;

BuildIndex( oMeter, oText, oCadDl, @lEnd, "MOVSAI_T->CODPRO", "CODPRO" ) },;

"Indexando movimento por fornecedor...", "Espere un momento!" )

ENDI

ordListClear()

OrdListAdd("MOVSAI_T","SAIORD","DATSAI", "CODPRO")

MOVSAI_T->(DBSETORDER(1))

MOVSAI_T->( DBGOTOP() )

DEFAULT lAppend := .t.

IF lAppend

USE MOVSAI

MOVSAI->(DBGOBOTTOM())

ordem_ := VAL( MOVSAI->NORDEM) + 1

ELSE

ENDIF

IF mostra

codpro_ := 0

despro_ := SPAC(15)

codpac_ := 0

despac_ := SPAC(15)

quanti_ := 0

ENDI

USE MOVSAI_T

MOVSAI_T->( DBGOTOP() )

codpro_ := quanti_ := 0

despro_ := SPAC(15)

DEFINE FONT oFntLis NAME "Courier New" SIZE 0, -10

DEFINE DIALOG Omosa RESOURCE "TEL_SAI"

DEFINE FONT oSayFnt NAME "Arial" SIZE 0, -12 BOLD ITALIC

REDEFINE SAY oSay PROMPT STRZERO( ordem_,5 ) ID -15 OF Omosa COLORS CLR_HBLUE

REDEFINE LISTBOX oLb1 ;

FIELDS MOVSAI_T->CODPRO,;

MOVSAI_T->DESPRO,;

STRZERO( MOVSAI_T->QUANTI,05);

ID 101 OF Omosa ;

FIELDSIZES 85,170,55,65,65,65,65,50,65,65 ;

ALIAS "MOVSAI_T" ;

HEADERS "Cod. Prod.",;

"Descricao",;

"Quantidade"

// Procurar paciente direto pelo codigo

//-------------------------------------

REDEFINE GET oGt03 VAR codpac_ PICTURE "99999" ID 102 OF Omosa ;

VALID ExistPac( @codpac_, @despac_, Omosa, .F. ) UPDATE WHEN mostra = .t.

// Procurar paciente direto pelo Button

//-------------------------------------

REDEFINE BTNBMP obtn1 ID 103 FILE ".\BITMAPS\ProcBtn.BMP" OF Omosa ;

UPDATE ACTION ExistPac( @codpac_, @despac_, Omosa, .T. );

WHEN ( mostra = .t. .and. EMPTY( codpac_ ) )

// Inclusao de novo Paciente

//--------------------------

REDEFINE BTNBMP ob146 ID 104 FILE ".\BITMAPS\NOVO.BMP" OF Omosa ;

UPDATE ACTION CadNewPac(@codpac_ , Omosa) WHEN ( mostra = .t. .and. EMPTY(codpac_) )

// Mostrar o nome do paciente

//--------------------------

REDEFINE GET oGt04 VAR despac_ ID 105 OF Omosa UPDATE WHEN mostra = .t.

// Procurar produto direto pelo codigo

//-------------------------------------

REDEFINE GET prod01 VAR codpro_ PICTURE "99999" ID 106 OF Omosa ;

VALID ExistPro( @codpro_, @despro_, Omosa, .F. ) UPDATE /// WHEN mostra = .t.

// Procurar produto direto pelo Button

//------------------------------------

REDEFINE BTNBMP obtn2 ID 107 FILE ".\BITMAPS\ProcBtn.BMP" OF Omosa UPDATE ;

ACTION ExistPro( @codpro_, @despro_, Omosa, .T. ) WHEN EMPTY( codpro_ )

// Mostrar o nome do produto

//--------------------------

REDEFINE GET prod02 VAR despro_ ID 108 OF Omosa UPDATE WHEN mostra = .f.

// Recebe a quantidade dos produtos

//---------------------------------

REDEFINE GET qtd01 VAR quanti_ PICTURE "@E 99999" ID 109 OF Omosa

REDEFINE BUTTON oBtnZ ID 110 OF Omosa ACTION( GravaPro(.f.,codpro_,despro_,codpac_,despac_,quanti_, _nordem,;

_codpro,_despro,_codpac,_despac,_quanti ) ) when RET = .T.

// REDEFINE BUTTON oBtnY ID 111 OF Omosa ACTION // REDEFINE BUTTON oBtnY ID 111 OF Omosa // ACTION ( NFSExcl(Omosa, oLb1), NFSCalc(@nIt18,@nIt19,@nIt20,nIt42,@nIt55,Omosa,oLb1) )

REDEFINE BUTTON oBtnH ID 112 OF Omosa ACTION( ret := .F. , Encerra( Omosa) ) CANCEL

ACTIVATE DIALOG Omosa CENTER

RETUR nil

//-----------------------------//

STATIC FUNC Encerra( omosa )

//-----------------------------//

CLOS MOVSAI_T

USE MOVSAI_T EXCLUSIV NEW

IF NETERR()

MsgStop( "No momento há um usuário cadastrando uma nota fiscal na rede."+CRLF+;

"Não é recomendado que dois usuário cadastrem notas fiscais ao"+CRLF+;

"mesmo tempo, para evitar duplicação de códigos e inconsistência"+CRLF+;

"no estoque dos produtos. Tente novamente mais tarde.",;

"Informação:" )

Select(MyDb)

ENDIF

ZAP

PACK

///EndDialog() // Oque é isso???

//GlobalFree() // Oque é isso???

//ResAllFree() // Oque é isso???

//Release All // Pra que isso

Omosa:End()

Select(oDbf)

mostra := .t.

RETU .t.

id=code>id=code>

Marcelo Michels

celo.michels@ibestvip.com.br

celo.michels@hotmail.com

marcelo@lorenzi.com.br

-> Lorenzi Soluções Têxteis <-

Criciuma - SC

xHarbour build 0.99.2 + WS

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...