Справочный материал

Использование объектов типа Структура

1. При создании объекта типа Структура не рекомендуется передавать в конструктор более 3-х значений свойств. Вместо этого рекомендуется использовать метод Вставить или присваивать значения свойствам явным образомСм. также


См. также

 

1. При создании объекта типа Структура не рекомендуется передавать в конструктор более 3-х значений свойств. Вместо этого рекомендуется использовать метод Вставить или присваивать значения свойствам явным образом

Неправильно

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

Правильно

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

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

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

Неправильно

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

Правильно


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

3. Не рекомендуется в конструкторе структуры вызывать функции с большим (более 3) количеством параметров.

Неправильно

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

Правильно

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


См. также

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