|   |   | 
| 
 | v7: Обращение к колонкам ТЗ заранее неизвестным. | ☑ | ||
|---|---|---|---|---|
| 0
    
        Seeker_ Of_Truth 09.09.11✎ 14:50 | 
        Добрый день! Подскажите пожалуйста есть ли какой-нибудь приём обращения к колонкам ТЗ, если их индфикаторы создаются динамически?
  Т.е. заранее создаём ТЗ, потом в цикле создаём для неё колонки с уникальными идентификаторами. Затем нужно вписать туда информацию, но как обратиться к этой колонке? Пример: ТЗСложныйОтчет = СоздатьОбъект("ТаблицаЗначений"); ТЗСложныйОтчет.НоваяКолонка("Товар"); ТЗСкладов.ВыбратьСтроки(); Пока ТЗСкладов.ПолучитьСтроку() = 1 Цикл ТЗСложныйОтчет.НоваяКолонка("СебестоимостьСумма"+ТЗСкладов.Склад.Код); ТЗСложныйОтчет.НоваяКолонка("ПродСтоимостьСумма"+ТЗСкладов.Склад.Код); КонецЦикла; НоваяСтрока = 1; ТЗ.ВыбратьСтроки(); Пока ТЗ.ПолучитьСтроку() = 1 Цикл ТекТовар = ТЗ.Товар; ТекСклад = ТЗ.Склад; Если НоваяСтрока = 1 Тогда ТЗСложныйОтчет.НоваяСтрока(); ТЗСложныйОтчет.Товар = ТЗ.Товар; НоваяСтрока = 0; ПредТовар = ТЗ.Товар; КонецЕсли; Если ТекТовар = ПредТовар Тогда ТЗСложныйОтчет.СебестоимостьСумма+ТЗСкладов.Склад.Код (ВОТ ТУТ ПРОБЛЕМА ПРИ ОБРАЩЕНИИ) ... ... ... КонецЕсли; КонецЦикла; | |||
| 1
    
        Irbis 09.09.11✎ 14:51 | 
        По номеру и идентификатору не предлагать?     | |||
| 2
    
        Ёпрст гуру 09.09.11✎ 14:51 | 
        ПолучитьЗначение
  УстановиьЗначение | |||
| 3
    
        Seeker_ Of_Truth 09.09.11✎ 14:52 | 
        Пасиб, щас попробую! =)     | |||
| 4
    
        Ткачев 09.09.11✎ 14:53 | 
        Нее ?
  ТЗСложныйОтчет["СебестоимостьСумма"+ТЗСкладов.Склад.Код] | |||
| 5
    
        andrewks 09.09.11✎ 14:55 | 
        (4) не     | |||
| 6
    
        Seeker_ Of_Truth 09.09.11✎ 14:56 | 
        ТЗСложныйОтчет.<<?>>["СебестоимостьСумма"+ТЗСкладов.Склад.Код] =  ТекСклад;
  {F:\Задания\СредняяНаценка\СредняяНаценка.ert(124)}: Ожидается идентификатор При проверке модуля обнаружены синтаксические ошибки! | |||
| 7
    
        Ткачев 09.09.11✎ 14:57 | 
        (6)Точку убрать     | |||
| 8
    
        Seeker_ Of_Truth 09.09.11✎ 14:58 | 
        В принципе по номеру можно отследить в какие колонки чего вписывать. Как с идентификатором быть хз...     | |||
| 9
    
        VladZ 09.09.11✎ 14:58 | 
        ДобКолонка = "СебестоимостьСумма"+ТЗСкладов.Склад.Код;
  ТЗСложныйОтчет.НоваяКолонка(ДобКолонка); В отладчике проверь, что у тебя в "ДобКолонка". | |||
| 10
    
        Seeker_ Of_Truth 09.09.11✎ 14:59 | 
        ТЗСложныйОтчет<<?>>["СебестоимостьСумма"+ТЗСкладов.Склад.Код] =  ТекСклад;
  Переменная не объявлена как массив (ТЗСложныйОтчет) При проверке модуля обнаружены синтаксические ошибки! | |||
| 11
    
        andrewks 09.09.11✎ 14:59 | 
        (7) заголовок ветки внимательно читал?     | |||
| 12
    
        Seeker_ Of_Truth 09.09.11✎ 14:59 | 
        (9) Сейчас проверю     | |||
| 13
    
        VladZ 09.09.11✎ 15:00 | 
        (10) Не слушай его...  Фигню говорит.     | |||
| 14
    
        povar 09.09.11✎ 15:01 | 
        (4) это что за хе..ня ?     | |||
| 15
    
        Ткачев 09.09.11✎ 15:01 | 
        (11)Нее, не внимательно, (0) сорри.     | |||
| 16
    
        andrewks 09.09.11✎ 15:01 | 
        (14) это знак бесконечности, повёрнутый набок     | |||
| 17
    
        VladZ 09.09.11✎ 15:03 | 
        (12) Может у тебя там пробелы или точки...     | |||
| 18
    
        Seeker_ Of_Truth 09.09.11✎ 15:06 | 
        Не, нет. Там просто склеиваются два строковых значения 1) "СебестоимостьСумма" и 2) ТЗСкладов.Склад.Код, равный "95"
  В итоге СебестоимостьСумма95 | |||
| 19
    
        Seeker_ Of_Truth 09.09.11✎ 15:06 | 
        И так далее, всего получается 9 колонок.     | |||
| 20
    
        Seeker_ Of_Truth 09.09.11✎ 15:08 | 
        В принципе задачу можно сделать и другими способами. Просто интересно можно ли и так? Делать имя переменной (а неё содержание) исходя из другой информации.     | |||
| 21
    
        Ткачев 09.09.11✎ 15:09 | 
        (2)?
  ТЗСложныйОтчет.УстановиьЗначение(,"СебестоимостьСумма"+ТЗСкладов.Склад.Код, ТекСклад); Или ТЗСложныйОтчет.УстановиьЗначение(ТЗСложныйОтчет.ТекущаяСтрока(),"СебестоимостьСумма"+ТЗСкладов.Склад.Код, ТекСклад); | |||
| 22
    
        Ёпрст гуру 09.09.11✎ 15:14 | 
        (20) это принципиально не возможно для тех, кто не умеет читать.     | |||
| 23
    
        Seeker_ Of_Truth 09.09.11✎ 15:17 | 
        (21) (2) (22) Все получилось! Всем Спасибо!     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |