quinta-feira, 30 de outubro de 2014

Ler Empresa_parametro_iss

Ler Empresa_parametro_iss

HReadSeekFirst(empresa_parametro_iss,empresa_parametro_iss.id_empresa, ...
                           TABLE_empresas.COL_id_empresa)
IF HFound(empresa_parametro_iss) THEN
ELSE
END



terça-feira, 21 de outubro de 2014

LISTBOX

LISTBOX

1. Criar Variavel
       gnPrimeiravez_fornecedores is int

2.  Inicializacao tabela
     gnPrimeiravez_fornecedores=0

    Selecting a row Tabela

 IF gnPrimeiravez_fornecedores=0 THEN
   gnPrimeiravez_fornecedores=1
ELSE
   gnProcura_lista = ListSeek(LIST_fornecedores,TABLE_QRY_relatorio_fornecedor.COL_Id_fornecedor)
   IF gnProcura_lista=-1 THEN // nao achou grava
        ListAdd(LIST_fornecedores,TABLE_QRY_relatorio_fornecedor.COL_Id_fornecedor)
    ELSE
        ListDelete(LIST_fornecedores,gnProcura_lista)
    END
END
3. botao de seleciona

FOR ALL SELECTED ROW OF TABLE_QRY_relatorio_fornecedor
    gnProcura_lista = ListSeek(LIST_fornecedores,TABLE_QRY_relatorio_fornecedor.COL_Id_fornecedor)   
    IF gnProcura_lista=-1 THEN // nao achou grava
        ListAdd(LIST_fornecedores,TABLE_QRY_relatorio_fornecedor.COL_Id_fornecedor)
    END
END

4. antes de listar para selecionar
gsFiltro_fornecedor=""

i_quantos is int=0
i_quantos=ListCount(LIST_fornecedores) // numero de elementos

i is int=0
FOR i =1 TO i_quantos
    ListSelectPlus(LIST_fornecedores,i)      // marcando para selecionar
END
FOR ALL SELECTED ROW OF LIST_fornecedores
    gsFiltro_fornecedor+=[","]+LIST_fornecedores..DisplayedValue          
END






ARRAY

ARRAY


sábado, 11 de outubro de 2014

List Box

List Box

//criar listbox
ListAdd(LIST_BOX,"JAN")
ListAdd(LIST_BOX,"FEV")
ListAdd(LIST_BOX,"MAR")
ListAdd(LIST_BOX,"ABR")
ListAdd(LIST_BOX,"MAIO")
ListModify(LIST_BOX,"JAN MODIFICOU",1)
ListDelete(LIST_BOX,2)

//BUSCA UMA SELECAO
nINDEX is int
sRESULTADO is string
nINDEX = ListSelect(LIST_BOX) // INFO(nINDEX) // MOSTRA O NUMERO ONDE ESCOLHEU , NO CASO 2
sRESULTADO=LIST_BOX[nINDEX] // INFO(sRESULTADO) // MOSTRA O RESULTADO DO ESCOLHIDO NO CASO MAR
//BUSCA UMA SELECAO

//BUSCAR VARIOS
nINDEXTODOS is int
nRank is int // rank da selecao
nRank=1
//choice é um vetor de strings contendo as selecoes
arrEscolhas is array of 12 numeric
sFiltro is string

FOR ALL SELECTED ROW OF LIST_BOX
    sFiltro+=[";"]+LIST_BOX..DisplayedValue
END
Info(sFiltro)
//BUSCA






quarta-feira, 8 de outubro de 2014

HexecuteQuery - Percorrer

HexecuteQuery - Percorrer

HexecuteQuery - Insert / Delete

HexecuteQuery - Insert / Delete



Combox ListAdd - Popular

Combox ListAdd - Popular
---------------------------------------------------------------------------------------------------------------
Combox - Editavel
Combox - Ensinando
Combox - Estado Grava Uf
Combox - Limpar informações
Combox - Popular Manualmente
Combox - Selecionar
---------------------------------------------------------------------------------------------------------------




ComBox Selecionar

ComBox
---------------------------------------------------------------------------------------------------------------
Combox - Editavel
Combox - Ensinando
Combox - Estado Grava Uf
Combox - Limpar informações
Combox - Popular Manualmente
Combox - Selecionar
---------------------------------------------------------------------------------------------------------------




HExecuteQuery - Proximo Codigo

HExecuteQuery- Proximo Codigo

QRY_PROXIMO_CAD_GERAL

SELECT
    MAX(cadastro_geral.id_cadastro_geral) AS maximum_id_cadastro_geral
FROM
    cadastro_geral

========================================================================
PROCEDURE proximo_codigo_cadastro_geral()
HExecuteQuery(QRY_proximo_cad_geral,hQueryDefault)
HReadFirst(QRY_proximo_cad_geral)
WHILE NOT HOut
    HReadNext(QRY_proximo_cad_geral)
    RESULT = QRY_proximo_cad_geral.maximum_id_cadastro_geral + 1
END

========================================================================
 ScreenToFile()

// If it's a new record
IF cadastro_geral..NewRecord = True THEN
    cadastro_geral.id_cadastro_geral=proximo_codigo_cadastro_geral()
    HAdd(cadastro_geral)
ELSE
    // Modify it
    HModify(cadastro_geral)
END

========================================================================





terça-feira, 7 de outubro de 2014

HexecuteSqlQuery

HexecuteSqlQuery


// If it's a new record
IF cadastro_geral..NewRecord = True THEN
   
    nProximo_codigo is numeric
    nGnNumeroconexao is int = SQLConnect("localhost","postgres","matos","matos","PostgreSQL")
    ds is Data Source
    sQuery is string = [
        SELECT Max(id_cadastro_geral) FROM cadastro_geral
    ]  
    SQLExec(sQuery,ds)
    WHILE SQLFetch(ds) =  0
        nProximo_codigo=SQLGetCol(ds,1)
    END
    nProximo_// Read the information entered
ScreenToFile()
codigo++
    cadastro_geral.id_cadastro_geral=nProximo_codigo
   
    HAdd(cadastro_geral)
ELSE
    // Modify it
    HModify(cadastro_geral)
END

// Return value of the window
MyWindow..ReturnedValue = True



segunda-feira, 6 de outubro de 2014

Tabela - Form - Alterar ou Excluir

Tabela - Form - Alterar ou Excluir

Caso eu fazer uma tabela por programacao, ou por query
na hora de modificar ou excluir o cadastro tenho de fazer o seguinte:

=================================================================

IF TableSelect(TABLE_cliente)=-1 THEN RETURN

HReset(cliente)
HReadSeekFirst(cliente,id_cliente,TABLE_cliente.COL_IdCliente)
IF HFound(cliente) THEN
    // Open the form of cliente file in modification mode
    Open(WIN_Form_cliente)
    // Refresh the table
    TableDisplay(TABLE_cliente,taCurrentSelection)
END

=================================================================

HReset(cliente)
HReadSeekFirst(cliente,id_cliente,WIN_Table_cliente.COL_IdCliente)
IF HFound(cliente) THEN
   
END




Tabela Manual

Tabela Manual

c is Control
IF ControlExist("TABELA") THEN ControlDelete("TABELA")
c <- ControlCreate("TABELA",typTable,EDT_A,EDT_B,MyWindow..Width-EDT_C,MyWindow..Height-EDT_D)
c..Anchor = anchorHeight + anchorWidth
c..Opacity=95
//MOSTRA OS DADOS DO ARQUIVO EM TABELA
//BuildBrowsingTable("TABELA",cliente,taFillTable+taItemCaption)
QRY_RECEBER_VENCIDAS.Param_id_empresa=1//gnEmpresaCodigo
QRY_RECEBER_VENCIDAS.Param_data_hoje=dAta_hoje
HExecuteQuery(QRY_RECEBER_VENCIDAS)
BuildBrowsingTable("TABELA",QRY_RECEBER_VENCIDAS,taFillTable+taItemCaption)
cySoma is currency = 0
TableSort("TABELA","-_COL2")
{"TABELA"}..TotalsEnabled = True
FOR EACH ROW OF {"TABELA"}
    cySoma += {"_COL3"}..Value   
END
TableAddLine(c,"Total->","",cySoma)

sábado, 4 de outubro de 2014

Camera Capturar

Camera Capturar

Tabela Cor

Tabela Cor

Tabelas Filtros HFilter

Tabelas Filtros HFilter


Email - verificar

Email - verificar


Configura Impressora Manual

Configura Impressora Manual

Exporta Txt/Excel/Word/Xml

Exporta Txt/Excel/Word/Xml

 C:\WinDev 19\Examples\Training\WD Export table\Exe


Compilacao Dinamica - Fazer comandos fora do compilador

Compilacao Dinamica - Fazer comandos fora do compilador

sexta-feira, 3 de outubro de 2014

Arquivo Importacao generico

Arquivo Importacao generico


Tabela Query Consulta Usando duas consultas e uma declaracao case

Tabela Query Consulta Usando duas consultas e uma declaracao case

TableToArray - Funcao para copiar colunas da tabela a matriz estruturada

TableToArray - Funcao para copiar colunas da tabela a matriz estruturada

http://www.thenextage.com/wordpress/uncle-petes-corner-tabletoarray-function-to-copy-table-columns-to-structured-array/#more-2101


Usando Xml para Armazenar em opcoes de bancos

Usando Xml para Armazenar em opcoes de bancos

http://www.thenextage.com/wordpress/uncle-petes-corner-using-xml-to-store-options-in-database-instead-of-individual-field
s/#more-2122

Array

Array

http://www.thenextage.com/wordpress/uncle-petes-corner-structured-arrays-primer-part-1/#more-2151

Select Windev filtrando por empresa - HExecuteSQLQuery

Select Windev filtrando por empresa - HExecuteSQLQuery

ds is Data Source
IF EDT_Codigo_Empresa>0 THEN
    HExecuteSQLQuery(ds,"delete from bancos where id_empresa="+EDT_Codigo_Empresa)   
END


quarta-feira, 1 de outubro de 2014

CLONAR TABELA - FAZER RESUM VARIOS ANOS

CLONAR TABELA - FAZER RESUM VARIOS ANOS


CRIAR UMA WINDOW VAZIA
   COM NOME DE

CRIAR UMA QUERY QUE VAI PREENCHER O LIST BOX DOS ANOS
    ( sql code) = QRY_CLONE_PEDIDO
     == MANUAL PGADMIN =
        SELECT DISTINCT TO_CHAR(DATA_EMISSAO,'YYYY') AS ANO FROM PEDIDO WHERE ID_EMPRESA=3

SELECT DISTINCT
      LEFT(duplicata_pagar.data_vencimento,4) AS ano
      FROM duplicata_pagar
      WHERE duplicata_pagar.id_empresa={PARAM_ID_EMPRESA}
      ORDER BY ano DESC


CRIAR UMA LIST BOX  ( LIST_CLONE_ANO_PEDIDO )
   ENTRAR EM CREATION
      ESCOLHA LIST BOX
           ESCOLHA BY PROGRAMMING
              ESCOLHA MULTI-SELECTION
                 NOME DO LIST BOX
                  
   LIST BOX
     CO O BOTAO DIREITO CODE
         QRY_CLONE_ORDEM_COMPRA.PARAM_ID_EMPRESA=gnEmpresaCodigo
       
     COM O BOTAO DIREITO ENTRE EM DESCRIPTION
        VA EM CONTENT
             ESCOLHA FILE/QUERY
                 ESCOLHA A QUERY QUE FOI CRIADA POR ANO
                    JA PODE TESTAR
           
CRIAR UM BOTAO  Gerar Informações
                      
CRIAR UMA TABELA
  CREATION
     TABLE
        TABLE VERTICAL
  
  CRIE COM DUAS COLUNAS
    UMA MES TEXTO
    UMA ANO CURRENCY

    NA TABELA EXPANDIR ANO

CRIAR UMA QUERY_PARA CALCULAR VALORES
  QRY_CLONE_DADOS_ANO_DUP_REC
    COLOQUE ANO E MES 
       PARA ANO E MES USE CALCULATED ITEM
          ANO = LEFT(DUPLICATA_RECEBER.DATA_VENCIMENTO,4)
          MES = SUBSTR(DUPLICATa_RECEBER.DATA_VENCIMENTO,5,2)
    FACA SUM VALOR TITULO
    ANO E MES EM ORDEM
    ANO, FILTRO
       IS IN THE LIST (DENTRO DA LISTA)
       SUPPPLIED BY THE PARAMETER (FORNECIDO POR PARAMETRO)
     
COMANDOS QUE IRA NO BOTAO DE GERAR INFORMACOES
===================================
IF ListSelectCount(LIST_CLONE_ANO_ORDEM_COMPRA) = 0 THEN  // ELE VAI VERIRICAR SE FOI SELECIONADO ANO ANO //  SE NAO VAI RETORNARIF ListSelectCount(LIST_CLONE_ANO_DUP_PAG) = 0 THEN
    Error("Selecione um ou mais Anos")
    RETURN
END
TableDeleteAll(TABLE_CLONE_ORDEM_COMPRA)  // ELIMINE OS DADOS CONTIDOS NA TABELA
TABLE_CLONE_ORDEM_COMPRA.COL_ano..Visible=True  // TORNAR A COLUNA ANO VISIVEL
sFiltroano is string
FOR i = TableCount(TABLE_CLONE_ORDEM_COMPRA,toColumn) TO 3 STEP -1   // eliminar as colunas criadas anteriormente
    ControlDelete(TableEnumColumn(TABLE_CLONE_ORDEM_COMPRA,i))
END
FOR ALL SELECTED ROW OF LIST_CLONE_ANO_ORDEM_COMPRA   //criar as colunas conforme escolhida pelo usuario
    ControlClone(TABLE_CLONE_ORDEM_COMPRA.COL_ano,"Ano" + LIST_CLONE_ANO_ORDEM_COMPRA..DisplayedValue)
    {"Ano" + LIST_CLONE_ANO_ORDEM_COMPRA..DisplayedValue,indControl}..Caption = LIST_CLONE_ANO_ORDEM_COMPRA..DisplayedValue
    sFiltroano+=[";"]+LIST_CLONE_ANO_ORDEM_COMPRA..DisplayedValue  // SEPARADOR PONTO E VIRGULA ;
END
TABLE_CLONE_ORDEM_COMPRA..Visible=True   //tornar visivel tabela
TABLE_CLONE_ORDEM_COMPRA.COL_ano..Visible=False  //nao mostrar ano tabela
FOR i=1 TO 12  //adciona uma linha por mes
    TableAddLine(TABLE_CLONE_ORDEM_COMPRA,Upper(MonthNumberInAlpha(i)))
END
QRY_CLONE_DADOS_ANO_ORDEM_COMPRA.Param_id_empresa=gnEmpresaCodigo
QRY_CLONE_DADOS_ANO_ORDEM_COMPRA.Param_ano = sFiltroano    //EXECUTA A QUERY PARA APRESENTAR OS DADOS
HExecuteQuery(QRY_CLONE_DADOS_ANO_ORDEM_COMPRA)
FOR EACH QRY_CLONE_DADOS_ANO_ORDEM_COMPRA
    {"Ano"+ QRY_CLONE_DADOS_ANO_ORDEM_COMPRA.ano,indControl}[QRY_CLONE_DADOS_ANO_ORDEM_COMPRA.mes] = QRY_CLONE_DADOS_ANO_ORDEM_COMPRA.sum_valor_total
END
nAconragem is int = Round(1000/ListSelectCount(LIST_CLONE_ANO_ORDEM_COMPRA)) //O Tamanho das colunas é adaptado automaticamente pela definiçao de ancoragem das colunas
TableAdjust(TABLE_CLONE_ORDEM_COMPRA)
FOR ALL SELECTED ROW OF LIST_CLONE_ANO_ORDEM_COMPRA
    {"Ano" + LIST_CLONE_ANO_ORDEM_COMPRA..DisplayedValue,indControl}//..AnchorRateRight = nAconragem
END
====================================






   



































Teste

Teste
teste