Имя: Пароль:
1C
1С v8
Настройка параметра периода в СКД
,
0 dextermorgan777
 
28.04.15
12:16
Добрый день. Делал отчет на скд, в табличной части часть колонок выводиться за один период (итогом за месяц текущий), часть колонок за другой период (выбирает пользователь).
На форме пользователю доступен только второй период.


Для пользователя создал параметр ПериодОтгрузки. В запрос использую параметры НачалоПериода, КонецПериода. На вкладке параметров заполняю их так: в НачалоПериода передаю &ПериодОтгрузки.ДатаНачала , а в КонецПериода передаю КонецПериода(&ПериодОтгрузки.ДатаОкончания,"День").

Но есть один момент, когда на форме снимаем галку на периоде, то пользователь хочет чтобы колонки по второму периоду не выводились (т.к. период для них теперь не задан), а остались только колонки с данными по текущему месяцу. Но отчет выводит колонки за весь период.

Вот когда галка включена
http://firepic.org/images/2015-04/28/vev2n9mk0mua.png

Вот когда отключена
http://firepic.org/images/2015-04/28/d8j8flv91l4f.png
Надо чтобы колонки с месяцами в таком случае пропали.

Подскажите что надо сделать для этого. Спасибо за советы.
1 dextermorgan777
 
28.04.15
14:01
Никто не подскажет?
2 Teresa
 
28.04.15
14:04
(0) самое простое, можно сделать два отчета - с разным набором колонок и выводить разные отчеты в зависимости от настроек формы.
3 боксер
 
28.04.15
14:07
в запросе , там где за другой период поставь условие =ложь если не задан период
4 dextermorgan777
 
28.04.15
14:09
(2) тут еще хотелось бы понять почему себя так ведет отчет. Когда пробовал просто НачалоПериода и КонецПериода выводить на форму и их не заполнял. То тогда ругалось что не заполнены параметры. А тут я вывел третий параметр из которого передаю значения в те 2. Его не заполняю, мне ошибок не выскакивает так еще и за весь период выводит. Может что-то на вкладке параметры надо еще настраивать?
5 dextermorgan777
 
28.04.15
14:10
(3) не совсем понял
6 боксер
 
28.04.15
14:12
где текст запроса?
7 боксер
 
28.04.15
14:14
ну у тебя два запроса? в одном за текущий период, в другом за нужный который и надо не выводить? вот во втором если не задан параметр в условие поставить где ложь и тогда не будет данных по второму периоду
8 dextermorgan777
 
28.04.15
14:32
ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(ЕСТЬNULL(ВыручкаИСебестоимостьПродажОбороты.Период, &НачалоПериода), МЕСЯЦ) КАК Месяц,
    ВтПартнеры.Ссылка КАК Партнер,
    ВыручкаИСебестоимостьПродажОбороты.Регистратор КАК ТТН,
    ВтПартнеры.СтатическаяКатегория КАК СтатическаяКатегория,
    ЕСТЬNULL(ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот, 0) КАК СуммаОтгрузки,
    ВтПартнеры.ОсновнойПартнер КАК ОсновнойПартнер,
    ВтПартнеры.ОсновнойМенеджер КАК ОтветственныйМенеджер,
    ЕСТЬNULL(СуммыОстатковПартнеровСрезПоследних.СуммаОстаток, 0) КАК СуммаОстаток
ИЗ
    ВтПартнеры КАК ВтПартнеры
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыОстатковПартнеров.СрезПоследних({(&ПериодОстаток)}, ) КАК СуммыОстатковПартнеровСрезПоследних
        ПО ВтПартнеры.Ссылка = СуммыОстатковПартнеровСрезПоследних.Партнер
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&НачалоПериода, &КонецПериода, Регистратор, ) КАК ВыручкаИСебестоимостьПродажОбороты
        ПО (ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер = ВтПартнеры.Ссылка)
9 dextermorgan777
 
28.04.15
14:33
ВтПартнеры  это временная таблица, я туда сначала всех нужных партнеров отобрал
10 боксер
 
28.04.15
14:43
"Но отчет выводит колонки за весь период." ну, все правильно, галка снята значит за весь период и выводит.
я бы в модуле отчета в процедуре ПриКомпоновкеРезультата()
программно в таком случае задал период за текущий месяц
11 боксер
 
28.04.15
14:45
или разбить запрос на два в каждом по два своих параметра периода
12 Teresa
 
28.04.15
14:47
(11) проще первый способ, я бы так сделала.
13 dextermorgan777
 
28.04.15
14:50
Спасибо за ответы. Я чуть позже попробую сделать по вашим рекомендациям, пока отойти надо на время.
14 SUA
 
28.04.15
14:56
2 варианта это а не 2 отчета
15 Teresa
 
28.04.15
15:01
(14) ну да, я это и имела ввиду, но в свете вышеизложенного проще (10)
16 dextermorgan777
 
30.04.15
13:23
Задача отпала) Сказали что и так устроит)
17 Лефмихалыч
 
30.04.15
13:41
(0) колонки в группу объедини, группу - в пользовательские настройки с представлением "Выводить вот эту фигню".
Всё. Включешь галку на пользовательской настройке - есть колонки. Выключаешь - нет колонок