|
можно ли создать в 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) Лень
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший