×
Linguagem de Programação ADVPL
Perguntas Erro Rotina Padrao
- vcardoso
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 119
- Obrigados Recebidos: 0
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 8 meses atrás #11682
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Erro Rotina Padrao
MsExecAuto vc vai utilizar mais em Inclusões, alterações e exclusões.
Abraços.
FUnfou legal ai ?
Abraços.
FUnfou legal ai ?
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
11 anos 8 meses atrás #11683
por kanaamlrr
Respondido por kanaamlrr no tópico Erro Rotina Padrao
O MsExecAuto serve para realizar operações dentro de uma rotina padrão sem a necessidade de utilizar uma tela, realizando todas as validações que a tela convencinal utiliza.
Nunca utilizei para visualização como você está fazendo.
Nunca utilizei para visualização como você está fazendo.
Por favor Acessar ou Registrar para participar da conversa.
- vcardoso
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 119
- Obrigados Recebidos: 0
11 anos 8 meses atrás #11684
por vcardoso
Respondido por vcardoso no tópico Erro Rotina Padrao
Eu to fazendo uma rotina que o pedido de compra gere um pedido de venda automaticamente, isso eu consegui fazer, mas me pediram pra visualizar o pedido de venda depois de gerado, foi o que eu fiz, mas ainda acho que vao me pedir pra visualizar somente o que foi gerado e nao a funcao toda do jeito que ta, pois ela esta mostrando todos os pedidos e nao so o que gerou.
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 8 meses atrás #11685
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Erro Rotina Padrao
Tenta assim
DEFINE SBUTTON FROM 030, 010 TYPE 1 ACTION (nOpca := 1, U_VerPedido(SC5->C5_NUM)) ENABLE OF oDlg
User Function VerPedido(cPed)
Local aArea := GetArea()
dbSelectArea("SC5")
SC5->(dbSetOrder(1), dbSeek(xFilial("SC5")+cPed))
A410Visual( Alias() , Recno() , 2 ) //Visualização do pedido de vendas
RestArea(aArea)
Return .t.
DEFINE SBUTTON FROM 030, 010 TYPE 1 ACTION (nOpca := 1, U_VerPedido(SC5->C5_NUM)) ENABLE OF oDlg
User Function VerPedido(cPed)
Local aArea := GetArea()
dbSelectArea("SC5")
SC5->(dbSetOrder(1), dbSeek(xFilial("SC5")+cPed))
A410Visual( Alias() , Recno() , 2 ) //Visualização do pedido de vendas
RestArea(aArea)
Return .t.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- vcardoso
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 119
- Obrigados Recebidos: 0
11 anos 8 meses atrás #11688
por vcardoso
Respondido por vcardoso no tópico Erro Rotina Padrao
Nao funcionou, vou te mandar a minha rotina, caso queira visualizar por completo
# INCLUDE "PROTHEUS.CH"
# INCLUDE "FONT.CH"
# INCLUDE "TOPCONN.CH"
# INCLUDE "TOTVS.CH"
//+
+
//| Rotina | GERAAUTO | Autor | Victor Cardoso | Data | 28.02.2013 |
//+
+
//| Descr. | ROTINA PARA GERAR NF's AUTOMATICO |
//+
+
//| Uso | AP |
//+
+
USER FUNCTION GERAAUTO()
Local cAlias := "SF1"
Private aRotina := {}
Private cCadastro := "Documento de Entrada"
Private cDelFunc := ".T." // Valida?o para a exclus?
Private cAliasQry := GetNextAlias()
AADD(aRotina,{"Gerar Pedido","U_Gerarx",0,1})
dbSelectArea(cAlias)
dbSetOrder(1)
mBrowse(6,1,22,75,cAlias)
Return
//+
+
//| Rotina | Gerarx | Autor | Victor Cardoso | Data | 28.02.2013 |
//+
+
//| Descr. | Acao do botao "Gerar Pedido" na User Function GERAAUTO |
//+
+
//| Uso | Para Pedido de venda |
//+
+
User Function GERARX()
Local nRec := Recno()
Local cQuery := ""
Local _aCoBrw1 := {}
Local _aCoBrw2 := {}
Local _aCoBrw3 := {}
Local _aCoBrw4 := {}
Local NMAX
Local NMAX4
Local nlin
Local nItem := 1
Local dXDate
Local lGera := .T.
Local oDlg
Local nOpca := 1
Local nOpca2 := 2
Local cCliente := SA1->A1_COD
Local cLoja := SA1->A1_LOJA
Local cCondpag := SC5->C5_CONDPAG
Public xCliAuto := GetMv("MV_XCLIAUT") // PARAMETRO QUE DEFINE O CODIGO DO CLIENTE
Public xLojaAuto := GetMv("MV_XLOJAUT")// PARAMETRO QUE DEFINE A LOJA DO CLIENTE
MsgInfo("Gerando Documento de Saida...")
// PEGAR RECNO DO REGISTRO SELECIONADO NA TELA
// FILTRAR NA TABELA SF1 E SD1 O REGISTRO PELO RECNO ENCONTRADO ACIMA
DbSelectArea("SD1")
DbGotop()
cAliasQry := GetNextAlias()
cQuery := " SELECT D1_COD, D1_XFRMCOB, D1_XGRPPRO, D1_XDESCOM, D1_UM, D1_VUNIT, D1_TOTAL, D1_TES,"
cQuery += " D1_CF, D1_IPI, D1_CC, D1_XJUSTCO, D1_LOCAL, D1_PLACA, D1_CHASSI, D1_CLASFIS, D1_RATEIO, D1_ALIQSOL,"
cQuery += " F1_DOC, F1_FORNECE, F1_LOJA, F1_COND, F1_EMISSAO, F1_FRETE, F1_DESPESA, F1_TIPO, F1_DESCONT, F1_FORMUL, "
cQuery += " F1_ESPECIE, F1_IPI, F1_SEGURO, F1_PESOL, F1_TPDOC, SD1.D1_QUANT"
cQuery += " FROM "+RetSqlName("SF1")+" SF1 INNER JOIN "+RetSqlName("SD1")+" SD1 ON F1_DOC = D1_DOC "
cQuery += " WHERE SF1.R_E_C_N_O_ = '"+AllTrim(STR(nRec))+"' AND SF1.D_E_L_E_T_ = '' AND SD1.D_E_L_E_T_ = '' "
dbUseArea(.T.,"TOPCONN",TcGenQry(,,cQuery),cAliasQry)
While !EOF()
AADD(_aCoBrw1, {;
(cAliasQry)->D1_COD,; // 1 // CODIGO DO PRODUTO | CARACTER | 15
(cAliasQry)->D1_XFRMCOB,; // 2
(cAliasQry)->D1_XGRPPRO,; // 3
(cAliasQry)->D1_XDESCOM,; // 4
(cAliasQry)->D1_UM,; // 5 // UNIDADE DE MEDIDA | CARACTER | 2
(cAliasQry)->D1_VUNIT,; // 6 // VALOR UNITARIO | NUMERICO | 14
(cAliasQry)->D1_TOTAL,; // 7 // VALOR TOTAL DA NF | NUMERICO | 14
(cAliasQry)->D1_TES,; // 8 // TIPO DE ENTRADA DA NF | CARACTER | 3
(cAliasQry)->D1_CF,; // 9 // CODIGO FISCAL DA OPERACAO | CARACTER | 5 (@9)
(cAliasQry)->D1_IPI,; // 10 // ALIQUOTA DE IPI | NUMERICO | 6 (@E 99.99)
(cAliasQry)->D1_CC,; // 11
(cAliasQry)->D1_XJUSTCO,; // 12
(cAliasQry)->D1_LOCAL,; // 13 // ARMAZEM | CARACTER | 2
(cAliasQry)->D1_CLASFIS,; // 14 // SITUACAO TRIBUTARIA | CARACTER | 3
(cAliasQry)->D1_PLACA,; // 15 // PLACA DO VEICULO | CARACTER | 7 (@E XXX 9999)
(cAliasQry)->D1_CHASSI,; // 16 // CODIGO DO CHASSI | CARACTER | 17
(cAliasQry)->D1_RATEIO,; // 17 // POSSUI RATEIO POR CENTRO DE CUSTO | CARACTER | 1
(cAliasQry)->F1_DOC,; // 18
(cAliasQry)->F1_FORNECE,; // 19
(cAliasQry)->F1_LOJA,; // 20
(cAliasQry)->F1_COND,; // 21
(cAliasQry)->F1_EMISSAO,; // 22
(cAliasQry)->F1_FRETE,; // 23
(cAliasQry)->F1_DESPESA,; // 24
(cAliasQry)->F1_TIPO,; // 25
(cAliasQry)->F1_DESCONT,; // 26
(cAliasQry)->F1_FORMUL,; // 27
(cAliasQry)->F1_ESPECIE,; // 28
(cAliasQry)->F1_IPI,; // 29
(cAliasQry)->F1_SEGURO,; // 30
(cAliasQry)->F1_PESOL,; // 31
(cAliasQry)->F1_TPDOC,; // 32
(cAliasQry)->D1_QUANT}) // 33
dbSkip()
EndDo
if len(_aCoBrw1) = 0
MSGINFO("Este documento de entrada, Náo possui Itens")
lGera := .F.
Endif
DbSelectArea("SC5")
cAliasQry := GetNextAlias()
cQuery := "SELECT MAX(C5_NUM) AS MAX FROM "+RetSqlName("SC5")+" "
dbUseArea(.T.,"TOPCONN",TcGenQry(,,cQuery),cAliasQry)
While !EOF()
AADD(_aCoBrw3, { (cAliasQry)-> MAX })
dbSkip()
EndDo
NMAX := _aCoBrw3[1][1]
DbSelectArea("SC6")
dbSetOrder(1)
cAliasQry := GetNextAlias()
cQuery := "SELECT count(C6_ITEM) COUNT FROM "+RetSqlName("SC6")+" "
dbUseArea(.T.,"TOPCONN",TcGenQry(,,cQuery),cAliasQry)
While !EOF()
AADD(_aCoBrw4, { (cAliasQry)-> COUNT })
dbSkip()
EndDo
NMAX4 := _aCoBrw4[1][1]
// FAZER UM RECLOCK NAS TABELAS SC5 E SC6 PARA INSERIR OS REGISTROS
dXDate := date()
DEFINE MSDIALOG oDlg TITLE "Informe os Parametros" FROM 000,000 TO 150,420 PIXEL
@ 010, 010 SAY "Informe o Codigo do Cliente" SIZE 120, 20 OF oDlg PIXEL
@ 025, 010 SAY "Informe o Codigo da Loja" SIZE 120, 20 OF oDlg PIXEL
@ 040, 010 SAY "Informe a Condicao de Pagamento" SIZE 120, 20 OF oDlg PIXEL
@ 010, 120 MSGET cCliente SIZE 55, 11 F3 "SA1" PICTURE "@R 999999" OF oDlg PIXEL
@ 025, 120 MSGET cLoja SIZE 55, 11 PICTURE "@R 99" OF oDlg PIXEL
@ 040, 120 MSGET cCondPag SIZE 55, 11 F3 "SE4" PICTURE "@R 99" OF oDlg PIXEL
DEFINE SBUTTON FROM 60, 150 TYPE 1 ACTION (nOpca := 1, oDlg:End()) ENABLE OF oDlg
DEFINE SBUTTON FROM 60, 180 TYPE 2 ACTION (nOpca := 2, oDlg:End()) ENABLE OF oDlg
ACTIVATE MSDIALOG oDlg CENTERED
if (nOpca == 2)
MsgInfo("Registro Cancelado")
Endif
DbSelectArea("SC5")
DbSetOrder(1)
If (nOpca == 1)
For nLin := 1 to len(_aCoBrw1)
if (nlin = 1)
Reclock("SC5",.T.)
SC5->C5_FILIAL := '01'
SC5->C5_NUM := strzero(val(NMAX)+1,6)
SC5->C5_TIPO := _aCoBrw1[nLin][25]
SC5->C5_CLIENTE := cCliente
SC5->C5_CLIENT := alltrim(cCliente)
SC5->C5_LOJACLI := cLoja
SC5->C5_LOJAent := alltrim(cLoja)
SC5->C5_TIPOCLI := "F"
SC5->C5_CONDPAG := cCondPag
SC5->C5_XFRMCOB := _aCoBrw1[nLin][2]
SC5->C5_XSERIE := "1"
SC5->C5_EMISSAO := dXDate
MsUnlock()
endif
Next nLin
nlin := 1
DbSelectArea("SC6")
dbSetOrder(1)
cAliasQry := GetNextAlias()
nitem := 1
For nLin := 1 to len(_aCoBrw1)
DbSelectArea("SC6")
DbSetOrder(1)
Reclock("SC6",.T.)
SC6->C6_FILIAL := "01"
SC6->C6_ITEM := STRZERO(nItem,2)
SC6->C6_XGRPPRO := _aCoBrw1[nLin][3]
SC6->C6_PRODUTO := _aCoBrw1[nLin][1]
SC6->C6_XNATURE := ""
SC6->C6_XCC := ""
SC6->C6_XDESCOM := _aCoBrw1[nLin][4]
SC6->C6_UM := _aCoBrw1[nLin][5]
SC6->C6_QTDVEN := _aCoBrw1[nLin][33]
SC6->C6_VALOR := _aCoBrw1[nLin][7]
SC6->C6_TES := ""
SC6->C6_LOCAL := _aCoBrw1[nLin][13]
SC6->C6_CF := _aCoBrw1[nLin][9]
SC6->C6_NUM := strzero(val(NMAX)+1,6)
SC6->C6_PRUNIT := _aCoBrw1[nLin][6]
SC6->C6_CHASSI := _aCoBrw1[nLin][16]
SC6->C6_PRCVEN := _aCoBrw1[nLin][6]
SC6->C6_QTDLIB := _aCoBrw1[nLin][33]
MsUnlock()
nItem := nItem+1
Next nLin
MsUnlock()
DbCloseArea()
if lGera == .T.
MsgInfo("Foi Gerado o Pedido de Venda: " + strzero(val(NMAX)+1,6) + " ")
endif
Endif
DEFINE MSDIALOG oDlg TITLE "Consulta Pedido" FROM 000,000 TO 100,200 PIXEL
@ 010, 010 SAY "Deseja Visualizar a lista de pedidos?" SIZE 100,100 OF oDlg PIXEL
DEFINE SBUTTON FROM 030, 010 TYPE 1 ACTION (nOpca := 1, U_VerPedido(SC5->C5_NUM)) ENABLE OF oDlg //DEFINE SBUTTON FROM 030, 010 TYPE 1 ACTION (nOpca := 1, Mata410()) ENABLE OF oDlg
DEFINE SBUTTON FROM 030, 040 TYPE 2 ACTION (nOpca := 2, oDlg:End()) ENABLE OF oDlg
ACTIVATE MSDIALOG oDlg CENTERED
Return
User Function VerPedido(cPed)
Local aArea := GetArea()
dbSelectArea("SC5")
SC5->(dbSetOrder(1), dbSeek(xFilial("SC5")+cPed))
A410Visual( Alias() , Recno() , 2 ) //Visualização do pedido de vendas
RestArea(aArea)
Return .t.
# INCLUDE "PROTHEUS.CH"
# INCLUDE "FONT.CH"
# INCLUDE "TOPCONN.CH"
# INCLUDE "TOTVS.CH"
//+
+
//| Rotina | GERAAUTO | Autor | Victor Cardoso | Data | 28.02.2013 |
//+
+
//| Descr. | ROTINA PARA GERAR NF's AUTOMATICO |
//+
+
//| Uso | AP |
//+
+
USER FUNCTION GERAAUTO()
Local cAlias := "SF1"
Private aRotina := {}
Private cCadastro := "Documento de Entrada"
Private cDelFunc := ".T." // Valida?o para a exclus?
Private cAliasQry := GetNextAlias()
AADD(aRotina,{"Gerar Pedido","U_Gerarx",0,1})
dbSelectArea(cAlias)
dbSetOrder(1)
mBrowse(6,1,22,75,cAlias)
Return
//+
+
//| Rotina | Gerarx | Autor | Victor Cardoso | Data | 28.02.2013 |
//+
+
//| Descr. | Acao do botao "Gerar Pedido" na User Function GERAAUTO |
//+
+
//| Uso | Para Pedido de venda |
//+
+
User Function GERARX()
Local nRec := Recno()
Local cQuery := ""
Local _aCoBrw1 := {}
Local _aCoBrw2 := {}
Local _aCoBrw3 := {}
Local _aCoBrw4 := {}
Local NMAX
Local NMAX4
Local nlin
Local nItem := 1
Local dXDate
Local lGera := .T.
Local oDlg
Local nOpca := 1
Local nOpca2 := 2
Local cCliente := SA1->A1_COD
Local cLoja := SA1->A1_LOJA
Local cCondpag := SC5->C5_CONDPAG
Public xCliAuto := GetMv("MV_XCLIAUT") // PARAMETRO QUE DEFINE O CODIGO DO CLIENTE
Public xLojaAuto := GetMv("MV_XLOJAUT")// PARAMETRO QUE DEFINE A LOJA DO CLIENTE
MsgInfo("Gerando Documento de Saida...")
// PEGAR RECNO DO REGISTRO SELECIONADO NA TELA
// FILTRAR NA TABELA SF1 E SD1 O REGISTRO PELO RECNO ENCONTRADO ACIMA
DbSelectArea("SD1")
DbGotop()
cAliasQry := GetNextAlias()
cQuery := " SELECT D1_COD, D1_XFRMCOB, D1_XGRPPRO, D1_XDESCOM, D1_UM, D1_VUNIT, D1_TOTAL, D1_TES,"
cQuery += " D1_CF, D1_IPI, D1_CC, D1_XJUSTCO, D1_LOCAL, D1_PLACA, D1_CHASSI, D1_CLASFIS, D1_RATEIO, D1_ALIQSOL,"
cQuery += " F1_DOC, F1_FORNECE, F1_LOJA, F1_COND, F1_EMISSAO, F1_FRETE, F1_DESPESA, F1_TIPO, F1_DESCONT, F1_FORMUL, "
cQuery += " F1_ESPECIE, F1_IPI, F1_SEGURO, F1_PESOL, F1_TPDOC, SD1.D1_QUANT"
cQuery += " FROM "+RetSqlName("SF1")+" SF1 INNER JOIN "+RetSqlName("SD1")+" SD1 ON F1_DOC = D1_DOC "
cQuery += " WHERE SF1.R_E_C_N_O_ = '"+AllTrim(STR(nRec))+"' AND SF1.D_E_L_E_T_ = '' AND SD1.D_E_L_E_T_ = '' "
dbUseArea(.T.,"TOPCONN",TcGenQry(,,cQuery),cAliasQry)
While !EOF()
AADD(_aCoBrw1, {;
(cAliasQry)->D1_COD,; // 1 // CODIGO DO PRODUTO | CARACTER | 15
(cAliasQry)->D1_XFRMCOB,; // 2
(cAliasQry)->D1_XGRPPRO,; // 3
(cAliasQry)->D1_XDESCOM,; // 4
(cAliasQry)->D1_UM,; // 5 // UNIDADE DE MEDIDA | CARACTER | 2
(cAliasQry)->D1_VUNIT,; // 6 // VALOR UNITARIO | NUMERICO | 14
(cAliasQry)->D1_TOTAL,; // 7 // VALOR TOTAL DA NF | NUMERICO | 14
(cAliasQry)->D1_TES,; // 8 // TIPO DE ENTRADA DA NF | CARACTER | 3
(cAliasQry)->D1_CF,; // 9 // CODIGO FISCAL DA OPERACAO | CARACTER | 5 (@9)
(cAliasQry)->D1_IPI,; // 10 // ALIQUOTA DE IPI | NUMERICO | 6 (@E 99.99)
(cAliasQry)->D1_CC,; // 11
(cAliasQry)->D1_XJUSTCO,; // 12
(cAliasQry)->D1_LOCAL,; // 13 // ARMAZEM | CARACTER | 2
(cAliasQry)->D1_CLASFIS,; // 14 // SITUACAO TRIBUTARIA | CARACTER | 3
(cAliasQry)->D1_PLACA,; // 15 // PLACA DO VEICULO | CARACTER | 7 (@E XXX 9999)
(cAliasQry)->D1_CHASSI,; // 16 // CODIGO DO CHASSI | CARACTER | 17
(cAliasQry)->D1_RATEIO,; // 17 // POSSUI RATEIO POR CENTRO DE CUSTO | CARACTER | 1
(cAliasQry)->F1_DOC,; // 18
(cAliasQry)->F1_FORNECE,; // 19
(cAliasQry)->F1_LOJA,; // 20
(cAliasQry)->F1_COND,; // 21
(cAliasQry)->F1_EMISSAO,; // 22
(cAliasQry)->F1_FRETE,; // 23
(cAliasQry)->F1_DESPESA,; // 24
(cAliasQry)->F1_TIPO,; // 25
(cAliasQry)->F1_DESCONT,; // 26
(cAliasQry)->F1_FORMUL,; // 27
(cAliasQry)->F1_ESPECIE,; // 28
(cAliasQry)->F1_IPI,; // 29
(cAliasQry)->F1_SEGURO,; // 30
(cAliasQry)->F1_PESOL,; // 31
(cAliasQry)->F1_TPDOC,; // 32
(cAliasQry)->D1_QUANT}) // 33
dbSkip()
EndDo
if len(_aCoBrw1) = 0
MSGINFO("Este documento de entrada, Náo possui Itens")
lGera := .F.
Endif
DbSelectArea("SC5")
cAliasQry := GetNextAlias()
cQuery := "SELECT MAX(C5_NUM) AS MAX FROM "+RetSqlName("SC5")+" "
dbUseArea(.T.,"TOPCONN",TcGenQry(,,cQuery),cAliasQry)
While !EOF()
AADD(_aCoBrw3, { (cAliasQry)-> MAX })
dbSkip()
EndDo
NMAX := _aCoBrw3[1][1]
DbSelectArea("SC6")
dbSetOrder(1)
cAliasQry := GetNextAlias()
cQuery := "SELECT count(C6_ITEM) COUNT FROM "+RetSqlName("SC6")+" "
dbUseArea(.T.,"TOPCONN",TcGenQry(,,cQuery),cAliasQry)
While !EOF()
AADD(_aCoBrw4, { (cAliasQry)-> COUNT })
dbSkip()
EndDo
NMAX4 := _aCoBrw4[1][1]
// FAZER UM RECLOCK NAS TABELAS SC5 E SC6 PARA INSERIR OS REGISTROS
dXDate := date()
DEFINE MSDIALOG oDlg TITLE "Informe os Parametros" FROM 000,000 TO 150,420 PIXEL
@ 010, 010 SAY "Informe o Codigo do Cliente" SIZE 120, 20 OF oDlg PIXEL
@ 025, 010 SAY "Informe o Codigo da Loja" SIZE 120, 20 OF oDlg PIXEL
@ 040, 010 SAY "Informe a Condicao de Pagamento" SIZE 120, 20 OF oDlg PIXEL
@ 010, 120 MSGET cCliente SIZE 55, 11 F3 "SA1" PICTURE "@R 999999" OF oDlg PIXEL
@ 025, 120 MSGET cLoja SIZE 55, 11 PICTURE "@R 99" OF oDlg PIXEL
@ 040, 120 MSGET cCondPag SIZE 55, 11 F3 "SE4" PICTURE "@R 99" OF oDlg PIXEL
DEFINE SBUTTON FROM 60, 150 TYPE 1 ACTION (nOpca := 1, oDlg:End()) ENABLE OF oDlg
DEFINE SBUTTON FROM 60, 180 TYPE 2 ACTION (nOpca := 2, oDlg:End()) ENABLE OF oDlg
ACTIVATE MSDIALOG oDlg CENTERED
if (nOpca == 2)
MsgInfo("Registro Cancelado")
Endif
DbSelectArea("SC5")
DbSetOrder(1)
If (nOpca == 1)
For nLin := 1 to len(_aCoBrw1)
if (nlin = 1)
Reclock("SC5",.T.)
SC5->C5_FILIAL := '01'
SC5->C5_NUM := strzero(val(NMAX)+1,6)
SC5->C5_TIPO := _aCoBrw1[nLin][25]
SC5->C5_CLIENTE := cCliente
SC5->C5_CLIENT := alltrim(cCliente)
SC5->C5_LOJACLI := cLoja
SC5->C5_LOJAent := alltrim(cLoja)
SC5->C5_TIPOCLI := "F"
SC5->C5_CONDPAG := cCondPag
SC5->C5_XFRMCOB := _aCoBrw1[nLin][2]
SC5->C5_XSERIE := "1"
SC5->C5_EMISSAO := dXDate
MsUnlock()
endif
Next nLin
nlin := 1
DbSelectArea("SC6")
dbSetOrder(1)
cAliasQry := GetNextAlias()
nitem := 1
For nLin := 1 to len(_aCoBrw1)
DbSelectArea("SC6")
DbSetOrder(1)
Reclock("SC6",.T.)
SC6->C6_FILIAL := "01"
SC6->C6_ITEM := STRZERO(nItem,2)
SC6->C6_XGRPPRO := _aCoBrw1[nLin][3]
SC6->C6_PRODUTO := _aCoBrw1[nLin][1]
SC6->C6_XNATURE := ""
SC6->C6_XCC := ""
SC6->C6_XDESCOM := _aCoBrw1[nLin][4]
SC6->C6_UM := _aCoBrw1[nLin][5]
SC6->C6_QTDVEN := _aCoBrw1[nLin][33]
SC6->C6_VALOR := _aCoBrw1[nLin][7]
SC6->C6_TES := ""
SC6->C6_LOCAL := _aCoBrw1[nLin][13]
SC6->C6_CF := _aCoBrw1[nLin][9]
SC6->C6_NUM := strzero(val(NMAX)+1,6)
SC6->C6_PRUNIT := _aCoBrw1[nLin][6]
SC6->C6_CHASSI := _aCoBrw1[nLin][16]
SC6->C6_PRCVEN := _aCoBrw1[nLin][6]
SC6->C6_QTDLIB := _aCoBrw1[nLin][33]
MsUnlock()
nItem := nItem+1
Next nLin
MsUnlock()
DbCloseArea()
if lGera == .T.
MsgInfo("Foi Gerado o Pedido de Venda: " + strzero(val(NMAX)+1,6) + " ")
endif
Endif
DEFINE MSDIALOG oDlg TITLE "Consulta Pedido" FROM 000,000 TO 100,200 PIXEL
@ 010, 010 SAY "Deseja Visualizar a lista de pedidos?" SIZE 100,100 OF oDlg PIXEL
DEFINE SBUTTON FROM 030, 010 TYPE 1 ACTION (nOpca := 1, U_VerPedido(SC5->C5_NUM)) ENABLE OF oDlg //DEFINE SBUTTON FROM 030, 010 TYPE 1 ACTION (nOpca := 1, Mata410()) ENABLE OF oDlg
DEFINE SBUTTON FROM 030, 040 TYPE 2 ACTION (nOpca := 2, oDlg:End()) ENABLE OF oDlg
ACTIVATE MSDIALOG oDlg CENTERED
Return
User Function VerPedido(cPed)
Local aArea := GetArea()
dbSelectArea("SC5")
SC5->(dbSetOrder(1), dbSeek(xFilial("SC5")+cPed))
A410Visual( Alias() , Recno() , 2 ) //Visualização do pedido de vendas
RestArea(aArea)
Return .t.
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.135 segundos