Имя: Пароль:
1C
1С v8
Группировки в СКД
0 Tanis
 
26.12.12
11:05
Добрый день!
Подскажите, как сделать так, чтоб пользователь мог выбрать вариант группировки (1 из 4). Где что поставить или дописать.
1 Stim
 
26.12.12
11:06
H A D G E H O G s знает
2 Tanis
 
26.12.12
11:16
а все таки?
3 Tanis
 
26.12.12
11:26
Как можно вывести выбор полей группировки в обычные настройки пользователем?
4 LehhaK
 
26.12.12
11:28
(3) я своих научил делать группировки в настройках. Сказал, что старые настройки а-ля "Универсальный отчет" - э то прошлый век. А СКД - это супербудущее. Теперь, когда они делают группировку сами их ЧСВ растет и все счатливы... По сабжу - не знаю :)
5 sapphire
 
26.12.12
11:29
(0) Варианты отчета смотри :)
Далее выбор варианта или изменить вариант отчета.

Если не устраивает, то уже программно менять.
6 ИС-2
 
naïve
26.12.12
11:32
(0) я просто в настройках делаю несколько группировок, а пользователи сами галочками указывают нужные
7 Tanis
 
26.12.12
12:08
Вот я и сделал, но учить всех где эти галочки менять, это ...... С вариантами думал, но их и так будет 2, а так получается 8.
8 Prince
 
26.12.12
12:12
Только в настройках и варианты. Можно форму отчета написать, где они галочки по группировки делать будут.
9 Tanis
 
26.12.12
12:35
Вот и хочу в форму "воткнуть", а как на них сослаться не могу найти
10 Prince
 
26.12.12
12:48
&НаСервере
Функция ВернутьЗначениеРасшифровки(Расшифровка)
   ДанныеРасшифровкиОбъект = ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
   
   ВывестиСписокЭлементовСРодителями(0, ДанныеРасшифровкиОбъект.Элементы[Расшифровка], "Элемент: ");
   
   ЗначанияПолейРасшифровки = ДанныеРасшифровкиОбъект.Элементы[Расшифровка].ПолучитьПоля();
   Если ЗначанияПолейРасшифровки.Количество() > 1 Тогда
        Индекс = 1;
   Иначе
        Индекс = 0;
   КонецЕсли;
   ЗначениеРасшифровки = ЗначанияПолейРасшифровки[Индекс].Значение;
   
   Возврат ЗначениеРасшифровки;
КонецФункции // ВернутьЗначениеРасшифровки()
11 Tanis
 
26.12.12
13:18
А куда ее вставить?
12 Prince
 
26.12.12
15:12
Куда? В модуль формы конечно. Tanis, Вы вообще программировали?
13 Tanis
 
26.12.12
16:08
Выдает ошибку на "ВывестиСписокЭлементовСРодителями"

Я понял что в модуль. Но потом то где ее указывать, и где она (варианты группировок) будет выбираться?
14 Prince
 
26.12.12
16:22
Функцию в процедуру, которую напишите. А ошибку посмотрите в отладчике, я же Вам привел не решение Вашей задачи а пример.
15 Tanis
 
27.12.12
08:59
В отладчике посмотреть не получится, т.к. отчет даже не записывается, ругается, что не знает
"ВывестиСписокЭлементовСРодителями".
Процедуру, потом подключить к АктивизацииСтроки или обработка выбора?
16 Prince
 
27.12.12
10:48
Какой у Вас релиз платформы?
17 Prince
 
27.12.12
10:49
&НаСервереБезКонтекста
Процедура ВывестиСписокЭлементовСРодителями(Счетчик, Элемент, РодительскийЭлемент)

   Если ТипЗнч(Элемент) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда
       
       ПоляЭлемента = Элемент.ПолучитьПоля();
       Для каждого ПолеЭлемента Из ПоляЭлемента Цикл
                   
               Сообщение = Новый СообщениеПользователю;
               Сообщение.Текст = "[" + Элемент.Идентификатор + "] " + Счетчик + ": " + РодительскийЭлемент + "(Поля) " + ПолеЭлемента.Поле + " = " + ПолеЭлемента.Значение;
               Сообщение.Сообщить();
       
       КонецЦикла;                                                  
       
   ИначеЕсли ТипЗнч(Элемент) = Тип("ЭлементРасшифровкиКомпоновкиДанныхГруппировка") Тогда
       
       Сообщение = Новый СообщениеПользователю;
       Сообщение.Текст = "[" + Элемент.Идентификатор + "] " + Счетчик + ": " + РодительскийЭлемент + "(Группировка) " + Элемент.Группировка;
       Сообщение.Сообщить();
       
   КонецЕсли;
       
   МассивРодителей = Элемент.ПолучитьРодителей();
   
   Счетчик = 0;
   Для каждого Родитель Из МассивРодителей Цикл
       Счетчик = Счетчик + 1;
       
       //Если ТипЗнч(Родитель) = Тип("ЭлементРасшифровкиКомпоновкиДанныхГруппировка") Тогда
           ВывестиСписокЭлементовСРодителями(Счетчик, Родитель, "Родитель: ");
       //КонецЕсли;

   КонецЦикла;

КонецПроцедуры
18 Tanis
 
27.12.12
11:24
8.2.16
Спасибо. попробую сообщу
19 Tanis
 
28.12.12
12:35
Не получается. :-( не могу, точнее даже не знаю куда это прикрутить, чтоб выходило и работало
20 fisher
 
28.12.12
12:40
А чем не устраивают варианты отчета? Или пусть пользователь сам выбирает нужные ему группировки в пользовательских настройках (и сохраняет в разных пользовательских настройках варианта)? Или ты на обычных формах ваяешь, а не на управляемых?
21 Tanis
 
28.12.12
12:48
На СКД, обычная форма. Вариантов много получится. А в настройки их лучше не пускать
22 Tanis
 
28.12.12
12:56
Очень надо вывести
23 fisher
 
28.12.12
13:30
(21) Ты видел, как выглядят ПОЛЬЗОВАТЕЛЬСКИЕ настройки в управляемых формах отчета СКД? Пользователь там "из коробки" может настраивать состав и порядок группировок как раньше в построителе отчета. Просто включи в свойствах конфы использование управляемых форм в толстом клиенте и наслаждайся. Автоформа отчета СКД на УФ "из коробки" устраивает в 99% случаев. Там и варианты и пользовательские настройки и сохранение пользователем различных вариантов настроек под себя для каждого варианта и запоминание последних настроек и т.п. Состав пользовательских настроек настраивается параметрически в конфигураторе для каждого варианта.
24 Tanis
 
28.12.12
14:11
а без них никак?
Это что теперь все на управляемую писать?
25 fisher
 
28.12.12
14:51
(24) Ты чем слушал? Для управляемой вообще ничего не надо писать.
26 Tanis
 
29.12.12
09:00
Сам СКД писать надо, для управляемой.
Задача решена, всем спасибо за участие.
Решена настройками группировок в СКД, ничего не дописывал, теперь пользователю выводятся поля для выбора нужной группировки.
Решение: 4 группировки сгруппировал в одну (которая просто показывает итог, далее в настройках поставил, редактируется (разрешено) пользователю, и теперь у него появляется рамка с выбором этих группировок.