|
можно ли создать в 1с свой тип на основании объекта? | ☑ | ||
---|---|---|---|---|
0
Andy MilkyWay
11.01.13
✎
12:24
|
Заранее прошу прощения за заумность вопроса :).
У меня есть объект - структура с определенными ключами. Мне нужно создать ряд элементов массива, в каждом из которых будет хранится такая структура, и далее в цикле сделать обработку массива. При простом перезаполнении структуры и ее сохранении в массиве фактически я сохраняю ссылку на одну и ту же структуру, а не создаю новый экземпляр структуры. Можно ли определить свой тип данных на основании моей структуры и пользоваться для создания новых элементов массива? Или нужно каждый раз создавать новую с помощью новый структура ? |
|||
1
Fragster
гуру
11.01.13
✎
12:25
|
КопияСтруктуры = ЗначениеИзСтрокиВнутр(ЗначениеВСТрокуВнутр(Структура));
|
|||
2
Andy MilkyWay
11.01.13
✎
12:26
|
(1) сейчас попробую...
|
|||
3
Fragster
гуру
11.01.13
✎
12:26
|
Вообще по логике -
СписокОбщихПолей = "Поле1,Поле2"; Структура1 = Новый СТруктура(СписокОбщихПолей); Структура2 = Новый СТруктура(СписокОбщихПолей); |
|||
4
Fragster
гуру
11.01.13
✎
12:27
|
а не будет в этом случае логичнее использовать таблицу значений?
|
|||
5
Andy MilkyWay
11.01.13
✎
12:28
|
(4) сейчас попробую, подумаю, потом отпишусь. Может Вы и правы
|
|||
6
Andy MilkyWay
11.01.13
✎
12:44
|
Благодарю за помощь, все получилось, как и хотел! Наверное проще было бы действительно воспользоваться ТЗ, просто зациклился на структуре :). Но буду иметь в арсенале и такой способ.
|
|||
7
samozvanec
11.01.13
✎
12:53
|
вот за это (1) вам леща, а за это (4) пирожок)
|
|||
8
del123
11.01.13
✎
12:55
|
(7) итого пирожок с лещем :D
|
|||
9
pessok
11.01.13
✎
12:57
|
лещ в пятницу. к пиву. самое то :)
|
|||
10
Reset
11.01.13
✎
13:04
|
Если уж задаваться целью делать копию структуры,я бы делал так:
Копия=Новый Структура; Для каждого Свойство из СтруктураОригинал цикл Копия.Вставить(Свойство.Ключ,Свойство.Значение); КонецЦикла; Но вообще использование ТЗ самая здравая мысль. |
|||
11
Reset
11.01.13
✎
13:06
|
для "неициализированной структуры"
Копия.Вставить(Свойство.Ключ); или, если список полей известен, то (3) |
|||
12
Fragster
гуру
11.01.13
✎
13:08
|
(7) мне всё можно
|
|||
13
Fragster
гуру
11.01.13
✎
13:09
|
(10) сравни производительность (1) и своего способа
|
|||
14
Reset
11.01.13
✎
13:10
|
Массив структур удобнее, если между собой они существенно отличаются наборами свойств. Если в основном или полностью совпадают, то ТЗ удобнее + получаем в виде бонуса сортировку,поиск, индексирование
|
|||
15
Reset
11.01.13
✎
13:13
|
Можно также использовать ТЗ с колонка-"общими" свойствами и колонкой "дополнительные свойства", в которой хранить структуру свойств "уникальных"
|
|||
16
Reset
11.01.13
✎
13:14
|
(13) Лень
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |