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
====================================






   



































ANO - LEFT - ESCOLHER SOMENTE ANO DUMA DATA

ANO - LEFT - ESCOLHER SOMENTE ANO DUMA DATA

PARA ESCOLHER SOMENTE O ANO, USE A FUNCAO LEFT

LEFT(duplicata_receber.data_vencimento,4)



terça-feira, 9 de setembro de 2014

Windev Cnpj formatado Tabela


Windev Cnpj formatado Tabela

------------- empresa------------
IF Val(TABLE_empresa.COL_jud_fis)=1 THEN // se for juridica
    //TABLE_empresa.COL_IdInscricao_cnpj_cpf..DisplayMask = "99.999.999.9999-99" // nao funciona
    TABLE_empresa.COL_IdInscricao_cnpj_cpf = Left(TABLE_empresa.COL_IdInscricao_cnpj_cpf,2) + "." + Middle(TABLE_empresa.COL_IdInscricao_cnpj_cpf,3,3) + "." + Middle(TABLE_empresa.COL_IdInscricao_cnpj_cpf,6,3) + "." + Middle(TABLE_empresa.COL_IdInscricao_cnpj_cpf,9,4) + "-" + Middle(TABLE_empresa.COL_IdInscricao_cnpj_cpf,13,2)
END

-------- CADASTRO GERAL -----
IF Val(TABLE_cadastro_geral.COL_Juridica_Fisica)=1 THEN // se for juridica
    TABLE_cadastro_geral.COL_IdInscricao_cnpj_cpf = Left(TABLE_cadastro_geral.COL_IdInscricao_cnpj_cpf,2) + "." + Middle(TABLE_cadastro_geral.COL_IdInscricao_cnpj_cpf,3,3) + "." + Middle(TABLE_cadastro_geral.COL_IdInscricao_cnpj_cpf,6,3) + "." + Middle(TABLE_cadastro_geral.COL_IdInscricao_cnpj_cpf,9,4) + "-" + Middle(TABLE_cadastro_geral.COL_IdInscricao_cnpj_cpf,13,2)
END

------  FORNECEDOR --------------
IF Val(TABLE_fornecedor.COL_tipo_jur_fis)=1 THEN // se for juridica
    TABLE_fornecedor.COL_IdInscricao_cnpj_cpf = Left(TABLE_fornecedor.COL_IdInscricao_cnpj_cpf,2) + "." + Middle(TABLE_fornecedor.COL_IdInscricao_cnpj_cpf,3,3) + "." + Middle(TABLE_fornecedor.COL_IdInscricao_cnpj_cpf,6,3) + "." + Middle(TABLE_fornecedor.COL_IdInscricao_cnpj_cpf,9,4) + "-" + Middle(TABLE_fornecedor.COL_IdInscricao_cnpj_cpf,13,2)
END




segunda-feira, 8 de setembro de 2014

Windev Coluna Valor em Branco

x
Como faco para ficar em branco, quando o valor for zero, estou usando current


Quando você configura uma coluna como Currency mesmo que passe um valor nulo (0 ou " "), será exibido a string "$ 0,00".

Se você não quer que um valor nulo seja exibido, a solução é configurar a coluna como Text e tratar por conta própria a exibição dos dados na coluna.

No evento Displaying a row of Table insira o código:

Código: [Selecionar]
IF Val(Tabela[Tabela].ColunaDesejada) = 0 then
   Tabela[Tabela].ColunaDesejada = ""
ELSE
   Tabela[Tabela].ColunaDesejada = NumToString(Val(Tabela[Tabela].ColunaDesejada),"10,2fS")
END








Teste

Teste
teste