| 
    
        
     
     | 
    
    
  | 
ЗаполнитьЗначенияСвойств таблицы значений | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        novmax    
     16.04.22 
            ✎
    11:19 
 | 
         
        Помогите пожалуйста! Как можно с помощью функции ЗаполнитьЗначенияСвойств() перенести данные из соответствия в строку таблицы значений. В соответствии несколько пар ключ:значение. В строке таблицы значений такое же количество колонок, по имени совпадают с ключами. Это учебная задача, не получается никак.     
         | 
|||
| 
    1
    
        hhhh    
     16.04.22 
            ✎
    11:20 
 | 
         
        покажите, как пробовали.     
         | 
|||
| 
    2
    
        novmax    
     16.04.22 
            ✎
    11:26 
 | 
         
        Много как. Все не работает и уже стерто.
 
        Хочу что-то вроде перебора пар соответствий, тогда источником будет конкретная пара, но вот что приемником? Как связать колонку таблицы значений с ключом соответствия? Строка = ТЗ.Добавить(); Для Каждого Пара ИЗ Соответствие Цикл ... ЗаполнитьЗначенияСвойств(???, Пара); КонецЦикла;  | 
|||
| 
    3
    
        youalex    
     16.04.22 
            ✎
    11:28 
 | 
         
        ЗаполнитьЗначенияСвойств - обязательное условие?     
         | 
|||
| 
    4
    
        novmax    
     16.04.22 
            ✎
    11:33 
 | 
         
        Обязательное, в том и смысл задачи. Без него все было бы намного проще.     
         | 
|||
| 
    5
    
        Смотрящий    
     16.04.22 
            ✎
    11:47 
 | 
         
        ТЗСтрока = ТЗ.Добавить();
 
        ЗаполнитьЗначенияСвойств(ТЗСтрока, Соответствие);  | 
|||
| 
    6
    
        RomanYS    
     16.04.22 
            ✎
    11:47 
 | 
         
        (2) 
 
        СтрокаТЗ = ТЗ.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаТЗ, Соответствие);  | 
|||
| 
    7
    
        dreizehn    
     16.04.22 
            ✎
    11:56 
 | 
         
        (5), (6) - Теоретики...     
         | 
|||
| 
    8
    
        RomanYS    
     16.04.22 
            ✎
    12:05 
 | 
         
        (7) да, перепроверил. Структуру из соответствия НЕ заполняет.     
         | 
|||
| 
    9
    
        dreizehn    
     16.04.22 
            ✎
    12:08 
 | 
         
        (8) Из соответствия нельзя извлечь значение, кроме как при помощи метода Получить и его "короткой" записи "[]". Так что для ЗаполнитьЗначенияСвойств без вспомогательных данных не обойтись - переложить в цикле в промежуточную структуру, например. 
 
        Но вообще дичь, конечно. (0) Это где такие учебные задачи раздают?  | 
|||
| 
    10
    
        novmax    
     16.04.22 
            ✎
    12:12 
 | 
         
        Ладно, нельзя так нельзя. Думаю, что с этой задачей я уже сдамся. Пусть разъяснят.
 
        Где раздают, не хочется афишировать.  | 
|||
| 
    11
    
        dreizehn    
     16.04.22 
            ✎
    12:15 
 | 
         
        Хотя можно, конечно, извратиться и без цикла =)
 
        Приемник = Новый ТаблицаЗначений; Приемник.Колонки.Добавить("Поле1"); Приемник.Колонки.Добавить("Поле2"); Приемник.Колонки.Добавить("НеПоле"); Источник = Новый Соответствие; Источник.Вставить("Поле1", "Значение 1"); Источник.Вставить("Поле2", "Значение 2"); Источник.Вставить("Поле3", "Значение 3"); Запись = Новый ЗаписьJSON; Запись.УстановитьСтроку(); ЗаписатьJSON(Запись, Источник); Чтение = Новый ЧтениеJSON; Чтение.УстановитьСтроку(Запись.Закрыть()); ИсточникСтруктурой = ПрочитатьJSON(Чтение, Ложь); ЗаполнитьЗначенияСвойств(Приемник.Добавить(), ИсточникСтруктурой); Приемник.ВыбратьСтроку();  | 
|||
| 
    12
    
        Фрэнки    
     16.04.22 
            ✎
    13:38 
 | 
         
        (10) это при приеме на работу или где-то еще? не в плане физического адреса, а какая цель такого задания?     
         | 
|||
| 
    13
    
        ДедМорроз    
     16.04.22 
            ✎
    20:33 
 | 
         
        Заполнить значения свойств использует свойства объекта источника и приемника.
 
        Но,соответствие - это такой объект,у которого свойств нет,то есть через точку от соответствия ничего не получить,это же не структура.  | 
|||
| 
    14
    
        Индиго    
     16.04.22 
            ✎
    20:37 
 | 
         
        А то что имена полей должны совпадать автору уже говорили?     
         | 
|||
| 
    15
    
        dreizehn    
     16.04.22 
            ✎
    21:15 
 | 
         
        (14) > автору уже говорили?
 
        Давай я научу тебя забытому исскуству. Вот пост (0), там разные значки написаны. Если присмотреться, то они во что-то даже складываются: п-о и-м-е-н-и с-о-в-п-а-д-а-ю-т с к-л-ю-ч-а-м-и. Правда, здорово?  | 
|||
| 
    16
    
        Индиго    
     16.04.22 
            ✎
    21:49 
 | 
         
        (15)Спасибо.
 
        Давая научу тебя еще более древнему искуству. Не читать всю тему, которая может растянуться на 1000 постов, а просто задать вопрос.И вот такие дурачки как ты набегут и все раскажут. Спасибо:-)  | 
|||
| 
    17
    
        Said_We    
     16.04.22 
            ✎
    22:04 
 | 
         
        (16) Опять не внимательно прочитал. В условии в (0) написано про совпадающие ключи и имена полей. Для этого не надо переписку читать. Это условие в (0).     
         | 
|||
| 
    18
    
        youalex    
     16.04.22 
            ✎
    22:43 
 | 
         
        ЗаписатьXDTO() тоже мимо. Примечательно, что там элементы называются именно пары (pairs).
 
        В любом случае, кмк, без одевания штанов через голову (создания структуры из соответствия, тем или иным способом) не обойтись. Собственно, (9)  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |