Имя: Пароль:
1C
 
СКД - не выводить значение, если оно равно предыдущему
0 MRAK
 
01.07.10
11:54
Кто подскажет, как такое сделать?
Например:
1          Подразделение1
2          Подразделение1
3          Подразделение2

Надо, чтобы в строке 2 Подразделение1 не выводилось. Где-то давно видел реализацию этого, но забыл...
1 MRAK
 
01.07.10
11:55
Без выгрузки СКД в таблицу и программной обработки
2 Ksandr
 
01.07.10
11:56
оставалось пустым? или объединять строки?
3 MRAK
 
01.07.10
12:01
Пустым оставить
4 Grusswelle
 
01.07.10
12:02
(0) вынеси в группировку.
5 MRAK
 
01.07.10
12:05
(4) мне нужно, чтобы строка 2 была.
6 MRAK
 
01.07.10
12:05
+ только поле "Подразделение" было пустым. В отчете и другие поля есть
7 Лефмихалыч
 
01.07.10
12:09
(4) +1, только надо в этом случае подразделение из полей убрать, оставить только в группировке
8 MRAK
 
01.07.10
12:27
(7) так не надо. там таких полей полно. Для каждого, чтоли группировку делать?
9 MRAK
 
01.07.10
12:30
Например:

1          Подразделение1          НГ1          ХЗ1
1          Подразделение1          НГ2          ХЗ1
1          Подразделение2          НГ2          ХЗ1
1          Подразделение2          НГ3          ХЗ1
1          Подразделение2          НГ4          ХЗ1
1          Подразделение3          НГ4          ХЗ5
10 MRAK
 
01.07.10
12:34
Вроде как-то можно получить предыдущее значение?
11 sergeante
 
01.07.10
14:55
Можно неверно в бесконечном цикле обрабатывать ЭлементРезультата


Пока Истина Цикл
       ЭлементРезультата = ПроцессорКомпоновки.Следующий();
       Если ЭлементРезультата = Неопределено Тогда
           Прервать;
       Иначе
           ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);  <<<<<<<<<<<
       КонецЕсли;
   КонецЦикла;
   ПроцессорВывода.ЗакончитьВывод();
12 sergeante
 
01.07.10
15:07
(0) проверил (11)

Можно главное добраться до нужного параметра
Если ЭлементРезультата.Макет = "Макет6" Тогда
   ТекЗначение = ЭлементРезультата.ЗначенияПараметров.П8.Значение;
   Если ТекЗначение = ПредЗначение Тогда
         ЭлементРезультата.ЗначенияПараметров.П8.Значение = "";
   КонецЕсли;
   
КонецЕсли;
13 MRAK
 
01.07.10
16:23
(12) спасибо
14 Птица
 
01.07.10
16:26
(8)одну для всех сделай
15 nbIx
 
01.07.10
16:39
Народ, а как вообще посмотреть визуально макеты, которые генерит СКД.

В построителе все просто было, а тут хз.
16 nbIx
 
01.07.10
16:42
(0) А вообще выведи в макет,а потом пробегись по табличному документу и постирай свои подразделения.
17 MRAK
 
01.07.10
19:28
(16) думаю, что это не самый быстрый вариант...
18 Ksandr
 
01.07.10
20:09
Смотри на адреса здесь:
http://s61.radikal.ru/i173/1007/fc/6730775fcc8f.jpg

если так устроит - могу дать код.
После вывода - обход ячеек ибъединение одинаковых значений
19 Ksandr
 
01.07.10
20:12
Ну или посмотри запросы с нарастающим итогом, только вместо суммирования показателей выводи пустые, если предыдущий равен текущему, но, как в (18) быстрее
20 MRAK
 
01.07.10
20:15
(18) вроде красиво сделано...
я по-быстрому вручную через выборку из запроса пока сделал, но если не жалко кинь мне на roman.ershov сабака mail.ru...
у тебя красивее...
Ошибка? Это не ошибка, это системная функция.