Використання об'єктів типу Структура
1. Під час створення об'єкта типу Структура не рекомендується передавати в конструктор понад 3 значення властивостей. Замість цього рекомендується використовувати метод Вставити або явно присвоювати значення властивостямДив. також
1. Під час створення об'єкта типу Структура не рекомендується передавати в конструктор понад 3 значення властивостей. Замість цього рекомендується використовувати метод Вставити або явно присвоювати значення властивостям
Неправильно
ПараметрыФормыКомпоновки = Новый Структура( "НеПомещатьНастройкиВСхемуКомпоновкиДанных, |НеРедактироватьСхемуКомпоновкиДанных, |НеНастраиватьУсловноеОформление, |НеНастраиватьВыбор, |НеНастраиватьПорядок, |АдресСхемыКомпоновкиДанных, |АдресНастроекКомпоновкиДанных, |УникальныйИдентификатор, |Заголовок", Истина, Истина, Истина, Истина, Истина, ТекущиеДанные.АдресСхемыКомпоновкиДанных, ?(АдресНастроекСхемыКомпоновкиДанных <> Неопределено, АдресНастроекСхемыКомпоновкиДанных, ТекущиеДанные.АдресНастроекСхемыКомпоновкиДанных), УникальныйИдентификатор, ЗаголовокФормыНастройкиСхемыКомпоновкиДанных));
Правильно
ПараметрыФормыКомпоновки = Новый Структура; ПараметрыФормыКомпоновки.Вставить("НеПомещатьНастройкиВСхемуКомпоновкиДанных", Истина); ПараметрыФормыКомпоновки.Вставить("НеРедактироватьСхемуКомпоновкиДанных", Истина); ПараметрыФормыКомпоновки.Вставить("НеРедактироватьСхемуКомпоновкиДанных", Истина); ПараметрыФормыКомпоновки.Вставить("НеНастраиватьВыбор", Истина); ПараметрыФормыКомпоновки.Вставить("НеНастраиватьПорядок", Истина); ПараметрыФормыКомпоновки.Вставить("АдресСхемыКомпоновкиДанных", ТекущиеДанные.АдресСхемыКомпоновкиДанных); ПараметрыФормыКомпоновки.Вставить("АдресНастроекКомпоновкиДанных", ?(АдресНастроекСхемыКомпоновкиДанных <> Неопределено, АдресНастроекСхемыКомпоновкиДанных, ТекущиеДанные.АдресНастроекСхемыКомпоновкиДанных)); ПараметрыФормыКомпоновки.Вставить("УникальныйИдентификатор ", УникальныйИдентификатор); ПараметрыФормыКомпоновки.Вставить("Заголовок", ЗаголовокФормыНастройкиСхемыКомпоновкиДанных);
2. Не рекомендується в конструкторі структури використовувати конструктори інших об'єктів, якщо ці конструктори приймають параметри. Зокрема, у конструкторі однієї структури не рекомендується створювати інші структури з оголошенням значень властивостей.
Неправильно
НоменклатураСервер.ЗаполнитьСлужебныеРеквизитыПоНоменклатуреВКоллекции( Объект.Товары, Новый Структура( "ЗаполнитьПризнакХарактеристикиИспользуются, |ЗаполнитьПризнакТипНоменклатуры, ЗаполнитьПризнакВариантОформленияПродажи", Новый Структура("Номенклатура", "ХарактеристикиИспользются"), Новый Структура("Номенклатура", "ТипНоменклатуры"), Новый Структура("Номенклатура", "ВариантОформленияПродажи") ) );
Правильно
ПараметрыЗаполненияРеквизитов = Новый Структура; ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакХарактеристикиИспользуются", Новый Структура("Номенклатура", "ХарактеристикиИспользуются")); ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакТипНоменклатуры", Новый Структура("Номенклатура", "ТипНоменклатуры")); НоменклатураСервер.ЗаполнитьСлужебныеРеквизитыПоНоменклатуреВКоллекции(Объект.Товары, ПараметрыЗаполненияРеквизитов);
3. Не рекомендується в конструкторі структури викликати функції з великою (понад 3) кількістю параметрів.
Неправильно
СведенияОТоваре = Новый Структура("ПараметрыТовара, ЦенаПродажиИОстаткиТовара, ЦенаЗакупкиИОстаткиТовара", ПодборТоваровКлиентСервер.ПараметрыТовара(), ПодборТоваровВызовСервера.ЦенаПродажиИОстаткиТовара( Номенклатура, Характеристика, Соглашение, Валюта, ВидыЦен), ЦенаЗакупкиИОстаткиТовара( Номенклатура, Характеристика, Соглашение, Валюта, ВидыЦен));
Правильно
СведенияОТоваре = Новый Структура("ПараметрыТовара, ЦенаПродажиИОстаткиТовара, ЦенаЗакупкиИОстаткиТовара"); СведенияОТоваре.ПараметрыТовара = ПодборТоваровКлиентСервер.ПараметрыТовара(); СведенияОТоваре.ЦенаПродажиИОстаткиТовара = ПодборТоваровВызовСервера.ЦенаПродажиИОстаткиТовара( Номенклатура, Характеристика, Соглашение, Валюта, ВидыЦен); СведенияОТоваре.ЦенаПродажиИОстаткиТовара = ЦенаЗакупкиИОстаткиТовара.ЦенаЗакупкиИОстаткиТовара( Номенклатура, Характеристика, Соглашение, Валюта, ВидыЦен);
Див. також
- Параметри процедур і функцій
- Особливості використання структур як параметрів процедур і функцій