отчет
Передача параметра
Отчёты
Разработка

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

Добрый день! Подскажите пожалуйста как передать параметр при вызове стандартного отчета? Т.к. по умолчанию фильтрация идет по полю 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

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