|
v7: Как можно сохранить в строке (колонка ТЗ) таблицы значений другую таблицузначени | ☑ | ||
---|---|---|---|---|
0
alivpo
19.09.11
✎
17:08
|
Как можно сохранить в строке (колонка ТЗ) таблицы значений другую таблицу значений?
|
|||
1
Ёпрст
19.09.11
✎
17:11
|
ТЗ.НоваяСтрока()
ТЗ.ТЗ = СоздатьОбъект("ТаблицаЗначений"); ТЗ.ТЗ.НоваяКолонка("Вася"); ТЗ.ТЗ.НоваяСтрока(); ТЗ.ТЗ.Вася="лошпед"; |
|||
2
Armin
19.09.11
✎
17:12
|
ТаблицаЗначений.ПодтаблицаЗначений = СоздатьОбъект("ТаблицаЗначений");
ВыгружаемаяТаблицаЗначений.Выгрузить(ТаблицаЗначений.ПодтаблицаЗначений); |
|||
3
alivpo
19.09.11
✎
17:22
|
А почему не проходит?
ТабЗначПервая.ПодтаблицаЗначений =ТабЗначВторая; |
|||
4
andrewks
19.09.11
✎
17:24
|
(3) потому что
|
|||
5
Эльниньо
19.09.11
✎
17:26
|
Я понимаю конечно, что между "=" и "Выгрузить" разница в 8 букв.
|
|||
6
Песец
19.09.11
✎
17:29
|
(3) ТабЗначПервая.ПодтаблицаЗначений присваивается ссылка на ТабЗначВторая.
|
|||
7
Chai Nic
19.09.11
✎
17:29
|
Дело в том, что переменная объектного типа - это ССЫЛКА на объект, а не сам объект.
|
|||
8
Vladal
19.09.11
✎
17:29
|
Сделай так:
ТЗ.НоваяКолонка("ВложеннаяТЗ"); или так: ТЗ.НоваяКолонка("ВложеннаяТЗ", "ТаблицаЗначений"); и потом так: ТЗ.НоваяСтрока(); ТЗ.ВложеннаяТЗ = КакаяТоДругаяТЗ; И будет тебе счастье. Я так давненько и частенько в 7.7 делаю. Пример - список баз. Колонка 1 - путь базы (строка) Колонка 2 - список пользователей (тз) Список пользователей - тз Колонка 1 - Идентификатор (имя) Колонка 2 - Список обработок пользователя (список значений) всё как в анекдоте про многоярусный лайнер с бассейном, кортом, сауной и попыткой взлететь |
|||
9
Песец
19.09.11
✎
17:31
|
(6+) а тебе надо создать копию.
|
|||
10
alivpo
19.09.11
✎
17:33
|
Спасибо, попробую
|
|||
11
Эльниньо
19.09.11
✎
17:42
|
Кто создавал ТЗ охрененейшей размерностью?
Я - максимум n = 5. |
|||
12
Chai Nic
19.09.11
✎
17:51
|
(11) Ну можно и дерево рекурсивно создать.. до исчерпания стека. :)
А самое прикольное - что всё это великолепие можно одной командой сохранять/загружать (ЗначениеВФайл/ЗначениеИзФайла). Удобно аж жуть для переброски данных из одной базы в другую, без заморочек с xml и dbase. |
|||
13
Vladal
19.09.11
✎
18:17
|
(11) Моя охрененная пипис.. (зачеркнуто) тз максимум достигала 3 размерностей
1 уромень - 2 мерная, один из реквизитов записи ТЗ, которая - 2 мерная и один из тех реквизитов тоже 2-мерная ТЗ, а второй список значений. Это сколько? 3? или 4? (12) А так и делается. Одной обработкой создал ЭТО великолепие и ЭТО выгрузил в файл. Потом в любой базе готовую структуру читаешь и парсишь. Изврат еще тот. |
|||
14
Cthulhu
19.09.11
✎
20:42
|
медленно но надежно ЗначениеВСтрокуВнутр/ЗначениеИзСтрокиВнутр.
по Выгрузить вложенные не копируются, а со ссылками кладутся - можно нечаянно очень удивиться, поменяв вложенную ТЗ в таблице-источнике. |
|||
15
Фокусник
19.09.11
✎
21:02
|
(12) это до тех пор, пока размер файла относительно маленький :)
|
|||
16
Cthulhu
19.09.11
✎
21:23
|
(12): у "ЗначениеВФайл" есть очень неприятная особенность.
начиная с некоторого размера (сохраняемых данных) время сохранения начинает расти нелинейно (экспоненциально). Особенно неприятно при сохранении больших ТЗ. Сохраняешь маленькую - красота, среднюю - класс, большую рабочую - ой, пять минут, и чуть больше - опа, час-два, ещё чуть больше - пипец, пять часов молотит на белом экране, зарраза. |
|||
17
Chai Nic
20.09.11
✎
15:45
|
(16) Для больших объемов данных есть метод индексированной таблицы ВФайл (1с++) , делающий по сути то же самое (только сохраняет в другом формате).
|
|||
18
Рэйв
20.09.11
✎
15:56
|
(3)ТабЗначПервая.ПодтаблицаЗначений =ТабЗначВторая.Скопировать();
|
|||
19
ЧеловекДуши
20.09.11
✎
16:00
|
(8)ТЗ.НоваяКолонка("ВложеннаяТЗ", "ТаблицаЗначений");
Самая бессмысленная строчка. Можно было записать её так ТЗ.НоваяКолонка("ВложеннаяТЗ"); Все ровно 1С строку "ТаблицаЗначений" воспримет, как неопределенный тип, т.е. там может быть любой тип. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |