terça-feira, 24 de fevereiro de 2015

Matos Funcao Auto-numeracao

VIDEO - SOBRE FUNCAO MATOS - AUTONUMERACAO










---------------------------------------------------------------------------------------------------------------------
// Summary: <matos_f_auto_numeracao>
// Syntax:
//[ <Result> = ] matos_f_auto_numeracao (<_nome_arquivo> is string, <_nome_campo_numeracao> is string, <_codigo_empresa> is int)
//
// Parameters:
//    _nome_arquivo (ANSI string): <Especifique o Nome do Arquivo>
//    _nome_campo_numeracao (ANSI string): <Especifique o nome do campo a Somar>
//    _codigo_empresa (int): <Se Quizer pegar Ultimo Registro Todas Empresas deixe 0,ou digite Codigo Empresa>
// Return Value:
//     Unspecified Type: //     Retorna_id is int
//
// For instance:
// Indicate an example.
// informando sem empresa Para Achar o id principal de todas empresas
// EDT_id = auto_numeracao("cliente","id_cliente",0)
// o Primeiro Retorno sera o ultimo Codigo do Cliente de Todas as Empresas
// informando com codigo empresa
// EDT_id_2,STC_sql_2) = auto_numeracao("cliente","id_empresa_cliente",EDT_id_Empresa)
// o Primeiro Retorno sera o ultimo Codigo do Cliente somente da Empresa selecionada
// o Segundo Retorno sera o comando Sql utilizado
//    _codigo_empresa (int): <specify the role of n_codigo_empresa>
---------------------------------------------------------------------------------------------------------------------
PROCEDURE matos_f_auto_numeracao(_nome_arquivo is string,_nome_campo_numeracao is string,_codigo_empresa is int)
// exemplo 24 02 2015
// auto_numeracao("clientes","id_cliente")
_data_source is Data Source
_sql is string
_sql = [
    SELECT
    Max(%1.%2) AS ultimo
    FROM
    %1
    %3
]
_condicao is string = ""
IF _codigo_empresa<>0 THEN
   _condicao="where id_empresa="+_codigo_empresa        
END
_sql = StringBuild(_sql,_nome_arquivo,_nome_campo_numeracao,_condicao)
IF HExecuteSQLQuery(_data_source,hQueryDefault,_sql) THEN
    HReadFirst(_data_source)
    RESULT(_data_source.ultimo+1)
ELSE
    RESULT(1)
END

//     RESULT(_data_source.ultimo+1,_sql)

----------------------------------------------------------------------------------------------------------------------

PROCEDURE matos_grava_orcamento()

EDT_Id_orcamento=matos_f_auto_numeracao("orcamento","id_orcamento",0)
EDT_Id_empresa_orcamento=matos_f_auto_numeracao("orcamento","id_orcamento",gnEmpresaCodigo)

//Gravar Orcamento

segunda-feira, 23 de fevereiro de 2015

Windev - Table/ListBox/Combox/ Alterando Cor Texto e Fundo

Assistir Video Windev - Table/ListBox/ComboBox: Alterando cor do texto e fundo
















Array Fixo - Calcular % Parcelas

Assistir Video Windev - Array Fixo: Calcular Parcelas


Eu tenho um campo que informo quantas parcelas tera. Exemplo 2.
Ai tenho de calcular para em cada parcela colocar 50%.
caso eu escolha 3, tenho de verificar, se vai ter diferena.
----------------------------------------------------------------------------------------------
Array Fixed - Calculate% Plots

I have a field to inform how many parcels will have. Example 2.
Ai have to calculate for each plot put 50%.
If I choose 3, I have to check if it will have difference.

----------------------------------------------------------------------------------------------
Matriz Fijo - Calcular% Parcelas

Tengo un campo para informar cuántas parcelas tendrán. Ejemplo 2.
Ai tiene que calcular para cada parcela puso 50%.
Si elijo 3, tengo que comprobar si tendrá diferencia.

----------------------------------------------------------------------------------------------




-------------------------------------------------------------------------------------------------------
IF EDT_Quantidade_parcelas=0 OR EDT_Quantidade_parcelas>10
    Info("Favor Digitar de 1 Até 10 Parcelas")
    SetFocus(EDT_Quantidade_parcelas)
ELSE
    EDT_percentual_1=0
    EDT_percentual_2=0
    EDT_percentual_3=0
    EDT_percentual_4=0
    EDT_percentual_5=0
    EDT_percentual_6=0
    EDT_percentual_7=0
    EDT_percentual_8=0
    EDT_percentual_9=0
    EDT_percentual_10=0       
    _parcelaindividual is int = 0
    _soma_percentuais is currency = 0   
    _diferenca is currency = 0
    _parcelaindividual=100/EDT_Quantidade_parcelas
    arr_Percentuais_condicao is array of 10 int
    FOR nInd=1 TO 10
        arr_Percentuais_condicao[nInd]=0
    END
    FOR nUmero_parcela = 1 TO EDT_Quantidade_parcelas
        arr_Percentuais_condicao[nUmero_parcela]=_parcelaindividual
    END
   
    FOR nUmero_parcela = 1 TO 10 // Pois coloquei Fixo //arr_Percentuais_condicao..Occurrence
        _soma_percentuais+=arr_Percentuais_condicao[nUmero_parcela]
    END
    IF _soma_percentuais=100
    ELSE
        IF _soma_percentuais>100
            _diferenca=_soma_percentuais-100
            arr_Percentuais_condicao[1]-=_diferenca
        ELSE
            _diferenca=100-_soma_percentuais
            arr_Percentuais_condicao[1]+=_diferenca
        END               
    END
    FOR nUmero_parcela = 1 TO 10
        EDT_percentual_1=arr_Percentuais_condicao[1]
        EDT_percentual_2=arr_Percentuais_condicao[2]
        EDT_percentual_3=arr_Percentuais_condicao[3]
        EDT_percentual_4=arr_Percentuais_condicao[4]
        EDT_percentual_5=arr_Percentuais_condicao[5]
        EDT_percentual_6=arr_Percentuais_condicao[6]
        EDT_percentual_7=arr_Percentuais_condicao[7]
        EDT_percentual_8=arr_Percentuais_condicao[8]
        EDT_percentual_9=arr_Percentuais_condicao[9]
        EDT_percentual_10=arr_Percentuais_condicao[10]
    END
END       

------------------------------------------------------------------------------------------------------

Length - String - Tamanho Campo

Length - String - Tamanho Campo

 http://doc.windev.com/?3024031

--------------------------------------------------------------------------------------------------------------
 Blog Relacionados

Manuseio String - Opcoes
Extrai Lado Direito - Right
Extrai Lado Esquerdo - Left
ExtractString - Separar SubString Com Separador  
Funções - Functions
Numero Para String
Tamanho String - Length
Operadores
Preenche Campo - Complet
Retorna sem Branco - NoSpace 
Retirar Blocos
Separador CR
--------------------------------------------------------------------------------------------------------------









String - Left - Extrai Lado Esquerdo

String - Left - Extrai Lado Esquerdo

http://doc.windev.com/?3024001

--------------------------------------------------------------------------------------------------------------
 Blog Relacionados

Manuseio String - Opcoes
Extrai Lado Direito - Right
Extrai Lado Esquerdo - Left
ExtractString - Separar SubString Com Separador  
Funções - Functions
Numero Para String
Tamanho String - Length
Operadores
Preenche Campo - Complet
Retorna sem Branco - NoSpace 
Retirar Blocos
Separador CR
--------------------------------------------------------------------------------------------------------------









String - Right - Extrai Lado Direito

String - Right - Extrai Lado Direito

http://doc.windev.com/?3024016
--------------------------------------------------------------------------------------------------------------
 Blog Relacionados

Manuseio String - Opcoes
Extrai Lado Direito - Right
Extrai Lado Esquerdo - Left
ExtractString - Separar SubString Com Separador  
Funções - Functions
Numero Para String
Tamanho String - Length
Operadores
Preenche Campo - Complet
Retorna sem Branco - NoSpace 
Retirar Blocos
Separador CR
--------------------------------------------------------------------------------------------------------------











Funcoes - String

Funcoes - String

http://doc.windev.com/?3024015

--------------------------------------------------------------------------------------------------------------
 Blog Relacionados

Manuseio String - Opcoes
Extrai Lado Direito - Right
Extrai Lado Esquerdo - Left
ExtractString - Separar SubString Com Separador  
Funções - Functions
Numero Para String
Tamanho String - Length
Operadores
Preenche Campo - Complet
Retorna sem Branco - NoSpace 
Retirar Blocos
Separador CR
--------------------------------------------------------------------------------------------------------------


























Teste

Teste
teste