Имя: Пароль:
1C
1С v8
параметры СКД, заполнение одного из значения другого
,
0 Sychov10
 
02.06.15
18:31
Добрый вечер! Пытаюсь познать СКД и столкнулся с такой проблемой, даже не знаю как в поиске нормально задать вопрос... все не то выдает...
Суть вопроса:
Есть отчет (не важно какой) у него есть три параметра

ДатаНачала, ДатаКонец, ОтчетныйПериод (эл. справочника с двумя реквизитами,датаНачалоПериода и датаКонецПериода)

Как и где в настройках отчета указать что если выбран параметр №3 То
параметр1 = датаНачалоПериода
параметр2 = датаКонецПериода

Всю голову сломал... Формы у отчета нет.
Выражением в параметрах думал, пишет не найден параметр...
Вобщем подскажите плиз!
Поиском ничего толкового не нашел. все сложно... а я только пытаюсь)
1 Sychov10
 
02.06.15
18:32
если выбран параметр №3 То
параметр1 = датаНачалоПериода (взять из выбранного параметра3)
параметр2 = датаКонецПериода (взять из выбранного параметра3)
2 echo77
 
02.06.15
20:11
в выражение писануть: НачалоПериода(&Параметр3, "Месяц") - или что вы там хотите получить?
3 echo77
 
02.06.15
20:13
(0) или Выбор КОГДА ЗначениеЗаполнено(&ОтчетныйПериод) ТОГДА
    ОтчетныйПериод.датаНачалоПериода
КОНЕЦ

Очень важный момент - тип значения для параметра ОтчетныйПериод необходимо определить
4 ШтушаКутуша
 
02.06.15
21:31
ну так в параметрах, кажись в выражениях и укажи &Период.ДатаНачала,&Период.ДатаОкончания соответственно и сделай их "датаНачалоПериода,датаКонецПериода" ограниченными,
пусть выбирается только Период
5 Sychov10
 
03.06.15
10:01
(3)
Если в поле выражение для параметра "ДатаНачала" я указываю

Выбор КОГДА ЗначениеЗаполнено(&ОтчетныйПериод) ТОГДА ОтчетныйПериод.НачалоОтчетногоПериода КОНЕЦ

пишет что поле не найдено "ОтчетныйПериод.НачалоОтчетногоПериода"
6 Defender aka LINN
 
03.06.15
10:03
(0) Я так понимаю, за написание кода руками у вас 10 лет строгого расстрела положено?
7 Sychov10
 
03.06.15
10:04
(6) всмысле? )
8 Sychov10
 
03.06.15
10:04
(6)
имеется ввиду вписать в запрос?
9 Defender aka LINN
 
03.06.15
10:06
(8) Я где-то сказал слово "запрос"?
10 Sychov10
 
03.06.15
10:08
(9) мне догадываться что ты имел ввиду? Или по делу или зачем тогда вообще писать?
11 Sychov10
 
03.06.15
10:54
Есть у у Вас еще мысли?
12 Defender aka LINN
 
03.06.15
11:17
(10) Ну, если с "догадаться" так туго, то скажу прямо: напиши код.
13 sapphire
 
03.06.15
11:31
+(4)
Имеем
ОтчетныйПериод
ДатаНачала - выражение &ОтчетныйПериод.датаНачалоПериода
ДатаКонец - выражение &ОтчетныйПериод.датаКонецПериода
14 Sychov10
 
03.06.15
11:40
(13)

Да пробовал я так.....
Параметр не найден "&ОтчетныйПериод.НачалоОтчетногоПериода"

Хотя в параметрах он есть...
15 sapphire
 
03.06.15
11:43
(14) параметр точно так указан?
16 Sychov10
 
03.06.15
11:45
(15)
Параметр указан как "ОтчетныйПериод" (тип - справочники - отчетные периоды)
17 Sychov10
 
03.06.15
13:18
Спецы! Где вы?
18 echo77
 
03.06.15
13:54
(3) Не работает так. Попробуйте при компоновке результата установить значения параметров в зависимости от значения &Параметр3
19 luch
 
03.06.15
14:00
если правильно понял в СКД на закладке Параметры для
параметр1  в строке выражение пишеш  &Период.ДатаНачала

Параметр 2 в выражении  &Период.ДатаОкончания


ну и твой  параметра 3 - Период с Типом СтандартныйПериод
20 echo77
 
03.06.15
14:05
(19) нет,у него период с типом СправочникСсылка
21 Sychov10
 
03.06.15
14:08
(19) Да, именно так....
22 Sychov10
 
03.06.15
14:11
сорри для(20)

Читал кто нужно в запросе добавить этот справочник, тогда через точку можно добраться до его реквизитов....
Да, не ругается. Но в момент формирования - ошибка на То что в параметрах прописываю...
перепробовал уже черт знает что.... а ведь должно же быть просто! Это же мелочь!
23 echo77
 
03.06.15
14:28
А нельзя в программе так написать?

Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ОтчетныйПериод"));
НачПериода = Параметр.Значение.ДатаНачала;
КонПериода = Параметр.Значение.ДатаКонца;

Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
Параметр.Использование = Истина;
Параметр.Значение = НачПериода ;

Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
Параметр.Использование = Истина;
Параметр.Значение = КонПериода;
24 Sychov10
 
03.06.15
14:42
(23) Работает! Это у меня был самый последний вариант...

Расчитывал на работу конструктора! Ну пусть будет так!

Найдется другой вариант - буду Выбирать!


Спасибо echo77 и всем кто высказался по теме!