|
СКД: Нужна помощь по программному добавлению группировки в открываемый отчет. | ☑ | ||
---|---|---|---|---|
0
Перелетный косяк
28.01.13
✎
21:54
|
Помогите плиз. С СКД практически не знаком. (:
Нужно добавить в открываемый программно отчет: 1. отбор по элементу 2. еще один - нижний - уровень группировки по документу Конфа – Розница 1.0.17 С отбором справился: ОтчетВедомостьТОваровНаСкладах = Отчеты.ВедомостьТоваровНаСкладах.Создать(); Форма_ОтчетВедомостьТОваровНаСкладах = ОтчетВедомостьТОваровНаСкладах.ПолучитьФорму(); КомпоновщикНастроек = ОтчетВедомостьТОваровНаСкладах.КомпоновщикНастроек; Настройки = КомпоновщикНастроек.Настройки; НовыйЭлементОтбора = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ПолеОтбора = Новый ПолеКомпоновкиДанных("Номенклатура"); НовыйЭлементОтбора.ЛевоеЗначение = ПолеОтбора; НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; НовыйЭлементОтбора.ПравоеЗначение = НоменклатураСсылка; НовыйЭлементОтбора.Использование = Истина; Форма_ОтчетВедомостьТОваровНаСкладах.Открыть(); Форма_ОтчетВедомостьТОваровНаСкладах.ОбновитьОтчет(); С группировкой не получается (:, не хватает знания матчасти. Пытался через типовые: ТиповыеОтчеты.ДобавитьГруппировку(КомпоновщикНастроек, Новый ПолеКомпоновкиДанных("ДокументДвижения"), Истина); ТиповыеОтчеты.ИнициализацияТиповогоОтчета(ОтчетВедомостьТОваровНаСкладах); В интерактивной настройке по умолчанию группировки «номенклатура» и «Характеристики», а когда идешь отладчиком – только какая-то странная группировка «Организации». Понимаю, что надо подтягивать матчасть и читать Хрусталеву, но времени нет.., как всегда все надо было вчера |
|||
1
France
28.01.13
✎
21:56
|
Брать типовой и хватит горы сворачивать
|
|||
2
Перелетный косяк
28.01.13
✎
22:05
|
(1) В типовой рознице подобных примеров нет
в типовой УТ 10.3 все замучено через "универсальный отчет" |
|||
3
rphosts
28.01.13
✎
22:37
|
группировка что-то типа такого:
Группировка = Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); Группировка.Использование = Истина; ПолеГруппировки = Группировка.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных")); ПолеГруппировки.Использование = Истина; ПолеГруппировки.Поле = Новый ПолеКомпоновкиДанных("Пользователь"); АвтоПоле = Группировка.Выбор.Элементы.Добавить(Тип("АвтоВыбраноеПолеКомпоновкиДанных")); АвтоПоле.Использование = Истина; ДетальныеЗаписи = Группировка.Структура.Добавить(Тип(ГруппировкаКомпоновкиДанных")); ДетальныеЗаписи. Использование = Истина; АвтоПоле = ДетальныеЗаписи.Выбор.Элементы.Добавить(Тип("АвтоВыбраноеПолеКомпоновкиДанных")); АвтоПоле.Использование = Истина; |
|||
4
Перелетный косяк
28.01.13
✎
22:46
|
(3) ноль эффекта
выводит с 2 группировками по умолчанию "ном"&"хар-ки" |
|||
5
Перелетный косяк
28.01.13
✎
22:47
|
может нужно не Группировка = Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")) а работать с существующим элементом структуры?
|
|||
6
Classic
28.01.13
✎
22:47
|
(0)
Тебе чисто универсально надо, или два/три варианта? |
|||
7
rphosts
28.01.13
✎
22:49
|
(5)как вариант снести всё нафиг и сверстать свой макет полностью програмно
|
|||
8
Перелетный косяк
28.01.13
✎
22:50
|
(6) мне бы чтоб работало.. хоть как
разбираться буду потом |
|||
9
Classic
28.01.13
✎
22:51
|
(8)
На вопрос ты не ответил |
|||
10
Перелетный косяк
28.01.13
✎
22:52
|
(7) подумывал. только заказчик просил именно открытие типоого отчета с отбором и группировкой. не знаю как отреагирует. там же не только макет, форму рисовать надо, настройки
|
|||
11
Перелетный косяк
28.01.13
✎
22:53
|
(9) мне любое решение подойдет
если решений будет несколько - только лучше, может вникну в чем соль |
|||
12
Classic
28.01.13
✎
23:01
|
(11)
Тяжело с тобой. Тебе надо, чтоб пользователь сам задавал группировки, или в разных случаях использовать разный (но фиксированный) набор группировок? |
|||
13
Перелетный косяк
28.01.13
✎
23:01
|
Проблема в том что он выводит не мое "Настройки.Структура",
а то что по умолчанию закреплено в настройке СКД. что бы ни делал, нифига не меняется( |
|||
14
Перелетный косяк
28.01.13
✎
23:03
|
(12) ааа... вот ты про что
мне нужен единственный и конкретный набор полей группировок Номнклатура Характеристики ДокументыДвижения |
|||
15
Classic
28.01.13
✎
23:05
|
(14)
Так задай его сразу ручками, в чем проблема? |
|||
16
Перелетный косяк
28.01.13
✎
23:07
|
(15) если не получится программно, так и сделаю. но хотелось бы изящно, чтоб не зависеть от корявых ручонок пользователей
|
|||
17
France
28.01.13
✎
23:49
|
(2) я имел ввиду типовой шаблон СКД..
|
|||
18
kiruha
28.01.13
✎
23:52
|
ОтчетВедомостьТОваровНаСкладах = Отчеты.ВедомостьТоваровНаСкладах.Создать();
// 1 получаем схему СхемаКомпоновки=ОтчетВедомостьТОваровНаСкладах .ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");//или как там называется //2 получаем настройки Настройки=СхемаКомпоновки.НастройкиПоУмолчанию; // 3 добавляем группировку ГруппировкаНоменклатура=Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); ГруппировкаНоменклатура.Использование=Истина; //4 добавляем поля в группировку ПолеНоменклатуры=ГруппировкаНоменклатура.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных")); ПолеНоменклатуры.Использование=Истина; // 5. Прописываем путь откуда поле будет брать данные ПолеНоменклатуры.Поле=Новый ПолеКомпоновкиДанных("Номенклатура") ; // 6. Предоставим системе самой автоматически добавить нужные поля в группировку ВыбранныеПоля=ГруппировкаНоменклатура.Выбор; ВыбранныеПоляДляНоменклатуры=ВыбранныеПоля.Элементы.Добавить(Тип("АвтовыбранноеПолеКомпоновкиДанных")); ВыбранныеПоляДляНоменклатуры.Использование=Истина; // итерация 3-6 для других группировок //..... НовыйЭлементОтбора = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); /// |
|||
19
К_Дач
28.01.13
✎
23:54
|
Нарисуй еще один вариант настроек, назови его Вариант2 и получай его из коллекции компоновщика в нужных случаях.
|
|||
20
kiruha
29.01.13
✎
00:02
|
(18)+
//3.5 Настройки.Структура.Очистить(); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |