Имя: Пароль:
1C
1С v8
Запрос к таблице значений
,
0 Kalina
 
29.05.14
14:47
Здравствуйте
Есть у меня заполненная Таблица Значений с колонками "Контрагент", "ДатаОтгрузки", "СуммаОтгрузки", "Премия" и т. д.
Задача тривиальная вывести все это красиво: с группировочками по группам контрагентов, с итогами по группам и подгруппам (группировки до 3-х уровневых), чтобы они раскрывались и сворачивались.
Кроме как впернуть эту ТЗ в построитель мне ничего не приходит в голову.
Но что-то никак не соображу как это сделать.
Может кто даст на водку :)
Буду признателен подробному развернутому ответу
С Уважением Kalina
1 Ёпрст
 
29.05.14
14:48
(0) тз пихаешь во временную табличку, потом запрос к ней.. усё. Колонки ТЗ должны быть явно типизированными.
2 Wobland
 
29.05.14
15:09
отдай свою ТЗ в СКД, если и правда запросом не можешь получить нужные данные

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    СтандартнаяОбработка=Ложь;
    
    Результат=ДобытьРезультат();
    ВнешниеНаборыДанных=Новый Структура;
    ВнешниеНаборыДанных.Вставить("Результат", Результат);
    
    Настройки=СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
    КомпоновщикМакета=Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки=КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);

    ПроцессорКомпоновкиДанных=Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки);

    ПроцессорВывода=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
КонецПроцедуры
3 Kalina
 
29.05.14
15:27
ЗапросКонтрагенты.Текст = "ВЫБРАТЬ
                            |    *
                            |ПОМЕСТИТЬ ВТДанные
                            |ИЗ
                            |    &ИтогиТП КАК ИтогиТП
                            |;
                            |ВЫБРАТЬ
                            | *
                            |ИЗ
                            |    ВТДанные КАК ВТДанные
                            |    Упорядочить ПО
                            |Группа ИЕРАРХИЯ
                            |";
Задача не получить нужные данные, они уже получены в ТЗ ИтогиТП
Задача вывести красиво (с группировкой по контрагентам - поле "Группа", с итогами по группировкам) с возможностью эти группировки развернуть и свернуть.
Для выше приведенного запроса не могу вообще открыть его  через консоль запросов.
Пишет- поле не найдено - "Группа" хотя обработка все отрабатывает без ошибок .Не могу понять что не так - может поля надо явно описывать
4 х86
 
29.05.14
15:30
(2)+10500
я за СКД, проще, быстрее, красивее
5 Maxus43
 
29.05.14
15:30
конструктором лепи сразу, раз так не получается
6 Kalina
 
29.05.14
15:32
Конструктор не открывает запрос
Пишет- поле не найдено - "Группа" хотя обработка все отрабатывает без ошибок
С СКД не сталкивался, к сожалению
7 Wobland
 
29.05.14
15:33
(3) ну и забудь про ТЗ
8 Wobland
 
29.05.14
15:33
(6) беда. без конструктора запрос не отработает, конечно
9 Maxus43
 
29.05.14
15:38
(6) пустой конструктор открой и там сделай с нуля запрос, а не этот кривой в него пихай
10 х86
 
29.05.14
15:45
(6)да не мучайся, делай на СКД
я могу ошибаться, но вроде как Построитель ТЗ понимает только как источник, и при этом ни какого текста запроса не пишется
11 Wobland
 
29.05.14
15:46
(10) истина
12 Kalina
 
29.05.14
15:48
(9) Может аргументируешь чем он кривой ???
(8) А он и работает без конструктора, вот только без конструктора мне знаний не хватает его грамотно составить, я собственно об этом и написал в первом посте
(10) не сталкивался с СКД - боюсь потерять время
13 Wobland
 
29.05.14
15:52
(12) тебя поуговаривать что ли?
14 Maxus43
 
29.05.14
15:53
(12) Если не открывается конструктором - то для него он кривой. Это очевидно...
15 Maxus43
 
29.05.14
15:54
замени звезду на поле Группа, в конструкторе покрути как хочешь, потом опять на звезду поменяй
16 DexterMorgan
 
29.05.14
16:03
(2) Настройки=СхемаКомпоновкиДанных.НастройкиПоУмолчанию;

Думается что лучше все же КомпоновщикНастроек.ПолучитьНастройки()
17 Wobland
 
29.05.14
16:05
(16) вроде да, это мы позже исправили. из ранней версии скопировал
18 DexterMorgan
 
29.05.14
16:06
(12) бу-га-га, Ты когда узнаешь как это делается в СКД, боюсь убьешь себяап стену)
19 DexterMorgan
 
29.05.14
16:06
(17) Иначе пользователю не дашь настройки поменять =)
20 catena
 
29.05.14
16:17
(12)Не открывается конструктором потому, что конструктор не может знать, какие колонки у тебя есть в &ИтогиТП. Пропиши вместо * все поля явно и будет щастье. На этом этапе. Только вот построитель не работает с таблицами в запросе, только как источник данных. Так что СКД все равно придецца открыть.
21 DexterMorgan
 
29.05.14
16:31
(20) ну если мусье ищет извращений: http://infostart.ru/public/96970/
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший