Вы находитесь на странице: 1из 20

#include "TBICONN.CH" #include "TBICODE.CH" #Include "protheus.ch" #Include "TopConn.ch" #include "rwmake.ch" #Include "MsOle.

ch" #DEFINE ENTER CHR(13)+CHR(10) #DEFINE TAB Chr(9) Programa ContCR01 Autor Paulo H. Wolf Data 05/09/2012 Desc. Este programa tem o objetivo de imprimir contrato de Compra e Venda referente as NFs de Sada em Dolar. Para isso utilizado um modelo .dot que est salvo na pasta \protheus_data\samples\documents\upl\ContCR01.dot Uso // // Variaveis utilizadas para parametros // mv_par01 // Data Inicial Emisso NF // mv_par02 // Data Final Emisso NF // mv_par03 // Vendedor de // mv_par04 // Vendedor ate // mv_par05 // NF de // mv_par06 // NF ate // mv_par07 // Moedas // mv_par08 // Arquivo Modelo (*.dot) // mv_par09 // Onde salvar (caminho) // mv_par10 // Gera por (Cliente ou Cliente+Loja // /*/ User Function ContCR01() //Contrato Contas a Receber (Dolar) private cPerg := "ZZCCRD" private cTexto := "" //variavel que contm o que ser escritos no Memo private oMemo //objeto Memo da tela cTexto da, " + ENTER cTexto + ENTER cTexto + ENTER cTexto + ENTER cTexto + ENTER cTexto := "Esta rotina tem o objetivo de gerar contratos de compra e ven += "conforme um modelo padro ContCR01.dot e com dados conforme " += "os parametros informados. += "Os contratos so gerados principalmente com os dados das += "Notas Fiscais e com dados da Filial corrente do Sistema. += "" + ENTER " " "

ValidPerg(cPerg) Pergunte(cPerg,.F.)

@ 116,090 To 416,707 Dialog oDlgMemo Title "Contratos de Compra e Venda"

@ 005,005 Get cTexto

Size 300,100 MEMO

Object oMemo Size 36,16 Action Pergunte(cPerg Size 36,16 Action (Processa( {|| Size 36,16 Action Close(oDlgMemo

@ 115,160 Button OemToAnsi("Parametros") , .T.) @ 115,205 Button OemToAnsi("Processar") Exportar() } )) @ 115,250 Button OemToAnsi("Sair") )

//@ 132,263 BmpButton Type 1 Action Close(oDlgMemo) Activate Dialog oDlgMemo Center Return

Static Function Exportar() private cArq //Caminho onde ser criado o arquivo temporario - DBF private aFields //array que conter os campos que sero criados no cArq private cArqDot := alltrim(MV_PAR08) private cFile := "\samples\documents\upl\" + cArqDot private xFilRec := "" private nNumCon := 1 //Numero do Contrato Inicial //Arquivo 1: Conhecimentos de Frete cArq := CriaTrab(NIL,.f.) cArq := "\Tempo\"+cArq aFields := {} AADD(aFields,{"TR_OK" ,"C",02,0}) AADD(aFields,{"TR_FILIAL" ,"C",02,0}) AADD(aFields,{"TR_DOC" ,"C",09,0}) AADD(aFields,{"TR_SERIE" ,"C",03,0}) AADD(aFields,{"TR_CODCLI" ,"C",06,0}) AADD(aFields,{"TR_LOJA" ,"C",02,0}) AADD(aFields,{"TR_NOME" ,"C",50,0}) AADD(aFields,{"TR_VLBRUTO","N",15,2}) AADD(aFields,{"TR_MOEDA" ,"N",01,0}) AADD(aFields,{"TR_RECF2" ,"N",10,0}) //Marca //Filial //Nota Fiscal //Serie //Cdigo do Cliente //Loja do Cliente //Nome do Cliente //Valor Bruto da NF (999999999999.99) //Moeda //RECNO da SF2

DbCreate(cArq,aFields) DbUseArea(.T.,,cArq,"TRV1",.F.) cIndCond := "TR_CODCLI+TR_LOJA+TR_FILIAL+TR_DOC" IndRegua("TRV1",cArq,cIndCond,,,) //"Selecionando Registros..." */ //Gera o SQL e preenche a tabela temporria TRV1 //Parametro igual a 1 -> Gera SQL para montagem do MarkBrow GeraDados(1) //Monta a tela com MarkBrow com os dados da tabela temporria TRV1 //para que seja confirmada a gerao do arquivo txt conforme as NFs mostrada s na tela. MontaTela() //Fecha a tabela temporria e apaga o arquivo temporrio DbSelectArea("TRV1") DBCLOSEAREA("TRV1")

FErase(cArq+".dbf") FErase(cArq+".idx") DBSELECTAREA("SC5") Return //Funo que gera o SQL conforme os parmetros e preenche a tabela temporria Static Function GeraDados(xOpcao) Local cQry := "" Local cQSec := "" Local cRet := "" Local nRet := 0 //Query principal aplicada a todos os selects cQry += "SELECT SF2.F2_FILIAL, SF2.F2_DOC, SF2.F2_SERIE, SF2.F2_CLIENTE, SF2.F2_LOJA, SA1.A1_NOME, SF2.F2_VALBRUT, " cQry += " SD2.D2_PEDIDO, SD2.D2_COD, SB1.B1_DESC, " cQry += " SE1.E1_PREFIXO, SE1.E1_NUM, SE1.E1_PARCELA, SE1.E1_VALOR , SE1.E1_VLCRUZ, SE1.E1_VENCTO, SE1.E1_VENCREA, SE1.E1_MOEDA, " cQry += " SF2.R_E_C_N_O_ RECNOF2 " cQry += "FROM " + RetSqlName("SE1") + " SE1 " cQry += "INNER JOIN " + RetSqlName("SF2") + " SF2 " cQry += "ON SE1.E1_FILORIG = SF2.F2_FILIAL AND SE1.E1_NUM = SF2.F2_DOC A ND SE1.E1_SERIE = SF2.F2_SERIE " cQry += "INNER JOIN " + RetSqlName("SD2") + " SD2 " cQry += "ON SF2.F2_FILIAL = SD2.D2_FILIAL AND SF2.F2_DOC = SD2.D2_DOC AN D SF2.F2_SERIE = SD2.D2_SERIE " cQry += "INNER JOIN " + RetSqlName("SB1") + " SB1 " cQry += "ON SD2.D2_COD = SB1.B1_COD " cQry += "INNER JOIN " + RetSqlName("SA1") + " SA1 " cQry += "ON SF2.F2_CLIENTE = SA1.A1_COD AND SF2.F2_LOJA = SA1.A1_LOJA " cQry += "WHERE SE1.D_E_L_E_T_ <> '*' AND SF2.D_E_L_E_T_ <> '*' AND SD2.D _E_L_E_T_ <> '*' AND SB1.D_E_L_E_T_ <> '*' AND SA1.D_E_L_E_T_ <> '*' " cQry += "AND SE1.E1_MOEDA IN (" + MV_PAR07 + ") " cQry += "AND SF2.F2_EMISSAO >= '" + DTOS(MV_PAR01) + "' AND SF2.F2_EMISS AO <= '" + DTOS(MV_PAR02) + "' " cQry += "AND SA1.A1_VEND >= '" + MV_PAR03 + "' AND SA1.A1_VEND <= '" + MV_PAR04 + "' " //cQry += "AND SE1.E1_VEND >= '" + MV_PAR03 + "' AND SE1.E1_VEND < = '" + MV_PAR04 + "' " cQry += "AND SF2.F2_DOC >= '" + MV_PAR05 + "' AND SF2.F2_DOC <= '" + MV_PAR06 + "' " //Query para a tela, onde sro mostrados os titulos if xOpcao == 1 cQSec := "SELECT DISTINCT A.F2_CLIENTE, A.F2_LOJA, A.A1_NOME, A. F2_FILIAL, A.F2_DOC, A.F2_SERIE, A.F2_VALBRUT, A.E1_MOEDA, A.RECNOF2 " cQSec += "FROM " cQSec += "( " //Adiciona a Query principal Query secundria cQSec += cQry cQSec += ") AS A " cQSec += "ORDER BY 1,2,3,4,5,6 "

//Preenche a tabela temporria TcQuery cQSec New Alias "TQRY" TQRY->(DbGoTop()) Do While TQRY->(!Eof()) dbselectarea("TRV1") append blank //replace TRV1->TR_OK with replace TRV1->TR_FILIAL replace TRV1->TR_DOC replace TRV1->TR_SERIE replace TRV1->TR_CODCLI replace TRV1->TR_LOJA replace TRV1->TR_NOME replace TRV1->TR_VLBRUTO replace TRV1->TR_MOEDA replace TRV1->TR_RECF2 dbselectarea("TQRY") TQRY->(Dbskip()) EndDo TQRY->(DbCloseArea()) Return endif //Preencher os cdigos de produtos do contrato if xOpcao == 2 cQSec := "SELECT DISTINCT A.D2_COD, A.B1_DESC " cQSec += "FROM " cQSec += "( " //Adiciona a Query principal Query secundria cQSec += cQry //Adiciona os filtros de RECNO da SF2 cQSec += "AND SF2.R_E_C_N_O_ in (" + xFilRec + ") " cQSec += ") AS A " cQSec += "ORDER BY 1 " TcQuery cQSec New Alias "TQRY" //Preenche a varivel que ir retornar TQRY->(DbGoTop()) Do While TQRY->(!Eof()) cRet := cRet + alltrim(TQRY->D2_COD) + " - " + alltrim(T QRY->B1_DESC) + ENTER TQRY->(dbSkip()) EndDo TQRY->(DbCloseArea())

with with with with with with with with with

TQRY->F2_FILIAL TQRY->F2_DOC TQRY->F2_SERIE TQRY->F2_CLIENTE TQRY->F2_LOJA TQRY->A1_NOME TQRY->F2_VALBRUT TQRY->E1_MOEDA TQRY->RECNOF2

Return cRet endif //Preencher as NFs do contrato if xOpcao == 3 cQSec := "SELECT DISTINCT A.F2_FILIAL, A.F2_DOC, A.F2_SERIE " cQSec += "FROM " cQSec += "( " //Adiciona a Query principal Query secundria cQSec += cQry //Adiciona os filtros de RECNO da SF2 cQSec += "AND SF2.R_E_C_N_O_ in (" + xFilRec + ") " cQSec += ") AS A " cQSec += "ORDER BY 1,2,3 " TcQuery cQSec New Alias "TQRY" //Preenche a varivel que ir retornar TQRY->(DbGoTop()) Do While TQRY->(!Eof()) cRet := cRet + alltrim(TQRY->F2_FILIAL) + "-" + alltrim( TQRY->F2_DOC) + "/" + alltrim(TQRY->F2_SERIE) + ENTER TQRY->(dbSkip()) EndDo TQRY->(DbCloseArea()) Return cRet endif //Pega o Valor total do Contrato em Dolar if xOpcao == 4 cQSec := "SELECT DISTINCT A.F2_FILIAL, A.E1_PREFIXO, A.E1_NUM, A .E1_PARCELA, A.F2_CLIENTE, A.F2_LOJA, A.E1_VALOR " cQSec += "FROM " cQSec += "( " //Adiciona a Query principal Query secundria cQSec += cQry //Adiciona os filtros de RECNO da SF2 cQSec += "AND SF2.R_E_C_N_O_ in (" + xFilRec + ") " cQSec += ") AS A " cQSec += "ORDER BY 1,2,3,4 " TcQuery cQSec New Alias "TQRY" //Preenche a varivel que ir retornar TQRY->(DbGoTop())

Do While TQRY->(!Eof()) nRet := nRet + TQRY->E1_VALOR TQRY->(dbSkip()) EndDo TQRY->(DbCloseArea()) Return nRet endif //Preencher os Titulos e Vencimentos do contrato if xOpcao == 5 cQSec := "SELECT DISTINCT A.E1_PREFIXO, A.E1_NUM, A.E1_PARCELA, A.E1_VALOR, dbo.FC_DTSIGA(A.E1_VENCREA) as E1_VENCREA " cQSec += "FROM " cQSec += "( " //Adiciona a Query principal Query secundria cQSec += cQry //Adiciona os filtros de RECNO da SF2 cQSec += "AND SF2.R_E_C_N_O_ in (" + xFilRec + ") " cQSec += ") AS A " cQSec += "ORDER BY 1,2,3 " TcQuery cQSec New Alias "TQRY" //Preenche a varivel que ir retornar TQRY->(DbGoTop()) Do While TQRY->(!Eof()) cRet := cRet + TQRY->E1_PREFIXO + "-" + TQRY->E1_NUM + " /" + TQRY->E1_PARCELA + TAB + "US$" + Transform(E1_VALOR,"@E 99,999,999.99") + T AB + E1_VENCREA + ENTER TQRY->(dbSkip()) EndDo TQRY->(DbCloseArea()) Return cRet endif //Preencher os Pedidos de Venda do contrato if xOpcao == 6 cQSec := "SELECT DISTINCT A.F2_FILIAL, A.D2_PEDIDO " cQSec += "FROM " cQSec += "( " //Adiciona a Query principal Query secundria cQSec += cQry

//Adiciona os filtros de RECNO da SF2 cQSec += "AND SF2.R_E_C_N_O_ in (" + xFilRec + ") " cQSec += ") AS A " cQSec += "ORDER BY 1,2 " TcQuery cQSec New Alias "TQRY" //Preenche a varivel que ir retornar TQRY->(DbGoTop()) Do While TQRY->(!Eof()) cRet := cRet + alltrim(TQRY->F2_FILIAL) + "-" + alltrim( TQRY->D2_PEDIDO) + ENTER TQRY->(dbSkip()) EndDo TQRY->(DbCloseArea()) Return cRet endif Return //Funo que monta a tela (MarkBrow) e mostra os dados da tabela temporria //Ir marcar as NF's para gerar o arquivo .txt Static Function MontaTela() Private cCadastro := 'Gerar arquivo NFs de servio' Private lMarc := nil Private cMarca := nil Private aRotina := {} Private aCampos := {} dbselectarea("TRV1") dbgotop() aRotina := { {"Gerar Contrato","U_ContCR02",0,5} } //{"Visualizar","AxVisual",0,2} ,; //{"Alterar" ,"AxAltera",0,4}} AADD(aCampos,{"TR_OK" ,"",""}) //Marca AADD(aCampos,{"TR_CODCLI" ,"","Cod. Cli."}) //Codigo do Cliente AADD(aCampos,{"TR_LOJA" ,"","Loja"}) //Loja AADD(aCampos,{"TR_NOME" ,"","Nome Cliente"}) //Nome do Cliente AADD(aCampos,{"TR_FILIAL" ,"","Filial"}) //Filial AADD(aCampos,{"TR_DOC" ,"","Nota Fiscal"}) //Nota Fiscal AADD(aCampos,{"TR_SERIE" ,"","Serie"}) //Serie AADD(aCampos,{"TR_VLBRUTO","","Total R$", "@E 99,999,999.99"}) //Valor B ruto da NF (999999999999.99) AADD(aCampos,{"TR_RECF2" ,"","Registro"}) MARKBROW("TRV1","TR_OK",,aCampos,lMarc,cMarca,,,,,) Return

/* MarkBrowse Tipo: Processamento Monta um browse padro do sistema, permitindo marcar e desmacar linhas. Sintaxe MarkBrowse(cAlias,cCampo ,cCpo,aCampos,lMarc,cMarca,cCtrlM,lBotoes,cTopFun,cBotF un,aCoord) //Tirado de um fonte da Microsiga MarkBrow("SC1","C1_OK","(C1_COTACAO+IIf(C1_TPOP=='P'.Or.(C1_APROV$'R,B'),'X',' ' ))",,lInverte,cMarca,"A130AllMark()",,,,"A130Mark()",,,,aCores) Parmetros cAlias - lias do arquivo cCampo - Campo que estabelece relao com a culuna de marca cCpo - Campo que se estiver vazio muda a cor da linha aCampos - Array com os campos para montar o browse lMarc - Flag para inicializar marcado ou no cMarca - Marca obtida com a funo Getmark cCtrlM - Funo para ser executada no Alt_M lBotoes - Parmetro obsoleto cTopFun - Funo filtro para estabelecer o primeiro registro cTopFun - Funo filtro para estabelecer o ltimo registro aCoord - Array com as coordenadas da MarkBrowse. Exemplo cMarca := GetMark() cCadastro := "Escolher Clientes" aRotina := { { "Pesquisar","AxPesqui",0,1}, ; {"Visualizar","AxVisual",0,2}} MarkBrow("SA1","A1_OK","SA1->A1_OK",,,cMarca) */ User Function ContCR02() Processa( { ||ContCR05() } ) Return

Static Function ContCR05() Local _xCodCli := "" Local _Chave := "" //Variavel que conter os RECNOSda SF2 para filtrar os regitros selecionad os que iro para os contratos

xFilRec := "" DBSELECTAREA("TRV1") TRV1->(DBGOTOP()) Count To nTotal ProcRegua(nTotal) TRV1->(DBGOTOP()) //Gera contratos por cdigo de cliente if MV_PAR10 == 1 _xCodCli := TRV1->TR_CODCLI else _xCodCli := TRV1->TR_CODCLI + TRV1->TR_LOJA endif //Do While !Eof() Do While TRV1->(!Eof()) IncProc("Processando Dados...") //Gera contratos por cdigo de cliente if MV_PAR10 == 1 _Chave := TRV1->TR_CODCLI else _Chave := TRV1->TR_CODCLI + TRV1->TR_LOJA endif //Se o cdigo for diferente, ou seja, mudou o cliente, ir gerar o contrato para este cliente if _xCodCli != _Chave if xFilRec != "" IncProc("Gerando Contrato " + alltrim(str(nNumCo n)) + "...") //Gera o contrato ContCR03(_xCodCli) //Zera os filtros do RECNO xFilRec := "" //Incrementa o nmero do Contrato nNumCon ++ endif endif if Marked("TR_OK") ontratos if alltrim(xFilRec) == "" //Se for vazio NO precisa colocar a virgula para o filtro do select xFilRec := xFilRec + alltrim(str(TRV1->TR_RECF2) ) else //Se no for vazio, precisa colocar a virgula para o filtro do select //IsMark('TR_OK')

