|
ЗаполнитьЗначенияСвойств не работает с соотвествиями? | ☑ | ||
---|---|---|---|---|
0
Chameleon1980
18.06.24
✎
10:18
|
Есть соответствие
получаю из него новое: НовыеЗначенияФормы = ОбщегоНазначения.СкопироватьРекурсивно(СтарыеЗначенияФормы); хочу заполнить стандартным методом: ЗаполнитьЗначенияСвойств(НовыеЗначенияФормы, ЭтаФорма); не работает. ключи совпадают (правда, видимо из-за метода СкопироватьРекурсивно, в другом порядке) В форме по ключам существуют реквизиты с именами, как ключи в соответствии. вижу, что после ЗаполнитьЗначенияСвойств - новые значения не заполняются. |
|||
1
Ненавижу 1С
гуру
18.06.24
✎
10:20
|
(0) с соответствием не работает, потому что заполняются не по ключам, а одноименные свойства. А у соответствия их нельзя расширить. Порядок ключей в соответствии это вообще что?
|
|||
2
Chameleon1980
18.06.24
✎
10:22
|
(1) вообще не представляю про порядок ключей в соответствии, наверное, порядок их добавления.
Визуально в отладке наоборот расположены. понятно, что, вероятно рекурсия шла создавать с конца, вот и результат. |
|||
3
Chameleon1980
18.06.24
✎
10:22
|
(1) понял - спасибо. Напишем свое для простого соответствия.
|
|||
4
Ненавижу 1С
гуру
18.06.24
✎
10:31
|
(2) лучше думать, что у соответствия нет порядка ключей
|
|||
5
Chameleon1980
18.06.24
✎
10:34
|
(4) я все понимаю. Понимаю, что такое соответствие. Понимаю, что нет порядка. Что ты докопался? визуально то наоборот получилось после копирования. Значит отладчик отображает их в порядке добавления ИМХО. Вопрос закрыт. И не нужно умничать, наверное.
|
|||
6
vde69
18.06.24
✎
10:39
|
В соответствии в ключе может быть число или ссылка. А в получателем ключ может быть числом?
|
|||
7
lEvGl
гуру
18.06.24
✎
10:42
|
(0) для структуры работает, видимо из за этого (6)
|
|||
8
mikecool
18.06.24
✎
10:44
|
(2) не в рекурсии дело, мне показалось - похоже на стек лифо соответствие при добавлении элементов
|
|||
9
Chameleon1980
18.06.24
✎
11:17
|
(6) 1. Это я понимаю (в этом и одно из отличий структуры и соотвествия)
2. типы 100% одинаковые, в моем случае - ответ да. |
|||
10
Chameleon1980
18.06.24
✎
11:19
|
(9) + теоретически. ответ - нет для (6) т.к. в текущей задаче я работаю с реквизитами формы. По-этому произвольных ключей быть не может. Намек понял - можно переехать на структуру. Спасибо. Но оставил пока так (написал свое заполнение с доп. проверкой, нужной только мне)
|
|||
11
Ненавижу 1С
гуру
18.06.24
✎
11:39
|
легкое преобразование, если ключи "хорошие":
Функция СоответствиеВСтруктуру(Соответствие) Результат = Новый Структура; ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(Результат,Соответствие,Истина); Возврат Результат; КонецФункции |
|||
12
Chameleon1980
18.06.24
✎
12:05
|
(11) спасибо большое. Но соответствие в соответствие. Посмотрел соответствующие конструкторы или методы не нашел из структуры в соответствие.
|
|||
13
Chameleon1980
18.06.24
✎
12:06
|
+(12) уже уехал далеко к другой части задачи :)
|
|||
14
DrZombi
гуру
18.06.24
✎
12:32
|
(0) Вот и ладушки :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |