Как оптимально передать большое количество параметров в процедуру или функцию
Информация интересна скорее всего будет только совсем начинающим!
Я не буду растекаться мыслью по древу, просто дам вам одну подсказку. Наверняка вы уже умеете создавать печатные формы при помощи конструктора. Да, тот самый способ, который не требует от вас навыков программирования. Все происходит само собой. Так вот, анализировали ли вы код функции, которая получает данные запросом из базы данных? В ней есть параметр, имеет он странное название Ссылка. "Странное" потому, что в него передается не ссылка на документ, а массив ссылок. Даже если ссылка в этом массиве одна. Это необходимо для того, чтобы можно было распечатать несколько документов, предварительно их выбрав.
Так вот, что же мешает нам воспользоваться этим приемом? Ничего не мешает. В качестве параметра можно передавать коллекции значений, можно передавать даже конструкции, возвращающие какое-то значение, например, Истина или Ложь. Что-то вроде "ЕстьНДС И ПоказатьНДС" в качестве одного из параметров.
Вы можете передать Структуру в качестве параметра, содержащую 6 значений, вместо 6 параметров, в каждом из которых будет только одно. И выглядеть это будет гораздо приятнее глазу и читабельнее.
Не верно
ИмяПроцедурыИлиФункции(Парам1,Парам2,Парам3,Парам4,Парам5,Парам6);
Верно
ИмяПроцедурыИлиФункции(СтруктураПараметров);
Я не буду растекаться мыслью по древу, просто дам вам одну подсказку. Наверняка вы уже умеете создавать печатные формы при помощи конструктора. Да, тот самый способ, который не требует от вас навыков программирования. Все происходит само собой. Так вот, анализировали ли вы код функции, которая получает данные запросом из базы данных? В ней есть параметр, имеет он странное название Ссылка. "Странное" потому, что в него передается не ссылка на документ, а массив ссылок. Даже если ссылка в этом массиве одна. Это необходимо для того, чтобы можно было распечатать несколько документов, предварительно их выбрав.
Так вот, что же мешает нам воспользоваться этим приемом? Ничего не мешает. В качестве параметра можно передавать коллекции значений, можно передавать даже конструкции, возвращающие какое-то значение, например, Истина или Ложь. Что-то вроде "ЕстьНДС И ПоказатьНДС" в качестве одного из параметров.
Вы можете передать Структуру в качестве параметра, содержащую 6 значений, вместо 6 параметров, в каждом из которых будет только одно. И выглядеть это будет гораздо приятнее глазу и читабельнее.
Не верно
ИмяПроцедурыИлиФункции(Парам1,Парам2,Парам3,Парам4,Парам5,Парам6);
Верно
ИмяПроцедурыИлиФункции(СтруктураПараметров);
1c
программирование