|
установка параметров СКД программно. Как? | ☑ | ||
---|---|---|---|---|
0
Ar-Bus
07.03.13
✎
13:22
|
А как в СКД добавить Параметры? Вот ситуация:
&Организация - элемент из справочника Организации. в обычном модуле я бы так написал: элементОрганизация=Справочники.Оргаризации.НайтиПоНаименованию("ОрганизацияПример"); Если элементОрганизация=Неопределено Тогда возврат; Иначе Запрос.УстановитьПараметр("параметрОрганизация",элементОрганизация); КонецЕсли; А как указать значение параметра в СКД? Заходил на вкладку СКД Параметры, но там можно указывать только предопределенные значения. Какой существует выход из данной ситуации? |
|||
1
Ar-Bus
07.03.13
✎
13:29
|
поднимаю
|
|||
2
mikecool
07.03.13
✎
13:30
|
отбор
|
|||
3
Ar-Bus
07.03.13
✎
13:33
|
(2) а поподробнее?
|
|||
4
mikecool
07.03.13
✎
13:33
|
также параметру в выражение (кажется) можно написать ахинею из (0)
|
|||
5
mikecool
07.03.13
✎
13:33
|
(3) подробнее - заменяешь параметр на отбор и спокойно пользуешься
указано значение - отбор накладывается, нет - не накладывается |
|||
6
Михаил 1С
07.03.13
✎
13:39
|
Сейчас напишу (возьму код из своей конфы).
|
|||
7
GANR
07.03.13
✎
13:39
|
ЗначенияПараметровДанныхКомпоновкиДанных.УстановитьЗначениеПараметра (DataCompositionDataParameterValues.SetParameterValue)
ЗначенияПараметровДанныхКомпоновкиДанных (DataCompositionDataParameterValues) УстановитьЗначениеПараметра (SetParameterValue) Синтаксис: УстановитьЗначениеПараметра(<Параметр>, <Значение>) Параметры: <Параметр> (обязательный) Тип: Строка; ПараметрКомпоновкиДанных. Имя параметра или параметр компоновки данных, значение которого нужно установить. <Значение> (обязательный) Значение, которое нужно установить. Описание: Устанавливает значение параметра и включает свойство Использование. Если параметр с указанным именем не найден, будет вызвано исключение. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. |
|||
8
Михаил 1С
07.03.13
✎
13:40
|
Установка параметров в СКД:
КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ДатаНач").Значение = ДатаНач; КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ДатаНач").Использование = Истина; Если ЗначениеЗаполнено(ДатаКон) Тогда КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ДатаКон").Значение = КонецДня(ДатаКон); Иначе КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ДатаКон").Значение = Дата(2030, 1, 1, 0, 0, 0); КонецЕсли; КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ДатаКон").Использование = Истина; |
|||
9
НаборДанных
07.03.13
✎
13:42
|
(0)Ужас, тема порванный на 100500 раз б0ян....
|
|||
10
Михаил 1С
07.03.13
✎
13:43
|
С отбором сложнее, на него не навестись по имени, надо знать - каким он идет по-порядку (надо знать его индекс). Причем, надо сначала в СКД уже создать этот Отбор (во вкладке Настройка). Тогда потом можно использовать такой код:
КомпоновщикНастроек.Настройки.Отбор.Элементы[0].ПравоеЗначение = ТвоеЗначение; КомпоновщикНастроек.Настройки.Отбор.Элементы[0].Использование = Истина; |
|||
11
НаборДанных
07.03.13
✎
13:45
|
Кстати, организация одна?
|
|||
12
Михаил 1С
07.03.13
✎
13:50
|
(0) Автор, жду ваши Спасибы! :))
|
|||
13
Ar-Bus
07.03.13
✎
13:54
|
(12) Спасибо большое, все получилось! Н-да, удивлен скорости помощи... Обычно здесь помогают нехотя...
|
|||
14
Михаил 1С
07.03.13
✎
13:56
|
(13) Даа, просто эту тему я уже хорошо изрыл, и помнил где это лежит, чтобы сразу код выложить.
|
|||
15
Михаил 1С
07.03.13
✎
13:59
|
Я обычно все часто-используемые параметры в СКД вывожу на форму, чтобы пользователю не рыться в настройках СКД. Настройки периода вывожу и то, что еще часто нужно.
|
|||
16
GANR
07.03.13
✎
14:00
|
(14)(15) Специально для увлеченных СКД людей даю полезную ссылку http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=608399.
|
|||
17
Михаил 1С
07.03.13
✎
14:02
|
(16) Даа, люди круто делают. Но мне такое сейчас сложно.
Спасибо за ссылку (за расширение кругозора). |
|||
18
GANR
07.03.13
✎
14:07
|
(17) Это не от крутости, это скорее, от безвыходности сваял. Функционал платформы, предназначенный для описанной в ссылке задачи, не срабатывал - вот и применил выгрузку в XML->программную правку файла->загрузку настроек СКД из XML.
|
|||
19
badboychik
07.03.13
✎
21:25
|
(10) Фигня. Я свою функцию поиска по имени написал и все. И создавать в схеме его не обязательно
|
|||
20
badboychik
07.03.13
✎
21:42
|
(10)
ПолеДляОтбора = НОвый ПолеКомпоновкиДанных(ИмяПоля); ЭлемОтбор = НайтиОтборПоИмениПоля(ПолеДляОтбора); // своя функция Если ЭлемОтбор = Неопределено Тогда ЭлемОтбор = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлемОтбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлемОтбор.ЛевоеЗначение = ПолеДляОтбора; КонецЕсли; ЭлемОтбор.Использование = Истина; ЭлемОтбор.ПравоеЗначение = ЗначениеПоля; СформироватьОтчет(); |
|||
21
kiruha
07.03.13
✎
21:49
|
(0)
Автоматическое преобразование схемы СКД в программный код http://infostart.ru/public/173317/ http://1cskd.ru/2013/02/avtomaticheskoe-preobrazovanie-sxemy-skd-v-programmnyj-kod/ все само заполнит |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |