Перейти к содержанию

Использование в конструкторе структуры конструкторов других объектов с параметрами

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

Неправильно

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

Правильно

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

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