Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Указатель на элемент структуры          
Vofka Подменю пользователя
сообщение 30.06.11, 18:40
Сообщение #1

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

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

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

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

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

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

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


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

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


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

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


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

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

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

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

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 17:16
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!