Имя: Пароль:
1C
1С v8
Группировка в динамическом списке
,
0 STAYEKR
 
06.08.12
15:39
Доброго всем здоровья! Прошу помочь чайнику в его нелегком ламерском пути. Имеется форма списка документа, куда выводятся документы с заполненным полем "Ответственный" (т.е. непосредственно исполнитель) и не заполненным (у документа пока не назначен исполнитель). Нужно эти документы сгруппировать, не важно - дерево или нет. Покрасил гугль в сиреневый цвет, нашел вот такую конструкцию:

ГруппировкаСписка   = Список.Группировка.Элементы;  
 ЭлементГруппировки   = ГруппировкаСписка.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));  
 ЭлементГруппировки.Поле  = Новый ПолеКомпоновкиДанных("Организация");  
 ЭлементГруппировки   = ГруппировкаСписка.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));  
 ЭлементГруппировки.Поле  = Новый ПолеКомпоновкиДанных("Дата");

Но ее аналоги у меня не работают, валятся с ошибкой:
"Группировка данных не разрешена без указания основной таблицы". Прошу помощи, господа
1 STAYEKR
 
06.08.12
15:53
кто-нибудь в курсе?
2 Stim
 
06.08.12
15:56
все действия - настроить список-группировка
3 Stim
 
06.08.12
15:56
в чем проблема-то? пусть пользователи настроят список под себя, как им угодно
4 STAYEKR
 
06.08.12
15:57
(2) про вес действия я знаю, хочется чтобы список настроен был программно, и при настройке через "все действия" нет возможности переименовать группировки, а это обязательно
5 Dimasik2007
 
06.08.12
15:58
Откройте настройку списка в упр. форме, где запрос к данным, внизу выберите основную таблицу и все.
6 STAYEKR
 
06.08.12
16:01
(5) Примерчик будте любезны, уважаемый.Первый раз сталкиваюсь с такой задачей, если нетрудно, поясните
7 Dimasik2007
 
06.08.12
16:06
8 STAYEKR
 
06.08.12
16:18
(7) В моем случае "Список" имеет вложеные реквизит "Ответственный", по которому и нужно делать группировки (когда он заполнен и когда не заполнен). Пробую Ваш второй вариант, пишет ту же ошибку из (0). Первый Ваш вариант мне не подходит, тк нужно использовать свой запрос
9 Dimasik2007
 
06.08.12
16:23
Текст запроса в студию
10 Dimasik2007
 
06.08.12
16:24
Т.е. группируешь не по реквизиту из дин. списка, а добавленному вручную?
11 STAYEKR
 
06.08.12
16:27
ВЫБРАТЬ
   Документ.Номер,
   Документ.Дата,
   Документ,Ответственный,
   Документ.Контрагент,
   Документ.Сумма
ИЗ
   Документ.Документ1 КАК Документ
ГДЕ
   Документ.Ответственный = &Пустой
           ИЛИ Документ.Ответственный = &Текущий
           
(Пустой или текущий выводятся для того, чтобы пользователь видел только его документы, или не назначенные еще).
Хотелось бы также переименовать группировки, что-то вроде "МоиДокументы" и "Бесхозные"
12 STAYEKR
 
06.08.12
16:29
Реквизит "Список" (тип динамически список), в него вложена табличная часть "Ответственные" (тип справ.пользователи). Вот по ответственным мне и надо группировать
13 Dimasik2007
 
06.08.12
16:31
Документ,Ответственный запятую для начала уберите
14 Dimasik2007
 
06.08.12
16:32
и по условию у вас видно что Ответственный это реквизит, а не ТЧ
15 Dimasik2007
 
06.08.12
16:35
и ответственного выводите в запросе примерно так
выбор когда Документ.Ответственный = &Текущий тогда "Йа" иначе выбор когда документ.Ответственный = Значение(Справочник.Пользователи.ПустаяСсылка)
//(тут варианты или неопределно или еще - нужно тестить)
тогда "Бесхозные" иначе Документ,ответственный конец конец
16 STAYEKR
 
06.08.12
16:37
(15) Спасибо, понимание начало приходиь. Выводятся группировки как положено, но хотелось бы переименвать их. Не подскажите, как это реализовать?
17 Dimasik2007
 
06.08.12
16:40
в (0) вы группируете по дате (точнее по дате или по дате-времени, в зависимости от типа данных), в (13) вы хотите группировать по пользователю. Определитесь уж.
18 STAYEKR
 
06.08.12
16:42
в (0) я привет пример из растерзанного мною гугля. В (11) я написал свою реализацию, адаптированную и работающею более-менее адекватно. Безмерно благодарен Вам за помощь, Уважаемый! Хотелоь бы получить ответ на еще один вопрос, который я описал в (16). Еще раз огромное спасибо за оказанную помощь!
19 Dimasik2007
 
06.08.12
16:45
Скрин приведите
20 STAYEKR
 
06.08.12
16:52
21 Dimasik2007
 
06.08.12
16:54
И финальный запрос с "Выбор когда..."
22 STAYEKR
 
06.08.12
17:11
Забыл )
   ВЫБОР КОГДА Документ.Ответственный = &Пустой ТОГДА Неназначенные
       КОГДА Документ.Ответственный = &Пользователь ТОГДА Свои
       ИНАЧЕ Документ.Ответственный КОНЕЦ
   КОНЕЦ
Но в таком виде он не отрабатывает, падает с ошибкой
23 STAYEKR
 
06.08.12
17:19
В чем косяк не подскажете?
24 Dimasik2007
 
06.08.12
17:29
"Неназначенные" "Свои" - это же стринги
25 Dimasik2007
 
06.08.12
17:29
только не те, которые на попках)
26 Dimasik2007
 
06.08.12
17:30
и &Пустой не очень красиво, либо через неопределено, либо через ЗНАЧЕНИЕ... сравнивайте
27 STAYEKR
 
06.08.12
17:52
(25) Порадовал пост))) Спасибо огромное за помощь! Все получилось!
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.