Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/27: Рейтинг темы: голосов - 27, средняя оценка - 4.67
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,228
1
1C 8.x

Отчет, детальные строки, объединить 1 из 3-х группировок в отдельной колонке

31.03.2013, 19:22. Показов 5374. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Давай те вернемся назад, может что то не так друг друга поняли, сначала я сделал так

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
        
        Запрос = Новый Запрос (
        "ВЫБРАТЬ
        |   УниверсальнаяЗадача.КомуНазначено КАК КомуНазначено,
        |   УниверсальнаяЗадача.ЗадачаПоДокументу,
        |   УниверсальнаяЗадача.КонтрольныйСрок
        |ИЗ
        |   Задача.УниверсальнаяЗадача КАК УниверсальнаяЗадача
        |ГДЕ
        |   УниверсальнаяЗадача.КонтрольныйСрок МЕЖДУ &Дата1 И &Дата2
        |
        |СГРУППИРОВАТЬ ПО
        |   УниверсальнаяЗадача.КомуНазначено,
        |   УниверсальнаяЗадача.ЗадачаПоДокументу,
        |   УниверсальнаяЗадача.КонтрольныйСрок");
    Запрос.УстановитьПараметр("Дата1",Дата1);
    Запрос.УстановитьПараметр("Дата2",Дата2);
    //Запрос.УстановитьПараметр("Организация",Организация);
    Результат = Запрос.Выполнить().Выбрать();
    Пока Результат.Следующий() Цикл
        Детали = Макет.ПолучитьОбласть("Детали");
        Детали.Параметры.Исполнитель = Результат.КомуНазначено;
        Детали.Параметры.Срок = Результат.КонтрольныйСрок;
        Детали.Параметры.ДокументНаименование = Результат.ЗадачаПоДокументу; 
        ТабДок.Вывести(Детали);
 
    КонецЦикла;
Получилось 2 картинка
а мне нужно чтобы было так 1 картинка
Миниатюры
Отчет, детальные строки, объединить 1 из 3-х группировок в отдельной колонке   Отчет, детальные строки, объединить 1 из 3-х группировок в отдельной колонке  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2013, 19:22
Ответы с готовыми решениями:

Отчет СКД Убрать детальные записи
В отчете написанном на скд необходимо убрать значения детальных записей в колонках X Y при этом...

Объединить ячейки в колонке В, так же как в колонке А
Добрый день. Столкнулся с проблемой. Интересует решение, хотя бы с логической стороны (код сам...

Отчет с N-уровнями группировок
Доброго времени суток. Возник вопрос следующего содержания: Необходимо сделать отчет по...

Отчет СКД. Настройка группировок отчета
Добрый вечер. Вопрос. Как убрать выделенные поля? Чтобы было просто пусто. Сейчас просто...

8
59 / 59 / 6
Регистрация: 16.01.2013
Сообщений: 162
01.04.2013, 11:50 2
Может вот это поможет

1C
1
ТДМакет.НачатьАвтогруппировкуСтрок();
и это

1C
1
ТДМакет.ЗакончитьАвтогруппировкуСтрок();
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
02.04.2013, 09:53 3
Доступность: Сервер, толстый клиент, внешнее соединение.
1C
1
2
Область = ТабДок.Область(2,2,3,3);
Область.Объединить();
1
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,228
02.04.2013, 10:57  [ТС] 4
duk337, Это я понимаю что так можно сделать а как задать условие чтобы он автоматический находил и объединял Исполнителя
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
02.04.2013, 11:29 5
уйма способов.
Например, вложенный цикл по двум ТабЗн. Одна детальная - внутренний цикл с отбором по значению свёрнутой, по которой внешний цикл. и ячейки не объединять, а выводить в верхней строчке.
Далее,
на СКД это решается штатно (регулировка измерений по колонкам, способ вывода итогов и т.д.);
построитель, опять же;
универсальный отчет как способ обуздания построителя...
1
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,228
04.04.2013, 16:16  [ТС] 6
Попробовал сделать такое объединение

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
        
        Запрос = Новый Запрос (
        "ВЫБРАТЬ
        |   УниверсальнаяЗадача.КомуНазначено,
        |   УниверсальнаяЗадача.ЗадачаПоДокументу,
        |   УниверсальнаяЗадача.КонтрольныйСрок КАК КонтрольныйСрок
        |ИЗ
        |   Задача.УниверсальнаяЗадача КАК УниверсальнаяЗадача
        |ГДЕ
        |   УниверсальнаяЗадача.КонтрольныйСрок МЕЖДУ &Дата1 И &Дата2
        |   И УниверсальнаяЗадача.КомуНазначено.Организация В(&Организация)
        |  " + ?(ВидДокумента.Пустая(), "", "
        |   И УниверсальнаяЗадача.ЗадачаПоДокументу.ВидДокумента В ИЕРАРХИИ(&ВидДокумента)") + "
        |  " + ?(Подразделение.Пустая(), "", "
        |   И УниверсальнаяЗадача.ПодразделениеКомуНазначено В ИЕРАРХИИ(&Подразделение)") + "
        |
        |СГРУППИРОВАТЬ ПО
        |   УниверсальнаяЗадача.КомуНазначено,
        |   УниверсальнаяЗадача.ЗадачаПоДокументу,
        |   УниверсальнаяЗадача.КонтрольныйСрок
        |
        |УПОРЯДОЧИТЬ ПО
        |   КомуНазначено");
        
        
        
    Запрос.УстановитьПараметр("Дата1",Дата1);
    Запрос.УстановитьПараметр("Дата2",Дата2);
    Запрос.УстановитьПараметр("Организация",Организация);
    Запрос.УстановитьПараметр("ВидДокумента",ВидДокумента);
    Запрос.УстановитьПараметр("Подразделение",Подразделение);
    Результат = Запрос.Выполнить().Выбрать();
    
    Детали = Макет.ПолучитьОбласть("Детали");
    
    КонечнаяСтрокаОбъединения  = 5;
    НачальнаяСтрокаОбъединения    = КонечнаяСтрокаОбъединения;
    ПредыдущийКомуНазначено      = Неопределено;
    
    МассивИсполнителей = Новый Массив;
    
    Пока Результат.Следующий() Цикл
        
        //+ Заполнение параметров области и вывод в табличный документ
        КомуНазначено = Результат.КомуНазначено;
        
        Детали.Параметры.Исполнитель  = КомуНазначено;
        
        Если МассивИсполнителей.Найти(КомуНазначено) = Неопределено Тогда
            МассивИсполнителей.Добавить(КомуНазначено);
        Иначе
            Детали.Параметры.Исполнитель = "";
        КонецЕсли;
        
        Детали.Параметры.Срок                    = Результат.КонтрольныйСрок;
        Детали.Параметры.ДокументНаименование    = Результат.ЗадачаПоДокументу;
        
        ТабДок.Вывести(Детали);
        //- Заполнение параметров области и вывод в табличный документ
        
        
        Если ПредыдущийКомуНазначено = Неопределено Тогда
            ПредыдущийКомуНазначено = КомуНазначено;
        КонецЕсли;
        
        
        Если    НЕ ПредыдущийКомуНазначено = КомуНазначено
            И  НЕ НачальнаяСтрокаОбъединения = КонечнаяСтрокаОбъединения Тогда 
            
            ОбластьОбъединения = ТабДок.Область("R" + НачальнаяСтрокаОбъединения + "C" + "2" + ":" + "R" + КонечнаяСтрокаОбъединения + "C" + "2"); 
            
            ОбластьОбъединения.Объединить();
            
            НачальнаяСтрокаОбъединения    = КонечнаяСтрокаОбъединения;
            
        КонецЕсли;
        
        КонечнаяСтрокаОбъединения  = ТабДок.ВысотаТаблицы;
        
    КонецЦикла;
Но результат получился не такой который нужно, я так понимаю, он оставляет только первую строчку и последнюю а остальные все объединяет, но в объединенных строчках есть еще другие исполнители, которых он не видет.
Миниатюры
Отчет, детальные строки, объединить 1 из 3-х группировок в отдельной колонке  
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
04.04.2013, 16:27 7
Цитата Сообщение от Ermak27 Посмотреть сообщение
Но результат получился не такой который нужно,
Ну так ДОРАБАТЫВАЙТЕ!
1
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,228
04.04.2013, 18:59  [ТС] 8
duk337, в том то и дело не знаю как быть мне
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
05.04.2013, 09:40 9
отлаживаться. Тут у нас бытует мнение: чем длиннее фрагмент программы, тем короче ум. Привыкните искать конкретные ошибки, а не "помогите, у меня автобус сломался"
1
05.04.2013, 09:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.04.2013, 09:40
Помогаю со студенческими работами здесь

Отчет на скд, расчитать ресурс по разным полям для разных группировок
Здравствуйте, возникла задача в отчете на СКД, содержащем несколько группировок рассчитать один и...

Текст выходит в отдельной колонке
Доброго дня господа. Вот текст идет полосой вниз. Как сделать так чтобы оставшееся белое...

Внешний отчет. Вывод итога по колонке.
Здравствуйте, Есть внешний отчет в макете которого надо вывести итог по одной колонке, но как это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru