Имя: Пароль:
1C
1С v8
запрос
, ,
0 zak555
 
30.07.14
13:00
есть результат запроса

Имя  Значение
------------
Имя1 Х
Имя2 У
..
Имя9 Я

как получить результат следующего вида :

Имя1 Имя2 ... Имя9
------------------
Х    У        Я


?
1 zak555
 
30.07.14
13:06
т.е. хочется транспонировать

и чтобы значения колонки Имя стали Псевдонимами
2 Asmody
 
30.07.14
13:06
запихни в СКД
3 zak555
 
30.07.14
13:07
(2) без скд никак ?
4 1Сергей
 
30.07.14
13:08
(3) перебором
5 Cube
 
30.07.14
13:10
(0) Прикинь, ты первый, кто об этом спросил. И нет смысла искать ответ в поиске.
https://www.google.ru/search?as_sitesearch=forum.mista.ru&q=v8+%E7%E0%EF%F0%EE%F1+%F2%F0%E0%ED%F1%EF%EE%ED%E8%F0%EE%E2%E0%F2%FC&gws_rd=ssl
6 zak555
 
30.07.14
13:10
(4) смысл такой

есть печатная форма
в шапку формы выводятся дополнительные реквизиты

хочется двумя строчками заполнить её

ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
ОбластьМакета.Параметры.Заполнить(ДанныеШапки);
7 1Сергей
 
30.07.14
13:17
(6) двумя не получится
8 Andrewww123
 
30.07.14
13:18
(6) Без СКД двумя строчками никак. Нужно же динамически(в зависимости от количества колонок) формировать область табличного документа, чтобы потом её вывести. Строчек 20, не меньше :)
9 Ёпрст
 
30.07.14
13:20
(6) Примитивный цикл с одной присоединяемой секцией не судьба ужо сделать ?
10 Cube
 
30.07.14
13:20
(6) Какая от этого выгода?

ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следущий() Цикл
    ОбластьМакета.Параметры.Заполнить(Выборка);
КонецЦикла;
11 Cube
 
30.07.14
13:21
(10) Ну, с "ОбластьМакета.Параметры.Заполнить(Выборка);" я, конечно, погорячился... :)
12 Ёпрст
 
30.07.14
13:21
Область  = ...
Для каждого стр ИЗ ТЗ Цикл
  Область.Параметры.Заполнить(стр);
  Таб.Присоединить(Область);
КонецЦикла

усё
13 inspam
 
30.07.14
13:57
(0) х_y_я?!
14 zak555
 
30.07.14
14:03
как тогда мне запихнуть тогда доп реквизиты в результат запроса ?
15 zak555
 
30.07.14
14:09
условно, есть запрос

ВЫБРАТЬ
    СчетНаОплатуПокупателю.Ссылка,
    СчетНаОплатуПокупателю.Номер КАК НомерЗаказа,
    СчетНаОплатуПокупателю.Дата КАК ДатаЗаказа,
    СчетНаОплатуПокупателю.Контрагент,
    СчетНаОплатуПокупателю.Организация,
    СчетНаОплатуПокупателю.Товары.(
        Ссылка,
        НомерСтроки,
        Номенклатура,
        Цена,
        Сумма,
        СтавкаНДС,
        СуммаНДС,
        Количество
    ),
    СчетНаОплатуПокупателю.Услуги.(
        Ссылка,
        НомерСтроки,
        Содержание,
        Количество,
        Цена,
        Сумма,
        СтавкаНДС,
        СуммаНДС,
        Номенклатура
    )
ИЗ
    Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
ГДЕ
    СчетНаОплатуПокупателю.Ссылка = &СсылкаНаОбъект


Запрос.УстановитьПараметр("СсылкаНаОбъект", СсылкаНаОбъект);

Результат = Запрос.Выполнить();

    ДанныеШапки = Результат.Выбрать();
    ДанныеШапки.Следующий();



ДанныеШапки.Услуги
ДанныеШапки.Товары

-- это РезультатЗапроса


хочу сюда же добавить результат запроса ДопРеквизиты, чтобы в конечном счёте заполнить параметры в макете



ВыборкаДопРеквизиты = ДанныеШапки.ДопРеквизиты.Выбрать();
Пока ВыборкаДопРеквизиты .Следующий() Цикл
   ОбластьМакета.Параметры[ВыборкаДопРеквизиты.ИмяСвойства] = ВыборкаДопРеквизиты.ЗначениеСвойства;        
КонецЦикла;
16 zak555
 
30.07.14
15:50
так как сделать 15 ?
17 zak555
 
30.07.14
17:49
up23
18 Ёпрст
 
30.07.14
18:01
тебе ТЧ товаров и услуг туда запихать шо ле ?
19 Ёпрст
 
30.07.14
18:02
тебе всего то надо в макете одну секцию слепить, и устанавливать ей текст.
20 zak555
 
31.07.14
08:52
(18) ага

(19) присоединяемую секцию не хочу
21 Dmitry1c
 
31.07.14
08:53
СКД
22 zak555
 
31.07.14
09:00
(21) хочется без СКД
23 Ёпрст
 
31.07.14
09:16
(20) У тебя же нет постоянного количества колонок, как ты по-другому ЭТО сделаешь в обычной таблице?
24 zak555
 
31.07.14
09:17
(23) по другому
25 zak555
 
31.07.14
10:54
(23) в макете будут подрисовываться в области параметры, соответствующие доп реквизитам
26 Ёпрст
 
31.07.14
11:01
(25) каким образом "подрисовываться" ? И кем ?
:)
27 zak555
 
31.07.14
15:38
(26) кто знает, как рисовать в макете

вопрос только в 15
28 Многолетний Апельсин
 
31.07.14
15:44
Может быть так?

МассивКолонок = ТЗРезультат.ВыгрузитьКолонку("Имя");

ТЗТранспонированная = Новый ТаблицаЗначений;

Для Каждого Колонка из МассивКолонок Цикл

    ТЗТранспонированная.Колонки.Добавить("" + Колонка);

КонецЦикла;

Строка = ТЗТраспонированная.Добавить();

Для Каждого СтрокаРезультат из ТЗРезультат Цикл
    
    Строка[СтрокаРезультат.Имя] = СтрокаРезультат.Значение;

КонецЦикла;
29 zak555
 
01.08.14
09:35
так как создать вложенную таблицу из доп реквизитов в списке полей выборки ?
30 1Сергей
 
01.08.14
09:45
(29) чисто запросом никак
31 zak555
 
01.08.14
09:47
(30) там только ТЧ объектов что ли можно выводить ?
32 1Сергей
 
01.08.14
09:51
(31) ты хочешь получить список того, чего за ранее тебе не известно. А так не получится. Запрос не работает с метаданными
33 zak555
 
01.08.14
09:54
(32)однако в запросе предусмотрена работа с ПУСТАЯТАБЛИЦА
34 samozvanec
 
01.08.14
10:01
(15) что значит условно? судя по (15), тебе не надо (0)
че хочешь сделать то?
35 zak555
 
01.08.14
10:01
(34) см. в 29
36 zak555
 
01.08.14
12:21
(9) обход по чему будет ?
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.