![]() |
![]() |
![]() |
|
Как из столбца сделать строку | ☑ | ||
---|---|---|---|---|
0
r-d-v2008
08.01.11
✎
18:39
|
Добрый всем день! Помогите пожалуйста из столбца сделать строку
Процедура ДействияФормыСформировать(Кнопка) ТабЗнач= новый ТаблицаЗначений; ТабЗнач.Колонки.Добавить("Контрагент"); ТабЗнач.Колонки.Добавить("Кол_во"); ТабЗнач.Колонки.Добавить("Ставка"); ТабЗнач.Колонки.Добавить("Сумма"); ТабЗнач.Колонки.Добавить("Остаток"); Макет=ПолучитьМакет("Молоко"); ОбластьЗаголовок=Макет.ПолучитьОбласть("Заголовок"); ОбластьШапка=Макет.ПолучитьОбласть("Шапка"); ОбластьСтрока=Макет.ПолучитьОбласть("Строка"); ОбластьИтог=Макет.ПолучитьОбласть("Итоги"); ОбластьПодвал=Макет.ПолучитьОбласть("Подвал"); Запрос = Новый Запрос; Запрос.Текст= "ВЫБРАТЬ | епСубЗначенияПоказателей.Контрагент КАК контрагент, | епСубЗначенияПоказателей.Количество как кол_во, | епСубЗначенияПоказателей.Период, // | епСубОплатыПоДоговорам.Регистратор, | епСубНачислениеСубсидийХозяйств.Начисления.Ставка как ставка, | епСубНачислениеСубсидийХозяйств.Начисления.ЗначениеПоказателя , | епСубНачислениеСубсидийХозяйств.Начисления.Сумма как сумма |ИЗ | РегистрСведений.епСубЗначенияПоказателей КАК епСубЗначенияПоказателей, | Документ.епСубНачислениеСубсидийХозяйств КАК епСубНачислениеСубсидийХозяйств"; // | ЛЕВОЕ СОЕДИНЕНИЕ Документ.епСубНачислениеСубсидийХозяйств КАК епСубНачислениеСубсидийХозяйств // | ПО епСубОплатыПоДоговорам.Регистратор = епСубНачислениеСубсидийХозяйств.Ссылка"; Результат=Запрос.Выполнить(); Выборка=Результат.Выбрать(); ТабДок = новый ТабличныйДокумент; ТабДок.ПолеСверху = 5; ТабДок.ПолеСнизу = 5; ТабДок.ПолеСлева = 5; ТабДок.ПолеСправа = 5; ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; //Область = Макет.ПолучитьОбласть("Строка"); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапка); Пока Выборка.Следующий()Цикл //СтрокаТаблицы=ТабЗнач.Добавить(); ОбластьСтрока.Параметры.Контрагент=Выборка.Контрагент; ОбластьСтрока.Параметры.Кол_во=Выборка.Кол_во; ОбластьСтрока.Параметры.Ставка=Выборка.Ставка; ОбластьСтрока.Параметры.Сумма=Выборка.Сумма; КонецЦикла; //ОбластьСтрока.Параметры.Контрагент=Контрагент; ТабДок.Вывести(ОбластьСтрока); ТабДок.Вывести(ОбластьИтог); ТабДок.Вывести(ОбластьПодвал); ТабДок.Показать("Молоко"); КонецПроцедуры Мне нужно из столбца Кол_во сделать строку |
|||
1
Rie
08.01.11
✎
18:46
|
(0) Что понимается под "сделать строку"?
|
|||
2
LamerSql
08.01.11
✎
18:48
|
(0) Неужели нельзя регистры и документы нормально называть?
какую строку? и зачем это нужно? |
|||
3
r-d-v2008
08.01.11
✎
18:51
|
Ну т.е. сейчас у меня кол_во идет так
200 230 300 и т.д. а мне нужно чтобы 200 230 300 |
|||
4
LamerSql
08.01.11
✎
18:53
|
(3) умник контрагента куда денешь?
|
|||
5
LamerSql
08.01.11
✎
18:53
|
это же количество для разных контрагентов.
|
|||
6
r-d-v2008
08.01.11
✎
18:55
|
Вообще у меня кол_во у одного контрагента
|
|||
7
Rie
08.01.11
✎
18:55
|
(3) "Идёт" - это выводится в отчёт?
Но у тебя же каждое количество выводится возле своего контрагента? Как ты себе представляешь этот отчёт - контрагенты, суммы и пр. - в столбик, а количества - в строку? |
|||
8
r-d-v2008
08.01.11
✎
18:56
|
Тогда как мне сделать?
|
|||
9
Rie
08.01.11
✎
18:56
|
(6) А суммы и ставки - пусть в столбец выводятся?
И "у одного контрагента" - это как? (Судя по запросу, контрагентов там может быть выше крыши; а если он один - что он делает в выборке запроса?) |
|||
10
LamerSql
08.01.11
✎
18:57
|
(6) ты пишешь хе-ню сейчас, у тебя будет столько контрагентов в выборке сколько их есть в регистре.
|
|||
11
Rie
08.01.11
✎
18:58
|
(8) Сделать - что?
Что ты хочешь получить? Хоть бы от руки нарисовал и выложил на radikal.ru |
|||
12
LamerSql
08.01.11
✎
18:59
|
ничего не выкладывай мой совет:
1. Позвать специалиста 2. Заплатить специалисту |
|||
13
LamerSql
08.01.11
✎
19:00
|
(12) 1) так как нет понимания того какой запрос пишешт.
2) Нет понимания того, что тебе нужно. |
|||
14
Defender aka LINN
08.01.11
✎
19:13
|
(0) Открой для себя СКД
|
|||
15
r-d-v2008
08.01.11
✎
19:18
|
Вот выложил WWW.Kiass.ru/soft/Отчет.rar
|
|||
16
r-d-v2008
08.01.11
✎
19:23
|
Ну помогите пожалуйста!
|
|||
17
Rie
08.01.11
✎
19:31
|
(16) С радостью бы помогли!
Но так и осталось непонятным - что такое "сделать строку". Количества - они по каждому контрагенту свои. И расположены в _столбец_ (в выложенном образце отчёта). |
|||
18
r-d-v2008
08.01.11
✎
19:36
|
В регистре значения идут в столбец. А в отчете идут в строку обратите внимание на цифры и все поймете
|
|||
19
Rie
08.01.11
✎
19:40
|
(18) Обратил внимание. И ничего не понял - где там строка, если там - столбец. "ноябрь" и "с н/г" - это _разные_ (по идее) количества, получаемые _разными_ (по идее) способами.
|
|||
20
r-d-v2008
08.01.11
✎
19:44
|
вы смотрите поголовье и надой за 2009 год
|
|||
21
r-d-v2008
08.01.11
✎
19:44
|
цифры в строку проставляются
|
|||
22
r-d-v2008
08.01.11
✎
19:45
|
или мне нужно переделать документ и тогда ничего выдумывать не надо
|
|||
23
Rie
08.01.11
✎
19:46
|
(20), (21) Смотрю. И что? В разных ячейках - совсем разные цифры. И их, заметим, ровно 2 (каждая - на свою дату). Так и получи эти ровно 2 цифры (каждая - под своим именем), помести в макет два параметра (один - для начала года, другой - для ещё какой-то даты). И не мучь себя, пытаясь открыть зонтик правой рукой в левом ухе.
|
|||
24
r-d-v2008
08.01.11
✎
19:47
|
но если переделывать документ тогда отразить поголовье за все 12 месяцев при том что число месяца может менятся
|
|||
25
r-d-v2008
08.01.11
✎
19:49
|
как я получу если в регистре идет все в один столбец
|
|||
26
Rie
08.01.11
✎
19:54
|
(25) А Период?
|
|||
27
r-d-v2008
08.01.11
✎
19:54
|
что период?
|
|||
28
Rie
08.01.11
✎
20:03
|
(26) Сгруппируй по периоду. Или отфильтруй по периоду и объедини.
|
|||
29
Rie
08.01.11
✎
20:03
|
(28)->(27)
|
|||
30
Rie
08.01.11
✎
20:04
|
+(28) И тебе ведь вовсе не обязательно на каждую запись выборки из результата запроса выводить строку в макет.
А группировки в запросах позволят сотворить чудо. |
|||
31
r-d-v2008
08.01.11
✎
20:05
|
пример можно я не совсем понял как это
|
|||
32
Rie
08.01.11
✎
20:09
|
(31) Сделай два запроса. Один на начало года, другой - на нужную дату (при помощи условия ГДЕ Период=&ВыбДата).
Отсортируй записи в них при помощи УПОРЯДОЧИТЬ ПО. Ну а дальше - беги циклом по обоим сразу и выводи свой макет. |
|||
33
r-d-v2008
08.01.11
✎
20:13
|
если было всего две даты это сейчас две даты а в конце года их будет 12
|
|||
34
Rie
08.01.11
✎
20:17
|
(33) Прочитай о методе Присоединить табличного документа.
Не оно? |
|||
35
Lama12
08.01.11
✎
20:23
|
Транспонировать предлагали?
|
|||
36
r-d-v2008
08.01.11
✎
20:25
|
что значит транспонировать?
|
|||
37
Lama12
08.01.11
✎
20:26
|
(36) о_О
wiki:Транспонирование |
|||
38
Rie
08.01.11
✎
20:27
|
(35) Не надо там ничего транспонировать. Надо данные в запросе получить в нужном порядке.
|
|||
39
Rie
08.01.11
✎
20:27
|
(36) Может, действительно имеет смысл позвать специалиста?
|
|||
40
r-d-v2008
08.01.11
✎
20:27
|
хорошо пример можете дать как это сделать
|
|||
41
r-d-v2008
08.01.11
✎
20:29
|
А на какой х.. тогда я?
|
|||
42
Rie
08.01.11
✎
20:34
|
Как верно было замечено в (14) - стоит посмотреть в сторону СКД. IMHO, она тут вполне уместна.
|
|||
43
los_hooliganos
08.01.11
✎
20:42
|
(0) Контрольные слова в голову: Транспорирование, PIVOT, кросс-таблица, СКД.
|
|||
44
r-d-v2008
08.01.11
✎
20:46
|
Все вопрос снят проблему решил
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |