|
|||||||||||||||
As colunas calculadas são criadas em Argow especificando:
Concatenação de camposNesta notação, as colunas da tabela estão disponíveis para as quatro operações básicas, sem usar parêntesis. Tem como principal vantagem a velocidade de calculo, que é feito a baixo nível, sem criação de script. As colunas com valor NULL são consideradas 0 (zero), "" (vazias), etc. No exemplo abaixo, as diversas colunas de um endereço são concatenadas: LOGRADOURO + ', ' + NUMERO + #13 + #10 + CEP + ' - ' + CIDADE Lembrar que o sinal de decimal é representado por ponto (sempre antecedido de um número): VALOR_TOTAL * 1.4 Quando uma tabela tem chave primária composta (dicTable.primaryKey), Argow cria uma coluna dtString concatenando os valores, chamada AR_PrimaryKey. In-lineNeste caso o script, que está em dicField.Formula, deve conter uma função com o mesmo nome que dicField.FieldName que retorna um valor do tipo dicField.dataType (ou variant). Para ser reconhecida como in-line a primeira palavra do texto deve ser function. Para retornar NULL, atribua sf.abortRequested:= true. No exemplo, uma coluna string, informa o status dos clientes:
function status(): string; Notação rápidaA notação rápida simplifica a especificação do código. Internamente, a linha informada em dicField.Formula é transformada no seguinte script: {$I {configuração global SCRIPT_INCLUDE} } Ao igual que na concatenação de campos, as colunas com valor NULL, são consideradas 0 (zero), "" (vazias), etc. Para retornar NULL, atribua sf.abortRequested:= true. ReferênciaNesta notação o valor de dicField.Formula e uma referência à tabela dicScript, com a seguinte notação: scriptName[.functionName] Onde scriptName é uma entrada em dicScript, e functionName é a função, contida em dicScript.scriptBody, que retorna um valor do tipo dicField.dataType e não recebe parâmetros. Se functionName não for especificado, será utilizado dicField.fieldName. Para retornar NULL, atribua sf.abortRequested:= true. | |||||||||||||||
© 2008−2014 Argow |