|
СКД, как при расшифровке выводить свои настройки? | ☑ | ||
---|---|---|---|---|
0
Aleksey_a_z
28.03.14
✎
11:26
|
В обработчике РезультатОбработкаРасшифровки есть след код:
СтандартнаяОбработка=Ложь; Доступныенастройки = Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных) ОбработкаРасшифровки=Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Доступныенастройки); Настройки=ОбработкаРасшифровки.Выполнить(Расшифровка); КомпоновщикНастроек.ЗагрузитьНастройки(Настройки); ЭлементыФормы.Результат.Очистить(); СкомпоноватьРезультат(ЭлементыФормы.Результат,ДанныеРасшифровки); Он формирует стандартную расшифровку по любому выбранному полю. Допустим необходимо что бы при расшифровке по определенному полю, например "Регистратор" выводились настройки немного отличные от сгенерированных по умолчанию, например с дополнительной колонкой с реквизитами. Я правильно понимаю что нужно сначала добавить свои настройки в макете компоновке, а потом выбрать их? Типа так: КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.ВариантыНастроек.Найти("Основной1").Настройки); Но в этом случаи мне придется полностью настраивать отборы и т.п. А возможно ли решение этой задачи когда я просто видоизменяю сгенерированную настройку добавляя в нее необходимые поля, а не использую свою предопределенную? |
|||
1
1СКонсультант
28.03.14
✎
11:31
|
(0) так берем настройки и правим
|
|||
2
Aleksey_a_z
28.03.14
✎
11:33
|
(1) а как их взять?
Объект ОбработкаРасшифровкиКомпоновкиДанных возвращает настройки Настройки=ОбработкаРасшифровки.Выполнить(Расшифровка); Каким образом их дальше подправить? |
|||
3
1СКонсультант
28.03.14
✎
11:34
|
(0) http://v8.1c.ru/metod/books/book.jsp?id=389
Работа с системой компоновки средствами встроенного языка Редактирование стандартных настроек |
|||
4
barrgand
28.03.14
✎
11:36
|
(2) В отладке залезть в Настройки и посмотреть что там есть, что можно поправить и т.д.
|
|||
5
1СКонсультант
28.03.14
✎
11:37
|
(2) НоваяГруппировка = Настройка.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
НоваяГруппировка.Использование = Истина; ПолеНоменклатура = НоваяГруппировка.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных")); ПолеНоменклатура.Использование = Истина; ПолеНоменклатура.Поле = Новый ПолеКомпоновкиДанных("Номенклатура"); ВыборПолей = НоваяГруппировка.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных")); ВыборПолей.Использование = Истина; |
|||
6
1СКонсультант
28.03.14
✎
11:38
|
(5) оттуда пример добавление группировки своей
|
|||
7
Aleksey_a_z
28.03.14
✎
11:39
|
(3) Спасибо тебе добрый человек!
|
|||
8
1СКонсультант
28.03.14
✎
11:39
|
(2) если тебе в группировку надо добавить поле тогда берешь
Настройки.Структура[ИндексТвоейгруппировки]. Дальше вот здесь ВыборПолей = НоваяГруппировка.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных")); ВыборПолей.Использование = Истина; |
|||
9
1СКонсультант
28.03.14
✎
11:40
|
(7) Елен Юрьевне спасибо))) С вчерашнего дня моя самая любимая женщина))))))
|
|||
10
Aleksey_a_z
28.03.14
✎
12:43
|
Еще один вопрос. Как узнать по какому выбранному полю идет расшифровка, в данном случаи при выполнении
Настройки=ОбработкаРасшифровки.Выполнить(Расшифровка, ВыполненноеДействие); имею в переменной ВыполненноеДействие только вид выбранного действия, а необходимо узнать какое поле было выбрано при расшифровке. В полученных настройках пока не нашел. Как это сделать? |
|||
11
barrgand
28.03.14
✎
13:00
|
(10) Поле = ДанныеРасшифровки.Элементы.Получить(Расшифровка).ПолучитьПоля()[0].Поле
Как то так. |
|||
12
Aleksey_a_z
28.03.14
✎
13:12
|
(11) Не, в данном случаи я получаю поле по которому щелкнул мышью, допустим ткнул по какой то номенклатуре и выбрал "Расшифровать...", в открывшемся диалоговом окне "Выбор поля" я выбираю группировку "Регистратор", где теперь отследить какую именно группировку при расшифровке я выбрал что бы наложить условие?
|
|||
13
Aleksey_a_z
28.03.14
✎
13:14
|
*случае
|
|||
14
barrgand
28.03.14
✎
13:30
|
(12) Я бы сделал отдельный пункт расшифровки, например "Расшифровать документы".
|
|||
15
Aleksey_a_z
28.03.14
✎
13:35
|
(14) это то да, но выдрать что выбрал пользователь в качестве группировки не получится что ли?
|
|||
16
Hans
28.03.14
✎
13:36
|
подпишусь.
|
|||
17
Aleksey_a_z
28.03.14
✎
13:41
|
(16) над чем?
|
|||
18
1СКонсультант
28.03.14
✎
13:43
|
(17) ОбработкаРасшифровкиКомпоновкиДанных (DataCompositionDetailsProcess)
ВыбратьДействие (ChooseAction) Синтаксис: ВыбратьДействие(<ИдентификаторРасшифровки>, <ВыполненноеДействие>, <ПараметрВыполненногоДействия>, <ДоступныеДействия>, <ДополнительныеПунктыМеню>, <ИспользоватьОсновноеДействие>, <ЭлементФормы>) |
|||
19
1СКонсультант
28.03.14
✎
13:44
|
(17) а. надо настройки ковырять
|
|||
20
1СКонсультант
28.03.14
✎
13:45
|
(17) в теории получаешь полученные настройки, получаешь структуру и смотришь группировку.
|
|||
21
1СКонсультант
28.03.14
✎
13:46
|
Настройка.Структура[0].Имя
|
|||
22
Aleksey_a_z
28.03.14
✎
14:01
|
(21) и снова тебе спасибо добрый человек)
|
|||
23
1СКонсультант
28.03.14
✎
14:09
|
(22) В книге мудрость) Сам 3 дня убил на расшифровку, пока книжку не открыл и за полчаса налабал отчет )
|
|||
24
Aleksey_a_z
28.03.14
✎
14:12
|
(20) группировку я увижу а как ее получить что бы условия потом накладывать, какого нибудь текстового значения названия группировки нет сожалению
|
|||
25
1СКонсультант
28.03.14
✎
14:31
|
(24) ГруппировкаКомпоновкиДанных (DataCompositionGroup)
Свойства: Выбор (Selection) Идентификатор (ID) ИдентификаторПользовательскойНастройки (UserSettingID) Имя (Name) Использование (Use) Отбор (Filter) ПараметрыВывода (OutputParameters) ПоляГруппировки (GroupFields) Порядок (Order) ПредставлениеПользовательскойНастройки (UserSettingPresentation) РежимОтображения (ViewMode) Родитель (Parent) Состояние (State) Структура (Structure) УсловноеОформление (ConditionalAppearance) Описание: Настройка группировки. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Данный объект может быть сериализован в/из XML. Может использоваться в реквизитах управляемой формы. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен {http://v8.1c.ru/8.1/data-composition-system/settings}. Имя типа XDTO: StructureItemGroup. |
|||
26
1СКонсультант
28.03.14
✎
14:31
|
(24) ГруппировкаКомпоновкиДанных (DataCompositionGroup)
Имя (Name) Использование: Чтение и запись. Описание: Тип: Строка. Содержит имя группировки. Доступность: Сервер, толстый клиент, внешнее соединение. -------------------------------------------------------------------------------- Методическая информация |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |