|
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) Все получилось! Всем Спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |