Имя: Пароль:
1C
1С v8
Соответствие.Получить(Ключ) - не работает. Что не так?
0 evorle145
 
24.07.18
10:33
Есть простой код:

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

КонецЦикла;


При этом Ячейки = Неопределено!! Как так ?
1 lodger
 
24.07.18
10:36
в ключи соответствия не рекомендуется пихать мутабельные значения, к которым можно отнести структуру.
2 lodger
 
24.07.18
10:37
ртфм же
КлючИЗначение (KeyAndValue)
Ключ (Key)
Использование:

Только чтение.
Описание:

Тип: Произвольный.
Содержит ключ элемента соответствия. Рекомендуется, чтобы в качестве ключа выступало значение примитивного типа или другого типа, значение которого может только присваиваться, но не может менять свое содержимое.
3 lodger
 
24.07.18
10:38
если нужно 2 измерения, тогда делай ТЗ, только не забывай контролировать уникальность комбинаций значений измерений.
4 evorle145
 
24.07.18
10:39
(2) е мае... точно.. спасибо... Ладно, тогда через таблицу значений буду переделывать сейчас.