//Pega os RECNOS da SF2 para fazer o filtro e gerar os c

xFilRec := xFilRec + "," + alltrim(str(TRV1->TR_ RECF2)) endif EndIf //Gera contratos por cdigo de cliente if MV_PAR10 == 1 _xCodCli := TRV1->TR_CODCLI else _xCodCli := TRV1->TR_CODCLI + TRV1->TR_LOJA endif TRV1->(Dbskip()) enddo if xFilRec != "" //Gera o contrato ContCR03(_xCodCli) //Zera os filtros do RECNO xFilRec := "" endif Aviso("Contratos","Processo Concludo!",{"Ok"}) Return //Funo que gera o contrato Static Function ContCR03(cCliLoja) Local aArea := GetArea() //Local xCodCli := SUBSTR(cCliLoja,1,6) //Local xLojCli := SUBSTR(cCliLoja,7,2) Local xcErro := "" Local cPathDot := cFile Local cPathEst := alltrim(MV_PAR09) // PATH DO ARQUIVO A SER ARMAZENADO NA ESTA CAO DE TRABALHO Private cNumCon := alltrim(str(nNumCon)) Private cPessoa := "" Private cCNPJ := "" Private cProd := "" Private cNFs := "" Private nValor := 0 Private cValor := "" Private cPrazo := "" Private cPedido := "" dbSelectArea("SA1") dbSetOrder(1) MsSeek(xFilial("SA1")+cCliLoja) if SA1->A1_PESSOA == "J" cPessoa := "Juridica" cCNPJ := Transform(SA1->A1_CGC, "@R 99.999.999/9999-99") else cPessoa := "Fisica" cCNPJ := Transform(SA1->A1_CGC, "@R 999.999.999-99") endif

cProd cNFs nValor cValor cPrazo cPedido :=

:= GeraDados(2) := GeraDados(3) := GeraDados(4) :="US$ "+alltrim(Transform(nValor, "@E 999,999,999,999.99")) := GeraDados(5) GeraDados(6)

MontaDir(cPathEst) // Caso encontre arquivo ja gerado na estacao //com o mesmo nome apaga primeiramente antes de gerar a nova impressao If File( cPathEst + cArqDot ) Ferase( cPathEst + cArqDot ) EndIf CpyS2T(cPathDot,cPathEst,.T.) // Copia do Server para o Remote, eh neces sario //para que o wordview e o proprio word possam preparar o arquivo para im pressao e // ou visualizacao .... copia o DOT que esta no ROOTPATH Protheus para o PATH da // estacao , por exemplo C:\WORDTMP hWord := OLE_CreateLink("TMsOleWord97",xcErro,.T.) OLE_SetProperty ( hWord, oleWdVisible, .T.) OLE_NewFile( hWord, cPathEst + cArqDot) //OLE_NewFile( hWord, cFile ) OLE_SetDocumentVar(hWord, 'LOCAL' , AllTrim(SM0->M0_CIDCOB) ) //Local OLE_SetDocumentVar(hWord, 'DTCONTRATO' , AllTrim(DTOC(date())) ) //Dat a OLE_SetDocumentVar(hWord, 'CLIENTE' , AllTrim(SA1->A1_NOME) ) //Nom e do Cliente //OLE_SetDocumentVar(hWord, 'TPPESSOA' , AllTrim(cPessoa) ) //Tipo Pes soa (Juridica / Fisica) OLE_SetDocumentVar(hWord, 'CNPJCLI' , AllTrim(cCNPJ) ) //CNPJ OLE_SetDocumentVar(hWord, 'IECLI' , AllTrim(SA1->A1_INSCR) ) //Insc rio Estadual OLE_SetDocumentVar(hWord, 'ENDCLI' , AllTrim(SA1->A1_END) ) //Endereo do Cliente OLE_SetDocumentVar(hWord, 'MUNCLI' , AllTrim(SA1->A1_MUN) ) //Munici pio do Cliente OLE_SetDocumentVar(hWord, 'UFCLI' , AllTrim(SA1->A1_EST) ) //UF do Cliente OLE_SetDocumentVar(hWord, 'VENDEDORA' , AllTrim(SM0->M0_NOMECOM) ) //No me da Vendedora (Empresa - UPL) OLE_SetDocumentVar(hWord, 'CNPJVEN' , AllTrim(Transform(SM0->M0_CGC, "@R 99.999.999/9999-99")) ) //CNPJ da Vendedora (Empresa - UPL) OLE_SetDocumentVar(hWord, 'IEVEN' , AllTrim(SM0->M0_INSC) ) //IE da Vendedora (Empresa - UPL) OLE_SetDocumentVar(hWord, 'ENDVEN' , AllTrim(SM0->M0_ENDCOB) ) //End ereo da Vendedora (Empresa - UPL) OLE_SetDocumentVar(hWord, 'MUNVEN' , AllTrim(SM0->M0_CIDCOB) ) //Mun icipio da Vendedora (Empresa - UPL) OLE_SetDocumentVar(hWord, 'UFVEN' , AllTrim(SM0->M0_ESTCOB) ) //UF da Vendedora (Empresa - UPL) OLE_SetDocumentVar(hWord, 'PRODUTOS' OLE_SetDocumentVar(hWord, 'NFS' , cProd ) //Produtos do Contrato , cNFs ) //Notas Fiscais do Contr

ato OLE_SetDocumentVar(hWord, 'VLTOTAL' ato OLE_SetDocumentVar(hWord, 'PEDIDOS' , cPedido ) //Pedidos do Contrato OLE_SetDocumentVar(hWord, 'VENCIMENTOS', cPrazo ) //Vencimentos dos titu los do Contrato OLE_SetDocumentVar(hWord, 'PEDIDOS2' , cPedido ) //Pedidos do Contrato //Atualiza os campos OLE_UpdateFields(hWord) //Salva o arquivo OLE_SaveAsFile(hWord, cPathEst + "Cont_CR_"+ cNumCon + ".docx" ) // // Fecha Documento Criado no Word // OLE_CLOSEFILE(hWord) // // Encerra link de comunicacao com o word // OLE_CLOSELINK(hWord) RestArea(aArea) Return /*/ Fun o VALIDPERG Autor Cristian Gutierrez Data 11/07/06 Descri o Verifica a existencia das perguntas criando-as caso seja necessario Uso Programa principal /*/ Static Function ValidPerg(cPerg) // // Definicoes de variaveis // Local aArea := GetArea() Local aRegs := {} Local aHelpEng := {} Local aHelpPor := {} Local aHelpSpa := {} aHelpEng := {"Data Inicial da Emisso da Nota Fiscal de Sada"} aHelpPor := {"Data Inicial da Emisso da Nota Fiscal de Sada"} aHelpSpa := {"Data Inicial da Emisso da Nota Fiscal de Sada"} PutSx1(cPerg "01" "Emissao de " " " " "MV_CH1" , ; //Grupo , ; //cOrdem " , ; //cPergunt , ; //cPerSpa , ; //cPerEng , ; //cVar , cValor ) //Valor Total do Contr

"D" 8 0 0 "G" " " " " " " " " "MV_PAR01" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" aHelpPor aHelpEng aHelpSpa "" )

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;

//cTipo //nTamanho //nDecimal //nPresel //cGSC //cValid //cF3 //cGrpSxg //cPyme //cVar01 //cDef01 //cDefSpa1 //cDefEng1 //cCnt01 //cDef02 //cDefSpa2 //cDefEng2 //cDef03 //cDefSpa3 //cDefEng3 //cDef04 //cDefSpa4 //cDefEng4 //cDef05 //cDefSpa5 //cDefEng5 //aHelpPor //aHelpEng //aHelpSpa //cHelp

aHelpEng := {"Data Final da Emisso da Nota Fiscal de Sada"} aHelpPor := {"Data Final da Emisso da Nota Fiscal de Sada"} aHelpSpa := {"Data Final da Emisso da Nota Fiscal de Sada"} PutSx1(cPerg "02" "Emissao ate" " " " " "MV_CH2" "D" 8 0 0 "G" " " " " " " " " "MV_PAR02" "" "" "" "" "" "" "" , ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; //Grupo //cOrdem //cPergunt //cPerSpa //cPerEng //cVar //cTipo //nTamanho //nDecimal //nPresel //cGSC //cValid //cF3 //cGrpSxg //cPyme //cVar01 //cDef01 //cDefSpa1 //cDefEng1 //cCnt01 //cDef02 //cDefSpa2 //cDefEng2

, , , , , , , , , , , , , , , , , , , , , ,

"" "" "" "" "" "" "" "" "" aHelpPor aHelpEng aHelpSpa "" )

, , , , , , , , , , , , ,

; ; ; ; ; ; ; ; ; ; ; ; ;

//cDef03 //cDefSpa3 //cDefEng3 //cDef04 //cDefSpa4 //cDefEng4 //cDef05 //cDefSpa5 //cDefEng5 //aHelpPor //aHelpEng //aHelpSpa //cHelp

aHelpEng := {"Vendedor Inicial"} aHelpPor := {"Vendedor Inicial"} aHelpSpa := {"Vendedor Inicial"} PutSx1(cPerg "03" "Vendedor de" " " " " "MV_CH3" "C" 6 0 0 "G" " " "SA3" " " " " "MV_PAR03" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" aHelpPor aHelpEng aHelpSpa "" ) , ; ; ; ; ; ; ; ; ; ; ; , ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; //Grupo //cOrdem //cPergunt //cPerSpa //cPerEng //cVar //cTipo //nTamanho //nDecimal //nPresel //cGSC //cValid ; //cF3 //cGrpSxg //cPyme //cVar01 //cDef01 //cDefSpa1 //cDefEng1 //cCnt01 //cDef02 //cDefSpa2 //cDefEng2 //cDef03 //cDefSpa3 //cDefEng3 //cDef04 //cDefSpa4 //cDefEng4 //cDef05 //cDefSpa5 //cDefEng5 //aHelpPor //aHelpEng //aHelpSpa //cHelp

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

aHelpEng := {"Vendedor Final"} aHelpPor := {"Vendedor Final"}

aHelpSpa := {"Vendedor Final"} PutSx1(cPerg "04" "Vendedor ate" " " " " "MV_CH4" "C" 6 0 0 "G" " " "SA3" " " " " "MV_PAR04" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" aHelpPor aHelpEng aHelpSpa "" ) , ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; //Grupo //cOrdem //cPergunt //cPerSpa //cPerEng //cVar //cTipo //nTamanho //nDecimal //nPresel //cGSC //cValid //cF3 //cGrpSxg //cPyme //cVar01 //cDef01 //cDefSpa1 //cDefEng1 //cCnt01 //cDef02 //cDefSpa2 //cDefEng2 //cDef03 //cDefSpa3 //cDefEng3 //cDef04 //cDefSpa4 //cDefEng4 //cDef05 //cDefSpa5 //cDefEng5 //aHelpPor //aHelpEng //aHelpSpa //cHelp

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

aHelpEng := {"Nota Fiscal Inicial"} aHelpPor := {"Nota Fiscal Inicial"} aHelpSpa := {"Nota Fiscal Inicial"} PutSx1(cPerg "05" "Nota Fiscal de" " " " " "MV_CH5" "C" 9 0 0 "G" " " " " " " , ; ; ; ; ; ; ; ; ; ; ; ; ; ; //Grupo //cOrdem //cPergunt //cPerSpa //cPerEng //cVar //cTipo //nTamanho //nDecimal //nPresel //cGSC //cValid //cF3 //cGrpSxg

, , , , , , , , , , , , ,

" " "MV_PAR05" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" aHelpPor aHelpEng aHelpSpa "" )

, , , , , , , , , , , , , , , , , , , , , ,

; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;

//cPyme //cVar01 //cDef01 //cDefSpa1 //cDefEng1 //cCnt01 //cDef02 //cDefSpa2 //cDefEng2 //cDef03 //cDefSpa3 //cDefEng3 //cDef04 //cDefSpa4 //cDefEng4 //cDef05 //cDefSpa5 //cDefEng5 //aHelpPor //aHelpEng //aHelpSpa //cHelp

aHelpEng := {"Nota Fiscal Final"} aHelpPor := {"Nota Fiscal Final"} aHelpSpa := {"Nota Fiscal Final"} PutSx1(cPerg "06" "Nota Fiscal ate" " " " " "MV_CH6" "C" 9 0 0 "G" " " "" " " " " "MV_PAR06" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" , ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; //Grupo //cOrdem //cPergunt //cPerSpa //cPerEng //cVar //cTipo //nTamanho //nDecimal //nPresel //cGSC //cValid //cF3 //cGrpSxg //cPyme //cVar01 //cDef01 //cDefSpa1 //cDefEng1 //cCnt01 //cDef02 //cDefSpa2 //cDefEng2 //cDef03 //cDefSpa3 //cDefEng3 //cDef04 //cDefSpa4 //cDefEng4 //cDef05 //cDefSpa5

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

"" aHelpPor aHelpEng aHelpSpa "" )

, , , , ,

; ; ; ; ;

//cDefEng5 //aHelpPor //aHelpEng //aHelpSpa //cHelp

aHelpPor := {"Digite as Moedas do Titulos separadas por virgula.", "Ex emplo: 4,5"} aHelpEng := {"Digite as Moedas do Titulos separadas por virgula.", "Ex emplo: 4,5"} aHelpSpa := {"Digite as Moedas do Titulos separadas por virgula.", "Exempl o: 4,5"} PutSx1(cPerg "07" "Moedas" " " " " "MV_CH7" "C" 60 0 0 "G" " " " " " " " " "MV_PAR07" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" aHelpPor aHelpEng aHelpSpa "" ) , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; //Grupo ; //cOrdem ; //cPergunt ; //cPerSpa ; //cPerEng ; //cVar ; //cTipo ; //nTamanho ; //nDecimal ; //nPresel ; //cGSC ; //cValid ; //cF3 ; //cGrpSxg ; //cPyme ; //cVar01 ; //cDef01 ; //cDefSpa1 ; //cDefEng1 ; //cCnt01 ; //cDef02 ; //cDefSpa2 ; //cDefEng2 ; //cDef03 ; //cDefSpa3 ; //cDefEng3 ; //cDef04 ; //cDefSpa4 ; //cDefEng4 ; //cDef05 ; //cDefSpa5 ; //cDefEng5 ; //aHelpPor ; //aHelpEng ; //aHelpSpa ; //cHelp

aHelpPor := {"Nome do Arquivo Modelo do Contrato (.dot)"} aHelpEng := {"Nome do Arquivo Modelo do Contrato (.dot)"} aHelpSpa := {"Nome do Arquivo Modelo do Contrato (.dot)"} PutSx1(cPerg "08" "Arquivo Modelo" , ; //Grupo , ; //cOrdem , ; //cPergunt

" " " " "MV_CH8" "C" 30 0 0 "G" " " " " " " " " "MV_PAR08" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" aHelpPor aHelpEng aHelpSpa "" )

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;

//cPerSpa //cPerEng //cVar //cTipo //nTamanho //nDecimal //nPresel //cGSC //cValid //cF3 //cGrpSxg //cPyme //cVar01 //cDef01 //cDefSpa1 //cDefEng1 //cCnt01 //cDef02 //cDefSpa2 //cDefEng2 //cDef03 //cDefSpa3 //cDefEng3 //cDef04 //cDefSpa4 //cDefEng4 //cDef05 //cDefSpa5 //cDefEng5 //aHelpPor //aHelpEng //aHelpSpa //cHelp

aHelpPor := {"Indique o caminho onde sero salvos os contratos.", "Os no mes dos arquivos sero gerados conforme o nmero do Contrato."} aHelpEng := {"Indique o caminho onde sero salvos os contratos.", "Os no mes dos arquivos sero gerados conforme o nmero do Contrato."} aHelpSpa := {"Indique o caminho onde sero salvos os contratos.", "Os nomes dos arquivos sero gerados conforme o nmero do Contrato."} PutSx1(cPerg "09" "Onde Salvar" " " " " "MV_CH9" "C" 80 0 0 "G" " " " " " " " " "MV_PAR09" "" "" , , , , , , , , , , , , , , , , , , ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; //Grupo //cOrdem //cPergunt //cPerSpa //cPerEng //cVar //cTipo //nTamanho //nDecimal //nPresel //cGSC //cValid //cF3 //cGrpSxg //cPyme //cVar01 //cDef01 //cDefSpa1

"" "" "" "" "" "" "" "" "" "" "" "" "" "" aHelpPor aHelpEng aHelpSpa "" )

, , , , , , , , , , , , , , , , , ,

; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;

//cDefEng1 //cCnt01 //cDef02 //cDefSpa2 //cDefEng2 //cDef03 //cDefSpa3 //cDefEng3 //cDef04 //cDefSpa4 //cDefEng4 //cDef05 //cDefSpa5 //cDefEng5 //aHelpPor //aHelpEng //aHelpSpa //cHelp

aHelpPor := {"Indique se os contratos devem ser gerados por:", "Client e ou Cliente + Loja"} aHelpEng := {"Indique se os contratos devem ser gerados por:", "Client e ou Cliente + Loja"} aHelpSpa := {"Indique se os contratos devem ser gerados por:", "Cliente ou Cliente + Loja"} PutSx1(cPerg "10" "Gerar por" " " " " "MV_CHA" "N" 1 0 0 "C" " " " " " " " " "MV_PAR10" "Cliente" "Cliente" "Cliente" "" "Cliente+Loja" "Cliente+Loja" "Cliente+Loja" "" "" "" "" "" "" "" "" "" aHelpPor , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; //Grupo //cOrdem //cPergunt //cPerSpa //cPerEng //cVar //cTipo //nTamanho //nDecimal //nPresel //cGSC //cValid //cF3 //cGrpSxg //cPyme //cVar01 //cDef01 //cDefSpa1 //cDefEng1 //cCnt01 //cDef02 //cDefSpa2 //cDefEng2 //cDef03 //cDefSpa3 //cDefEng3 //cDef04 //cDefSpa4 //cDefEng4 //cDef05 //cDefSpa5 //cDefEng5 //aHelpPor

aHelpEng aHelpSpa "" ) RestArea(aArea) Return(Nil)

, ; //aHelpEng , ; //aHelpSpa , ; //cHelp

Вам также может понравиться