![]() |
![]() |
![]() |
|
Как установить первоначальное значение параметра в СКД? | ☑ | ||
---|---|---|---|---|
0
Gorr
22.12.13
✎
00:16
|
Как установить в конструкторе СКД значение пармметра типа дата по уколчанию?
Если на закладке Параметры в поле "Выражение" ввести следующее выражение ТекущаяДата(), то при открытии окна отчета, поле выбора параметра остается пустым. Что не так? Вопрос наверное задавался уже миллион раз, но ответа я так и не нашел. |
|||
1
Gorr
22.12.13
✎
00:19
|
Неудачный пример привел - для его решения можно выбрать "Начало этого дня" можно выбрать в настройках на закладке параметры. Но что если требуется предустановить какую-то другую дату или значение???
|
|||
2
Рэйв
22.12.13
✎
00:19
|
раз ты считаешь , что миллион раз. Может стоит сначала в поиск?
|
|||
3
Gorr
22.12.13
✎
00:20
|
(2) (Народ в основном задавался вопросом как программно установить значение параметра)
|
|||
4
EvgeniuXP
22.12.13
✎
00:23
|
(3) ну установи программно, будь мужиком!
|
|||
5
Reaper_1c
22.12.13
✎
00:25
|
(0) В настройках же.
|
|||
6
Gorr
22.12.13
✎
00:27
|
(5) Уточню вопрос. Можно ли сделать так, чтобы начальное значение параметра который видит пользователь когда отрывает отчет вычислялось на основе некоего выражения?
|
|||
7
Gorr
22.12.13
✎
00:30
|
(4) вопрос про конструктор СКД
|
|||
8
EvgeniuXP
22.12.13
✎
00:32
|
(6) смотря что хочешь, на конец дня установить - так это с точностью наоборот, в СКД есть выражения в параметрах, а пользователь видит дату без часов.
Если какой-то другой случай, вычисляй и отображай - программно делай - хотя смысл второго не понимаю. |
|||
9
Gorr
22.12.13
✎
01:04
|
(6) с установкой параметра на конец или начало даты проблем нет. вопрос как задать саму дату которую он увидит когда откроет отчет?
|
|||
10
EvgeniuXP
22.12.13
✎
01:06
|
выражение - глобальный модуль - опиши дату как получить, верни.
|
|||
11
EvgeniuXP
22.12.13
✎
01:06
|
делай программно тогда и не парься.
|
|||
12
Reaper_1c
22.12.13
✎
03:30
|
(9) Стандартной датой начала.
|
|||
13
Gorr
22.12.13
✎
11:52
|
(12) а если нужно чтоб дата вычислялась динамически по выражению?
|
|||
14
МастерВопросов
22.12.13
✎
12:41
|
у меня так вроде получалось всё:
"В самой СКД на вкладке параметры для &ТекДата в колонке "Выражение" пишем "ТекущаяДата()", тогда в этот параметр автоматически передастся текущая дата." может тебе нужно отключить доступность в пользовательских настройках? |
|||
15
Gorr
22.12.13
✎
13:00
|
(14) попадет то попадет, но пользователь не увидит текущей даты в поле выбора параметра (В настройке параметра стоит флаг "Включать в пользовательские настройки")
ИМХО пользователь должен видеть все параметры формирования отчета в явном виде. |
|||
16
mistеr
22.12.13
✎
17:34
|
(15) Ты реальную задачу опиши, а то "примет с датой ненеудачный" и пошел спорить.
Установка параметров по умолчанию делается при открытии формы отчета, если что. |
|||
17
Gorr
23.12.13
✎
20:27
|
Не получается установить параметры и при открытии формы, если что:
&НаКлиенте Процедура ПриОткрытии(Отказ) Параметр = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[0]; Параметр.Значение = НачалоМесяца(ТекущаяДата()); Параметр.Использование = истина; КонецПроцедуры |
|||
18
Gorr
23.12.13
✎
20:27
|
при этом код отрабатывает без ошибок и открывается форма отчета с пустым значением параметра!!!
|
|||
19
Gorr
23.12.13
✎
22:17
|
Может еще кому будет полезно. При необходимости установить значение параметров СКД по умолчанию, следует использовать Пользовательские настройки компоновки данных (работает на 8.3):
&НаКлиенте Процедура ПриОткрытии(Отказ) Параметр = отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[0]; Параметр.Значение = ЗначениеПоУмолчанию; Параметр.Использование = Истина; КонецПроцедуры |
|||
20
dj_serega
23.12.13
✎
22:19
|
(19) А если параметр [0] будет не тот который сейчас?
|
|||
21
Gorr
23.12.13
✎
22:23
|
(20) А если ты разрабатываешь отчет, то должен знать какие у тебя параметры и порядок их следования.)
|
|||
22
dj_serega
23.12.13
✎
22:31
|
(21) Если я правильно понял, в течении (как минимум) 10 лет отчет изменяться не будет? =)
|
|||
23
mistеr
23.12.13
✎
22:33
|
(21) Это был намек на метод Найти(). С ним не "должен знать".
|
|||
24
Gorr
24.12.13
✎
15:57
|
(23) Во-первых вопрос который был обозначен в топике считаю решенным, а тему закрытой.
Во-вторых прежде чем проявлять остроту ума, было бы неплохо проверять свои советы на практике. А именно, метод Найти("МойПараметр")Коллекции элементов пользовательских настроек при любом раскладе возвращает Неопределено по крайней мере на платформе 8.3.4.365, так что вопрос в (20) не так очевиден как кажется. Но поскольку это обычная коллекция, не вижу проблем обойти ее элементы стандартно и найти искомый элемент по идентификатору типа строка. Например так: &НаКлиенте Функция НайтиЗначениеПараметраПоИмени(КоллекцияНастроек,ИмяПараметра) ИскомыйПараметр = Новый ПараметрКомпоновкиДанных(ИмяПараметра); для каждого ЗначениеПараметра из КоллекцияНастроек цикл если ЗначениеПараметра.Параметр = ИскомыйПараметр тогда возврат ЗначениеПараметра; конецесли; конеццикла; возврат Неопределено; конецФункции Тогда процедура "ПриОткрытии" будет выглядеть следующим образом: &НаКлиенте Процедура ПриОткрытии(Отказ) ПараметрыПользовательскихНастроек = отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы; Параметр = НайтиЗначениеПараметраПоИмени(ПараметрыПользовательскихНастроек,"МойПараметр"); если Параметр <> Неопределено тогда Параметр.Значение = ЗначениеПоУмолчанию; Параметр.Использование = Истина; конецесли; КонецПроцедуры |
|||
25
Ellowis
24.12.13
✎
16:08
|
(24) ИдентификаторПользНастройки = КомпоновщикНастроек.ПользовательскиеНастройки.ПолучитьИдентификаторПоОбъекту(КомпоновщикНастроек.Настройки["ПараметрыДанных"].НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(имяПарам)));
ПараметрПользовНастройки = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ИдентификаторПользНастройки); где "имяПарам" - имя необходимого параметра |
|||
26
mistеr
24.12.13
✎
20:33
|
(24) На коллекции ПользовательскиеНастройки не проверял. На отборах, параметрах данных и пр. работает.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |