|   |   | 
| 
 | Как свернуть ТЗ | ☑ | ||
|---|---|---|---|---|
| 0
    
        Black Dragon 16.12.13✎ 11:55 | 
        Доброго дня!
 Есть некая таблица значений, у которой 2 стат колонки и некое кол-во динамических. Для исключения повторов строк с одинаковыми значениями у стат колонок требуется свернуть ТЗ. Как передать параметр КолонкиСуммирования, если динамические колонки не поименованы? Выдержка из СП: <КолонкиСуммирования> (необязательный) Тип: Строка. Имена колонок, разделенные запятыми, по которым необходимо суммировать значения в строках таблицы значений. | |||
| 1
    
        Wobland 16.12.13✎ 11:55 | 
        поименованы, не ври     | |||
| 2
    
        simol 16.12.13✎ 11:56 | 
        (0)Они не могут быть без имен.     | |||
| 3
    
        Ёпрст гуру 16.12.13✎ 11:57 | 
        (0)
 КолонкиСуммирования = "_1,_2,.....,_125" | |||
| 4
    
        Black Dragon 16.12.13✎ 12:01 | 
        Ок, как узнать имена?
 Для Каждого Стр Из РезультатЗапроса Цикл Если ТабИтогов.Количество() = 0 Тогда // нет строк ТекСтрока = ТабИтогов.Добавить(); КонецЕсли; ИскЗнч = ТабИтогов.Найти(Стр.Счет); Если искЗнч = Неопределено Тогда НоваяКолонка = ТабИтогов.Колонки.Добавить(); ИндексКолонки = ТабИтогов.Колонки.Индекс(НоваяКолонка); ТекСтрока[ИндексКолонки] = Стр.Счет; СписокСчетов.Вставить(ИндексКолонки,Стр.Счет); КонецЕсли; КонецЦикла; | |||
| 5
    
        Defender aka LINN 16.12.13✎ 12:07 | 
        Колонка.Имя
 ВНЕЗАПНО, да? | |||
| 6
    
        Black Dragon 16.12.13✎ 12:11 | 
        Ок, нашел
 КолонкаТаблицыЗначений (ValueTableColumn) Имя (Name) Использование: Чтение и запись. Описание: Тип: Строка. Содержит строку с именем колонки. Доступность: Сервер, толстый клиент, внешнее соединение Спасибо большое за разъяснение бестолковому! )) | |||
| 7
    
        Black Dragon 16.12.13✎ 12:30 | 
        Неправильно! прежде чем утверждать проверь!
 СтрокаИтогов = ""; Для Инд = 2 По ТабИтогов.Колонки.Количество()-1 Цикл ТекКолонка = ТабИтогов.Колонки.Получить(Инд); ИмяКолонки = ТекКолонка.Имя; СтрокаИтогов = СтрокаИтогов + "," + ИмяКолонки; КонецЦикла; После этого кода строка итогов ",,,,", у каждой колонки под отладчиком имя="" | |||
| 8
    
        kortun 16.12.13✎ 12:47 | 
        (7) что именно неправильно то? не совсем понятно     | |||
| 9
    
        Галахад гуру 16.12.13✎ 12:48 | 
        Да уж. Похоже никто пока не догадался делать безымянные колонки.     | |||
| 10
    
        Ёпрст гуру 16.12.13✎ 12:48 | 
        (7) дык колонок то поди и нет в тз при этом.. не ?     | |||
| 11
    
        Галахад гуру 16.12.13✎ 12:54 | 
        (10) Не. Если не руками не назначить, так и будет безымянными.     | |||
| 12
    
        Ненавижу 1С гуру 16.12.13✎ 12:55 | 
        (11) не ври же     | |||
| 13
    
        Ёпрст гуру 16.12.13✎ 12:58 | 
        (12) он не врёт
 Таб = Новый ТаблицаЗначений; Для к = 1 По 10 Цикл Таб.Колонки.Добавить(); КонецЦикла; Для каждого Колонка из Таб.Колонки Цикл Сообщить(Колонка.Имя); КонецЦикла; | |||
| 14
    
        Ёпрст гуру 16.12.13✎ 12:59 | 
        Блин, в снеговике даже это не смогли реализовать.. в клюшках хоть автоматом имена колонкма присваивались
 :)) | |||
| 15
    
        kortun 16.12.13✎ 12:59 | 
        Для Каждого Стр Из РезультатЗапроса Цикл
 Если ТабИтогов.Количество() = 0 Тогда // нет строк ТекСтрока = ТабИтогов.Добавить(); КонецЕсли; ИскЗнч = ТабИтогов.Найти(Стр.Счет); Если искЗнч = Неопределено Тогда НоваяКолонка = ТабИтогов.Колонки.Добавить(); ИндексКолонки = ТабИтогов.Колонки.Индекс(НоваяКолонка); НоваяКолонка.Имя = "Колонка"+ИндексКолонки; ТекСтрока[ИндексКолонки] = Стр.Счет; СписокСчетов.Вставить(ИндексКолонки,Стр.Счет); КонецЕсли; КонецЦикла; вот так пиши | |||
| 16
    
        kortun 16.12.13✎ 13:00 | 
        что уж сложного самому сгенерировать имя колонки     | |||
| 17
    
        Black Dragon 16.12.13✎ 13:01 | 
        Уже по-своему сделал:
 НомКол = 1; Для Каждого Стр Из РезультатЗапроса Цикл Если ТабИтогов.Количество() = 0 Тогда // нет строк ТекСтрока = ТабИтогов.Добавить(); КонецЕсли; ИскЗнч = ТабИтогов.Найти(Стр.Счет); Если искЗнч = Неопределено Тогда НоваяКолонка = ТабИтогов.Колонки.Добавить("Кол" + Строка(НомКол)); НомКол = НомКол + 1; ИндексКолонки = ТабИтогов.Колонки.Индекс(НоваяКолонка); ТекСтрока[ИндексКолонки] = Стр.Счет; СписокСчетов.Вставить(ИндексКолонки,Стр.Счет); КонецЕсли; КонецЦикла; | |||
| 18
    
        Black Dragon 16.12.13✎ 13:02 | 
        дык ведь не знал что они пустые будут ))
 и по индексам было бы неплохо добавлять в свертку тоже! неполноценный АПИ однако! | |||
| 19
    
        Ёпрст гуру 16.12.13✎ 13:03 | 
        Кстате, ЗначениеВСтрокуВнутр это подтверждает, есть токма индекс колонки.. и усё..     | |||
| 20
    
        Black Dragon 16.12.13✎ 13:04 | 
        Хех)     | |||
| 21
    
        WildSery 16.12.13✎ 13:04 | 
        (18) Почему не знал-то?
 КоллекцияКолонокТаблицыЗначений (ValueTableColumnCollection) Добавить (Add) Синтаксис: Добавить(<Имя>, <Тип>, <Заголовок>, <Ширина>) Параметры: <Имя> (необязательный) Тип: Строка. Имя колонки. Значение по умолчанию: Пустая строка [cut] | |||
| 22
    
        Black Dragon 16.12.13✎ 13:07 | 
        в (14) писали уже что в 77 по умолчанию были имена!     | |||
| 23
    
        Black Dragon 16.12.13✎ 13:09 | 
        Даааа, многие на это наступили....что же, судьба)))     | |||
| 24
    
        Галахад гуру 16.12.13✎ 13:11 | 
        (23) Да всем пофиг. Некоторые не только имя колонке дают, но еще и типизируют...     | |||
| 25
    
        Nenaviwu1c20 16.12.13✎ 13:20 | 
        (24) Типизирую только в том случае если в запрос таблицу кинуть надо     | |||
| 26
    
        МихаилМ 16.12.13✎ 13:48 | 
        (25)
 программирование - точная дисциплина. конкретизировать (типизировать) нужно максимально. | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |