Вопрос
Дублируется информация при выгрузке из Fast Report
28 февраля 2011 06:44
Здравствуйте, не понятно почему, но при экспорте из отчета FastReport в Excel появляются дублирующиеся строки. При выполнении запроса дубли не появляются. Вот запрос
SELECT
[tbl_Contract].[ContractNumber] AS [ContractNumber],
[tbl_Contract].[CentrIncomeID] AS [CentrIncomeID],
(SELECT TOP 1
[tbl_AccountCommunication].[Number] AS [Number]
FROM
[dbo].[tbl_AccountCommunication] AS [tbl_AccountCommunication]
WHERE([tbl_AccountCommunication].[CommunicationTypeID] IN ('C224AC38-E26F-4460-900C-3FE12F61CF21') AND
[tbl_AccountCommunication].[AccountID] = [tbl_Contract].[CustomerID])) AS [MailNumber],
[tbl_Contract].[DetalisationSend] AS [DetalisationSend],
[tbl_Contract].[ContractTypeID] AS [ContractTypeID],
[tbl_Contract].[SubAgentID] AS [SubAgentID]
FROM
[dbo].[tbl_Invoice] AS [tbl_Invoice]
LEFT OUTER JOIN
[dbo].[tbl_Contract] AS [tbl_Contract] ON [tbl_Contract].[ID] = [tbl_Invoice].[ContractID]
WHERE([tbl_Contract].[ContractTypeID] = 'ED7FD7B2-46A7-4583-8FB4-37356272EB8A' AND
((MONTH(InvoiceDate) = MONTH(DATEADD(MONTH, -1, GETDATE())) AND YEAR(InvoiceDate) = YEAR(DATEADD(MONTH, -1, GETDATE()))) OR
(MONTH(InvoiceDate) = MONTH(GETDATE()) AND YEAR(InvoiceDate) = YEAR(GETDATE()))))
ORDER BY ContractNumber
[tbl_Contract].[ContractNumber] AS [ContractNumber],
[tbl_Contract].[CentrIncomeID] AS [CentrIncomeID],
(SELECT TOP 1
[tbl_AccountCommunication].[Number] AS [Number]
FROM
[dbo].[tbl_AccountCommunication] AS [tbl_AccountCommunication]
WHERE([tbl_AccountCommunication].[CommunicationTypeID] IN ('C224AC38-E26F-4460-900C-3FE12F61CF21') AND
[tbl_AccountCommunication].[AccountID] = [tbl_Contract].[CustomerID])) AS [MailNumber],
[tbl_Contract].[DetalisationSend] AS [DetalisationSend],
[tbl_Contract].[ContractTypeID] AS [ContractTypeID],
[tbl_Contract].[SubAgentID] AS [SubAgentID]
FROM
[dbo].[tbl_Invoice] AS [tbl_Invoice]
LEFT OUTER JOIN
[dbo].[tbl_Contract] AS [tbl_Contract] ON [tbl_Contract].[ID] = [tbl_Invoice].[ContractID]
WHERE([tbl_Contract].[ContractTypeID] = 'ED7FD7B2-46A7-4583-8FB4-37356272EB8A' AND
((MONTH(InvoiceDate) = MONTH(DATEADD(MONTH, -1, GETDATE())) AND YEAR(InvoiceDate) = YEAR(DATEADD(MONTH, -1, GETDATE()))) OR
(MONTH(InvoiceDate) = MONTH(GETDATE()) AND YEAR(InvoiceDate) = YEAR(GETDATE()))))
ORDER BY ContractNumber
Нравится
2 комментария
28 февраля 2011 07:55
Да, есть такой глюк. У меня есть подозрения что это происходит при подкачке данных. Т.е. по умолчанию данные выгружаются партиями по 20 шт. поэтому, когда грузится следующая партия происходит дублирование данных. Я это решил следующим образом. В sq_ и у датасета в ФастРепорте FetchRecordsCount ставлю 99999, больше ФастРепорт не позволяет.
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать