Bom dia, alguém sabe me dizer qual é o motivo da campo "version" nas tabelas no SQL Server onde o Fluig grava os dados da tabela pai x filho?
Aparentemente ele sempre incrementa esse número de versão a cada vez que o processo é salvo. Estou fazendo algumas consultas diretamente no banco de dados e gostaria de saber se posso usar de regra, pegar o MAX(version) dos registros.
Abaixo segue um exemplo de consulta que estou fazendo diretamente no banco de dados:
SELECT DISTINCT
(RTRIM(DADOSFORM.NUMSOLICITACAO) + RTRIM(DADOSREQ.compCodFornecedor) + RTRIM(DADOSREQ.compCodCondicaoPagamento) + RTRIM(DADOSREQ.compCodTransportadora)) chave,
RTRIM(DADOSREQ.recCodProduto) codpro,
--DADOSREQ.recProduto,
RTRIM(DADOSREQ.RECCODCENTROCUSTO) c_custo,
--DADOSREQ.RECPOSSIVELCENTROCUSTO,
RTRIM(DADOSREQ.CONCODCONTACONTABIL) c_contabil,
--DADOSREQ.CONCONTACONTABIL,
RTRIM(DADOSREQ.CONCODITEMCONTABIL) i_contabil,
--DADOSREQ.CONITEMCONTABIL,
RTRIM(DADOSREQ.RECGESTOR) gestor,
RTRIM(DADOSREQ.compObs) obs,
RTRIM(DADOSREQ.compCodFornecedor) fornecedor,
RTRIM(DADOSREQ.compCodCondicaoPagamento) condpag,
RTRIM(DADOSREQ.compFrete) tp_frete,
RTRIM(DADOSREQ.compCodTransportadora) transp,
ROUND(CONVERT(FLOAT, DADOSREQ.compValorFrete),2) vlr_frete,
ROUND(CONVERT(FLOAT, DADOSREQ.COMPQUANTIDADE),2) qt_comprada,
RTRIM(DADOSREQ.COMPDTENTREGA) dt_entrega,
ROUND(CONVERT(FLOAT, DADOSREQ.compValorUnitario),2) vlr_unitario,
ROUND(CONVERT(FLOAT, DADOSREQ.COMPIPI),2) perc_ipi,
ROUND(CONVERT(FLOAT, DADOSREQ.compValorIpi),2) vlr_ipi,
ROUND(CONVERT(FLOAT, DADOSREQ.compValorTotal),2) vlr_total
/*,
DADOSREQ.*,
*/
--SUM(CONVERT(FLOAT, DADOSREQ.COMPQUANTIDADE) * CONVERT(FLOAT, DADOSREQ.COMPVALORUNITARIO))
--SUM(CONVERT(FLOAT, DADOSREQ.COMPVALORTOTAL))
--CONVERT(FLOAT, DADOSREQ.COMPVALORTOTAL) VALOR
--max(dadosreq.version) Vr
--CONVERT(FLOAT, DADOSREQ.COMPVALORUNITARIO)
FROM
FLUIG.DBO.ML001102 DADOSFORM WITH(NOLOCK)
INNER JOIN FLUIG.DBO.ML001105 DADOSREQ WITH(NOLOCK) ON
DADOSREQ.DOCUMENTID = DADOSFORM.DOCUMENTID
WHERE
NUMSOLICITACAO = $numeroRequisicao AND
(RTRIM(DADOSFORM.NUMSOLICITACAO) + RTRIM(DADOSREQ.compCodFornecedor) + RTRIM(DADOSREQ.compCodCondicaoPagamento) + RTRIM(DADOSREQ.compCodTransportadora)) = $chave AND
DADOSREQ.version = (
select max(version) from FLUIG.DBO.ML001105 vr where vr.documentid = DADOSFORM.documentid
)
Outra dúvida, o registro é removido do banco de dados também quando deletado da tabela pai x filho no form?