Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Приколы с соответствием

Приколы с соответствием
Я
   live in sky dreams
 
04.12.18 - 10:41
Есть переменная на клиенте. В ней хранится соответствие. Ключ соответствия имеет тип СправочникСсылка. Значение соответствия - структура.
Всего в соответствии тестового образца 2 элемента.

Получаю значение элемента соответствия (структуру) по ключу, модифицирую данные этой структуры, присваиваю модифицированную структуру обратно элементу соответствия (про ключ не забываю): данные модифицируются у всех элемнтов соответствия. Это что за прикол такой?
Все происходит на клиенте.

Изначально, структура для каждого из элементов соответствия присваивается так:
СтруктураЗначений = Новый Структура;
СтруктураЗначений.Вставить("Ключ", Значение);

Соответствие[КлючСоответствия1] = СтруктураЗначений;
Соответствие[КлючСоответствия2] = СтруктураЗначений;

Не может быть так, что при обращении к значению соответствия возвращается не структура, хранимая в нем, а ссылка на структуру? (В моем случае получается одну и ту же, по какому ключу в соответствии я бы ни обращался)

Платформа: 8.3.12.1616, Win64, УФ, форма создана и присутствует только в расширении. Режим совместимости 8.3.10
 
 
   catena
 
1 - 04.12.18 - 10:44
(0)Не может быть, а так и есть. Одна там у вас структура.
   live in sky dreams
 
2 - 04.12.18 - 10:46
(1)Да, сейчас проверил, так и есть.. *facepalm*
Вопрос снят
   Kuzen
 
3 - 04.12.18 - 10:46
Надо так:

СтруктураЗначений = Новый Структура;
СтруктураЗначений.Вставить("Ключ", Значение);
Соответствие[КлючСоответствия1] = СтруктураЗначений;

СтруктураЗначений = Новый Структура;
СтруктураЗначений.Вставить("Ключ", Значение);
Соответствие[КлючСоответствия2] = СтруктураЗначений;
   FIXXXL
 
4 - 04.12.18 - 10:46
(0)
Соответствие[КлючСоответствия1] = СтруктураЗначений;
Соответствие[КлючСоответствия2] = СтруктураЗначений;

одну и ту же СтруктураЗначений присваиваешь обеим записям соответствия
в чем вопрос?
   Rovan
 
5 - 04.12.18 - 11:08
(4) вопрос видимо такой
Как сделать копию структуры ?

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует