Инструменты пользователя

Инструменты сайта


1c:база:объекты_в_1с8

Объекты в 1С8

Создание объектов

В 1С недоступно ООП, невозможно описывать классы, конструкторы объектов и тд. Но есть возможность оперировать существующими классами и получать объекты с заранее заложенными свойствами и методами.

Классическая модель

Общая методика получения нового экземпляра класса в использует метод Новый.

МойМассив = Новый Массив; 
//или 
МойМассив = Новый  Массив(КоличествоЭлементов);
//сработает заложенный разработчиками конструктор и мы получим массив с нужным количеством элементов

Создание на основании строкового представления

Есть возможность использовать строковое представление при создании объектов.

МойСправочник = Новый("Справочник.Менеджер.Номенклатура");

Бывает полезно, когда тип будущего объекта заранее не известен.

Удаление объектов

Для того что бы "избавиться" от объекта, нужно записать в переменную Неопределено. Если объект находится внутри процедуры или функции он перестанет существовать когда процедура\функция закончит свою работу.

Обращение к свойствам объекта

Обращение к свойствам методам происходит через точку по имени например

Запрос.Текст

или по индексу

Запрос[Текст]

когда значение свойства заранее неизвестно. Так как свойства экземпляров объектов могут тоже иметь объектный тип, возможно обращение к значениям свойств через несколько точек. Например

ВажностьКлиента = Текущийдоговор.Договора.Владелец.Родитель.ВажностьКлиента

Но нужно понимать что при таком обращении система считывает в память все реквизиты каждого объекта которые есть в выражении, это разумеется генерирует запросы к базе, увеличивает потребление памяти и как следствие снижает производительность. Почти всегда падение производительности получается незначительным, но если это происходит в цикле, то можно получить достаточно сильный эффект. То есть в целом правильнее будет делать так:

ГруппаКонтрагента = Текущийдоговор.Договора.Владелец.Родитель;
Для сч = 1 По ЧтоТоТам Цикл
	ВажностьКлиента = ГруппаКонтрагента.ВажностьКлиента
	//...
КонецЦикла

убрав по максимум обращения через точку из цикла.

Только авторизованные участники могут оставлять комментарии.
1c/база/объекты_в_1с8.txt · Последнее изменение: 2014/06/14 17:58 (внешнее изменение)