Для примера возьмём функцию из типовой УТ 2.3.12.1

Функция ПолучитьПараметрСервераТО(ИмяПараметра, ТипПараметра)

    Если мДанныеСервера = Неопределено Тогда
        мДанныеСервера = Новый Структура();
    КонецЕсли;

    Результат = Неопределено;
    мДанныеСервера.Свойство(ИмяПараметра, Результат);
    Если Результат = Неопределено Тогда
        Результат = Новый(Тип(ТипПараметра));
        мДанныеСервера.Вставить(ИмяПараметра, Результат);
    КонецЕсли;

    Возврат Результат;

КонецФункции // ПолучитьПараметрСервераТО()


Теперь вызовем её.

Рез = ПолучитьПараметрСервераТО("ТабЗнач", "ТаблицаЗначений");


После этого в нашей структуре мДанныеСервера появился 1 элемент, который же и вернулся в результате выполнения функции. А теперь внимание! В переменную Рез вернулся не просто результат, а указатель на элемент структуры. Если мы теперь сделаем так:

Рез.Колонки.Добавить("Колонка1");
Рез.Колонки.Добавить("Колонка2");


то в результате здесь
мДанныеСервера.ТабЗнач
мы обнаружим только что созданные колонки для переменной Рез.

Вывод: при работе с методами структуры Вставить() и Свойства(), во второй параметр этих методов возвращается указатель на значение элемента структуры! При изменении указателя меняется значение в структуре, при изменении значения в структуре меняется указатель.

Ну вот и всё, о чём я хотел повествовать сейчас smile.gif . Сам недавно обнаружил эту "фичу" и решил поделиться этой информацией со всеми. Надеюсь был полезен smile.gif .

PS. платформа 8.2.13.205