Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 21:57

свернуть колонки в ТЗ

Автор t.u.l.i.p, 23 апр 2014, 13:04

0 Пользователей и 1 гость просматривают эту тему.

t.u.l.i.p

Добрый день.Помогите пожалуйста, с 1с недавно начала работать..Запросом выбрала нужные данные, получила такую таблицу:

Иванов   русс           101
Иванов   матем   103
Иванов   тест           102
Иванов   физика   101
Иванов   изо           102
Иванов   изо           105
Иванов   изо           104
Иванов   тест2   102
Петров   русс           101
Петров   матем   101
Петров   тест           102


но мне она нужна в таком виде:
Иванов   русс           101
Петров   матем   103
           тест    102
           физика   104
           изо           105
           тест2   
т.е. чтобы значения были уникальны.как ее можно свернуть по колонкам..попробовала. не получилось..
вот процедура
Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   ПреподавателиНовый.Пользователь КАК Пользователь,
      |   КаталогЗанятий.Ссылка КАК Мероприятие,
      |   АудиторииСР.Ссылка КАК Аудитория
      |ИЗ
      |   Справочник.СодержаниеПрограммыОбучения КАК СодержаниеПрограммыОбучения
      |      ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КаталогЗанятий КАК КаталогЗанятий
      |         ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПреподавателиНовый КАК ПреподавателиНовый
      |         ПО КаталогЗанятий.Родитель = ПреподавателиНовый.Блок
      |         ЛЕВОЕ СОЕДИНЕНИЕ Справочник.АудиторииСР КАК АудиторииСР
      |         ПО КаталогЗанятий.ТипАудитории = АудиторииСР.ТипАудитории
      |      ПО СодержаниеПрограммыОбучения.Мероприятие = КаталогЗанятий.Ссылка
      |ГДЕ
      |   СодержаниеПрограммыОбучения.Владелец = &Владелец
      |   И СодержаниеПрограммыОбучения.ЭтоГруппа = &ЛОЖЬ
      |
      |СГРУППИРОВАТЬ ПО
      |   ПреподавателиНовый.Пользователь,
      |   АудиторииСР.Ссылка,
      |   КаталогЗанятий.Ссылка
      |
      |УПОРЯДОЧИТЬ ПО
      |   Пользователь
      |ИТОГИ ПО
      |   Пользователь,
      |   Мероприятие,
      |   Аудитория";

   Запрос.УстановитьПараметр("Владелец", ПРограмма);
   Запрос.УстановитьПараметр("ЛОЖЬ", ЛОЖЬ);

   Результат = Запрос.Выполнить();
   ВремТаблица = результат.Выгрузить();
//   ВремТаблица.Свернуть("Пользователь");  если дальше писать, то колонок не будет других..((
   ЗначениеВРеквизитФормы(ВремТаблица,"ВремТаб");

СветланаCC

Приведите пример реальный того, чего хотите получить в результате, допустим в экселе...
Тазовод)

KrivosheevEV

Цитата: t.u.l.i.p от 23 апр 2014, 13:04//   ВремТаблица.Свернуть("Пользователь");  если дальше писать, то колонок не будет других..((
ТаблицаЗначений (ValueTable)
Свернуть (GroupBy)
Синтаксис:

Свернуть(<КолонкиГруппировок>, <КолонкиСуммирования>)
Параметры:

<КолонкиГруппировок> (обязательный)

Тип: Строка.
Имена колонок, разделенные запятыми, по которым необходимо группировать строки таблицы значений.
<КолонкиСуммирования> (необязательный)

Тип: Строка.
Имена колонок, разделенные запятыми, по которым необходимо суммировать значения в строках таблицы значений.

t.u.l.i.p

Цитата: СветланаCC от 23 апр 2014, 13:28
Приведите пример реальный того, чего хотите получить в результате, допустим в экселе...

Добавлено: 23 апр 2014, 13:40


Цитата: KrivosheevEV от 23 апр 2014, 13:32
Цитата: t.u.l.i.p от 23 апр 2014, 13:04//   ВремТаблица.Свернуть("Пользователь");  если дальше писать, то колонок не будет других..((
ТаблицаЗначений (ValueTable)
Свернуть (GroupBy)
Синтаксис:

Свернуть(<КолонкиГруппировок>, <КолонкиСуммирования>)
Параметры:

<КолонкиГруппировок> (обязательный)

Тип: Строка.
Имена колонок, разделенные запятыми, по которым необходимо группировать строки таблицы значений.
<КолонкиСуммирования> (необязательный)

Тип: Строка.
Имена колонок, разделенные запятыми, по которым необходимо суммировать значения в строках таблицы значений.

Читала) пробовала писать ВремТаблица.Свернуть("Пользователь, Мероприятие,Аудитория");
но не сворачивает..что не так?

СветланаCC

Не поняла принципа, по которому Вы хотите свернуть эти колонки (в документе эксель)
В запросе - не понятно что Вы хотите, можете описать структуру того, что находится в запросе,
либо предоставить Вашу конфигурацию
Тазовод)

KrivosheevEV

Группировка была произведена в запросе. Ещё сгруппированнее может быть только при появлении суммируемого поля.

chidaystory

Тут конечно что бы получить желаемый результат можно поиграться с полученной ТЗ, мне тоже как-то приходилось подобное делать, я советую свернуть ее по Имени, тогда мы получим ТЗ и количество всего имен, и сделать копию изначальной таблицы где в цикле выдавать подробный результат по каждому имени.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск