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

Nenhum comentário:

Postar um comentário

Teste

Teste
teste