|
Передача параметра в отчет на СКД | ☑ | ||
---|---|---|---|---|
0
RedTop
15.02.16
✎
05:35
|
Необходимо передать параметр из Документа в Отчет, написанный на СКД (т.е. кроме СКД в нем ничего нет).
Параметр - ссылка на сам документ. В кнопке вызова отчета, из модуля формы документа код: &НаКлиенте Процедура ПоказатьБазуРаспределения(Команда) ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить("Ссылка", Объект.Ссылка); ОткрытьФорму("Отчет.РасшифровкаДопУслуг.Форма.ФормаОтчета", ПараметрыФормы); КонецПроцедуры В форме модуля отчета: &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Параметр = ЭтаФорма.Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Ссылка")); Параметр.Значение = Параметры.Ссылка; КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) Параметр = ЭтаФорма.Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Ссылка")); КонецПроцедуры На закладке Параметры, в СКД, добавлен этот параметр "Ссылка" с типом документа... И нифига СКД не хватает этот параметр... Подскажите, куда чего дописать? |
|||
1
Михаил 1С
15.02.16
✎
06:58
|
(0) "Параметр.Значение = Параметры.Ссылка;"
А ты попробуй еще написать Параметр.Использование = Истина; |
|||
2
RedTop
15.02.16
✎
07:08
|
не помогает (
|
|||
3
Михаил 1С
15.02.16
✎
07:38
|
А ты когда запускаешь СКД, то, если нажмешь потом "Настройка", то твой параметр заполнен? Или он остался пустым?
|
|||
4
ЧеловекДуши
15.02.16
✎
07:43
|
(0) Используй при загрузки варианта или как-то так. :)
|
|||
5
RedTop
15.02.16
✎
07:48
|
Он "запоминает" то что я в него вручную сую.
Однако если &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Параметр = ЭтаФорма.Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Ссылка")); Параметр.Значение = Параметры.Ссылка; сообщить(Параметр.значение); <<<<--- НАПИСАТЬ ВОТ ЭТОООООООООООО КонецПроцедуры то будет именно моя передаваемая ссылка! Но она зараза никак не хочет залезть в параметры СКД |
|||
6
RedTop
15.02.16
✎
07:50
|
вот сюда не лезит:
https://i.gyazo.com/c135052cbbbefb63f0da68a48bb735f0.png |
|||
7
Михаил 1С
15.02.16
✎
07:54
|
(6) Это ты конфигуратор показываешь.
Интересно видеть уже в "1С: Предприятии" - нажми там кнопку "настройка", вкладка Параметры - и посмотри что стоит в этом параметре? Кстати, а вот в конфигураторе, в том окне, где ты показал - должна стоять галка "Включать в доступные поля" и не стоять галка "Ограничение использования". |
|||
8
Михаил 1С
15.02.16
✎
07:55
|
(5) Я у себя использую такой код:
КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Дата").Значение = Дата; КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Дата").Использование = Истина; |
|||
9
RedTop
15.02.16
✎
08:09
|
"Кстати, а вот в конфигураторе, в том окне, где ты показал - должна стоять галка "Включать в доступные поля" и не стоять галка "Ограничение использования"."
Да. все так. https://i.gyazo.com/10a4926e4249a8524aea2e02a40ad79e.png " Я у себя использую такой код: КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Дата").Значение = Дата; " Но ведь это "не внешний" параметр? у меня он идет из документа. Хотя конечно какая разница.. Но не работает хоть тресни... ( |
|||
10
Михаил 1С
15.02.16
✎
08:41
|
(9) Ты знаешь, наверное надо заполнять параметр в ПриОткрытии(). Я еще не спец в запуске СКД из управляемой формы. Но раз у тебя не выскакивает ошибки, но параметр остался пустым, то попробуй заполнять его в ПриОткрытии(). У меня там работает.
Наверняка ты не сможешь добраться до Параметров формы на клиенте. Чтож, подумай как это обойти :) Если не получится - спроси, я скажу. |
|||
11
Михаил 1С
15.02.16
✎
08:42
|
(10) "У меня там работает" - это в обычных формах. Но должно быть одинакого.
//может быть СКД инициализируется перед запуском ПриОткрытии(). |
|||
12
RedTop
15.02.16
✎
11:35
|
я понял в чем разница в наших примерах.
У вас параметр то "рождается" уже в форме скд. А у меня передается из стороннего документа. Собственно вопрос до сих пор актуальный, как передать параметр? ( |
|||
13
ИС-2
naïve
15.02.16
✎
11:50
|
(12) как понимаю параметр передался, но отчет не работает? Не знаю как выглядит отчет, но попробуй
КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Ссылка",параметры.ссылка); если выдаст ошибку, то надо добавить параметр в компоновщик настроек |
|||
14
RedTop
15.02.16
✎
12:05
|
Ошибку не выдает... но параметр на форме отчета остается не заполненным (
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Параметр = ЭтаФорма.Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Ссылка")); ЭтаФорма.Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Ссылка",параметры.ссылка); ЭтаФорма.Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Ссылка").Использование = Истина; //Параметр.Использование = Истина; Параметр.Значение = Параметры.Ссылка; //Параметры.СформироватьПриОткрытии = Истина; //сообщить(Параметр.значение); // БЕЗ ПРОБЛЕМ ВЫСВЕТИТ МОЮ ССЫЛКУ КонецПроцедуры |
|||
15
RedTop
15.02.16
✎
14:04
|
хелп плиз (
|
|||
16
Михаил 1С
18.02.16
✎
13:43
|
(12) Да нет никакой разницы в наших задачах! Она только в том, что у меня Обычные формы, а у тебя УФ.
Какая разница откуда у тебя берется значение параметра? Я тоже делал отчеты, запускаемые из документов, СКД работала как надо. Сделай так как я сказал в (10), и напиши что будет. То есть - посылай параметр в процедуре ПриОткрытии(). И используй код, который дал я в (8). У тебя будет одна трудность - в ПриОткрытии() ты не сможешь использовать параметры формы. Ну так создай еще реквизит формы, и в процедуре ПриСозданииНаСервере() запиши в него значение из Параметра формы. Далее реквизит уже будет доступен в ПриОткрытии(). |
|||
17
Ma3eIIa
18.02.16
✎
13:50
|
Забыли про пользовательские настройки.
v8: СКД. Программная установка параметров в управляемой форме отчета. Как? |
|||
18
Ma3eIIa
18.02.16
✎
13:51
|
(17) ну или сюда сходить.
http://forum.infostart.ru/forum26/topic107562/ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |