Довідковий матеріал

Використання об'єктів типу Структура

1. Під час створення об'єкта типу Структура не рекомендується передавати в конструктор понад 3 значення властивостей. Замість цього рекомендується використовувати метод Вставити або явно присвоювати значення властивостямДив. також

Модульна структура поетапно збирається: кілька елементів послідовно вставляються в порожній контейнер замість перевантаженого складання.


Див. також

 

1. Під час створення об'єкта типу Структура не рекомендується передавати в конструктор понад 3 значення властивостей. Замість цього рекомендується використовувати метод Вставити або явно присвоювати значення властивостям

Неправильно

ПараметрыФормыКомпоновки = Новый Структура(
"НеПомещатьНастройкиВСхемуКомпоновкиДанных,
|НеРедактироватьСхемуКомпоновкиДанных,
|НеНастраиватьУсловноеОформление,
|НеНастраиватьВыбор,
|НеНастраиватьПорядок,
|АдресСхемыКомпоновкиДанных,
|АдресНастроекКомпоновкиДанных,
|УникальныйИдентификатор,
|Заголовок",
Истина,
Истина,
Истина,
Истина,
Истина,
ТекущиеДанные.АдресСхемыКомпоновкиДанных,
?(АдресНастроекСхемыКомпоновкиДанных <> Неопределено,
АдресНастроекСхемыКомпоновкиДанных,
ТекущиеДанные.АдресНастроекСхемыКомпоновкиДанных),
УникальныйИдентификатор,
ЗаголовокФормыНастройкиСхемыКомпоновкиДанных));

Правильно

ПараметрыФормыКомпоновки = Новый Структура;

ПараметрыФормыКомпоновки.Вставить("НеПомещатьНастройкиВСхемуКомпоновкиДанных", Истина);
ПараметрыФормыКомпоновки.Вставить("НеРедактироватьСхемуКомпоновкиДанных", Истина);
ПараметрыФормыКомпоновки.Вставить("НеРедактироватьСхемуКомпоновкиДанных", Истина);
ПараметрыФормыКомпоновки.Вставить("НеНастраиватьВыбор", Истина);
ПараметрыФормыКомпоновки.Вставить("НеНастраиватьПорядок", Истина);
ПараметрыФормыКомпоновки.Вставить("АдресСхемыКомпоновкиДанных", ТекущиеДанные.АдресСхемыКомпоновкиДанных);
ПараметрыФормыКомпоновки.Вставить("АдресНастроекКомпоновкиДанных", ?(АдресНастроекСхемыКомпоновкиДанных <> Неопределено,
АдресНастроекСхемыКомпоновкиДанных,
ТекущиеДанные.АдресНастроекСхемыКомпоновкиДанных));
ПараметрыФормыКомпоновки.Вставить("УникальныйИдентификатор ", УникальныйИдентификатор);
ПараметрыФормыКомпоновки.Вставить("Заголовок", ЗаголовокФормыНастройкиСхемыКомпоновкиДанных);

2. Не рекомендується в конструкторі структури використовувати конструктори інших об'єктів, якщо ці конструктори приймають параметри. Зокрема, у конструкторі однієї структури не рекомендується створювати інші структури з оголошенням значень властивостей.

Неправильно

НоменклатураСервер.ЗаполнитьСлужебныеРеквизитыПоНоменклатуреВКоллекции(
Объект.Товары,
Новый Структура(
"ЗаполнитьПризнакХарактеристикиИспользуются,
|ЗаполнитьПризнакТипНоменклатуры, ЗаполнитьПризнакВариантОформленияПродажи",
Новый Структура("Номенклатура", "ХарактеристикиИспользются"),
Новый Структура("Номенклатура", "ТипНоменклатуры"),
Новый Структура("Номенклатура", "ВариантОформленияПродажи")
)
);

Правильно


ПараметрыЗаполненияРеквизитов = Новый Структура;
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакХарактеристикиИспользуются",
Новый Структура("Номенклатура", "ХарактеристикиИспользуются"));
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакТипНоменклатуры",
Новый Структура("Номенклатура", "ТипНоменклатуры"));
НоменклатураСервер.ЗаполнитьСлужебныеРеквизитыПоНоменклатуреВКоллекции(Объект.Товары, 
ПараметрыЗаполненияРеквизитов);

3. Не рекомендується в конструкторі структури викликати функції з великою (понад 3) кількістю параметрів.

Неправильно

СведенияОТоваре = Новый Структура("ПараметрыТовара, ЦенаПродажиИОстаткиТовара, ЦенаЗакупкиИОстаткиТовара", 
ПодборТоваровКлиентСервер.ПараметрыТовара(), 
ПодборТоваровВызовСервера.ЦенаПродажиИОстаткиТовара(
Номенклатура,
Характеристика,
Соглашение,
Валюта,
ВидыЦен),
ЦенаЗакупкиИОстаткиТовара(
Номенклатура,
Характеристика,
Соглашение,
Валюта,
ВидыЦен));

Правильно

СведенияОТоваре = Новый Структура("ПараметрыТовара, ЦенаПродажиИОстаткиТовара, ЦенаЗакупкиИОстаткиТовара");
СведенияОТоваре.ПараметрыТовара = ПодборТоваровКлиентСервер.ПараметрыТовара();
СведенияОТоваре.ЦенаПродажиИОстаткиТовара = ПодборТоваровВызовСервера.ЦенаПродажиИОстаткиТовара(
Номенклатура,
Характеристика,
Соглашение,
Валюта,
ВидыЦен);
СведенияОТоваре.ЦенаПродажиИОстаткиТовара = ЦенаЗакупкиИОстаткиТовара.ЦенаЗакупкиИОстаткиТовара(
Номенклатура,
Характеристика,
Соглашение,
Валюта,
ВидыЦен);


Див. також

  • Параметри процедур і функцій
  • Особливості використання структур як параметрів процедур і функцій
Записатися телефоном