Передача параметра при вызове стандартного отчета

Добрый день! Подскажите пожалуйста как передать параметр при вызове стандартного отчета? Т.к. по умолчанию фильтрация идет по полю ID выделенной в реестре записи. Например стандартный запрос для отчета (счет с НДС)выводящий все продукты связанные с выделенным счетом имеет вид:

SELECT
        [Offering].[Name] AS [Offering],
        [tbl_OfferingInInvoice].[CustomOffering] AS [CustomOffering],
        [tbl_OfferingInInvoice].[Quantity] AS [Quantity],
        [tbl_OfferingInInvoice].[Price] AS [Price],
        [tbl_OfferingInInvoice].[Amount] AS [Amount],
        [tbl_OfferingInInvoice].[BasicAmount] AS [BasicAmount],
        [tbl_OfferingInInvoice].[BasicDiscountAmount] AS [BasicDiscountAmount],
        [tbl_OfferingInInvoice].[BasicPrice] AS [BasicPrice],
        [tbl_OfferingInInvoice].[BasicTaxAmount] AS [BasicTaxAmount],
        [tbl_OfferingInInvoice].[TaxAmount] AS [TaxAmount],
        [Tax].[Name] AS [Tax],
        [Unit].[Name] AS [Unit]
FROM
        [dbo].[tbl_OfferingInInvoice] AS [tbl_OfferingInInvoice]
LEFT OUTER JOIN
        [dbo].[tbl_Offering] AS [Offering] ON [Offering].[ID] = [tbl_OfferingInInvoice].[OfferingID]
LEFT OUTER JOIN
        [dbo].[tbl_Tax] AS [Tax] ON [Tax].[ID] = [tbl_OfferingInInvoice].[TaxID]
LEFT OUTER JOIN
        [dbo].[tbl_Unit] AS [Unit] ON [Unit].[ID] = [tbl_OfferingInInvoice].[UnitID]
WHERE([tbl_OfferingInInvoice].[InvoiceID] = :ID)

А как например передать параметр DocumentID, т.е. к счету привязан документ(в карточке редактирования счета заполнено поле "Документ") и требуется вызвать все продукты связанные с этим документом. Т.е. есть 5 счетов в карточке которых указан один и тот-же документ, список продуктов в каждом счете одинаков( в каждом содержиться продукт A, B и С в различных кол-вах, необходимо получить отчет по общему кол-ву A, B и C)

Нравится

1 комментарий

Здравствуйте, Сергей!

Насколько я понял, Вам необходимо реализовать в отчете дополнительный фильтр по определенному документу.

Что бы это реализовать необходимо:

- запустить Террасофт Администратор;
- найти запрос на выборку [sq_OfferingInInvoice];
- проверить есть ли в запросе подключение к таблице [tbl_InvoiceDocument] по полю ID, если нет — необходимо добавить;
- проверить есть ли фильтр [DocumentID];
- добавить фильтр типа […Name];
- сохранить изменения;
- перейти к источнику данных [ds_OfferingInInvoice] и добавить в нем поле типа справочник.
- сохранить изменения;
- в дереве сервисов найти и открыть на редактирование сервис Fast Report для данного отчета;
- в данном сервисе нажать на кнопку «Установить фильтры»;
- в появившейся форме фильтрации нажать на ссылку, чтобы добавить новое условие фильтрации по ранее созданному полю;
- сохранить изменения.

P.S. Убедитесь, что у данного отчета указа тип фильтрации [Для всех записей].

Terrasoft Support Team

Показать все комментарии