Меню


Курсы СтимулСправочникПолезные материалы1С:Предприятие 8.2РазработчикамСоглашения при написании ко…

1С:Предприятие 8.2 /
Разработчикам /
Соглашения при написании кода

Оглавление

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

См. также

 

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

Основная статья: Параметры процедур и функций

Для процедур и функций (далее по тексту : функций) с параметрами типа Структура рекомендуется придерживаться следующего подхода к разработке.

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

Пример вызывающего кода:

Процедура ПриИзмененииНоменклатурыСервер(ИдентификаторТекущейСтроки) // Получаем новую структуру параметров. ПараметрыЗаполненияЦен = ЦенообразованиеКлиентСервер.ПараметрыЗаполненияЦеныВСтрокеТЧ(); // Заполняем параметры. ПараметрыЗаполненияЦен.Дата = Объект.Дата; ПараметрыЗаполненияЦен.Валюта = Объект.Валюта; ТекущаяСтрока = Объект.Товары.НайтиПоИдентификатору(ИдентификаторТекущейСтроки); // Передаем структуру параметров в прикладную функцию. ЦенообразованиеСервер.ЗаполнитьЦеныВСтрокеТЧ(ТекущаяСтрока, ПараметрыЗаполненияЦен); КонецПроцедуры

Пример функции-конструктора параметров в модуле ЦенообразованиеКлиентСервер:

Функция ПараметрыЗаполненияЦеныВСтрокеТЧ() Экспорт ПараметрыЗаполненияЦен = Новый Структура; ПараметрыЗаполненияЦен.Вставить("Дата"); ПараметрыЗаполненияЦен.Вставить("Валюта"); ПараметрыЗаполненияЦен.Вставить("ПересчитыватьСумму", Истина); ПараметрыЗаполненияЦен.Вставить("ОбязательныеПараметры","Дата,Валюта"); // обязательные параметры, которые нужно заполнять Возврат ПараметрыЗаполненияЦен; КонецФункции

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

2. В вызывающем коде не следует добавлять каких-либо других свойств в структуру параметров. Во избежание неоднозначности и скрытых ошибок все допустимые параметры вызываемой функции должны быть определены явно в функции-конструкторе параметров.

См. также

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


Нас находят: получить структуру в качестве параметра процедуры


Подписка на новости RSS

Мы на Facebook