@Serjio-Grig
Тот самый никто (=

Рефлексия в 1С?

Здравствуйте. Хотелось бы узнать -- имеется ли в 1С рефлексия как таковая? Информации нигде нет.
  • Вопрос задан
  • 581 просмотр
Решения вопроса 1
@Dementor
программист, архитектор, аналитик
Здравствуйте. Да, рефлексия есть. Не согласен - информация есть.

Вопрос скорее в том: что Вас конкретно интересует из набора инструментов рефлексивного программирования (метапрограммирования)?

Как выше правильно сказал stratosmi - существует порождение по имени типа. Т.е. можно спокойно сделать обход типов всей метамодели, выбрать описания с нужными характеристиками и создать их экземпляры.

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

В Python аргумент вида **argName позволяет вызывать функцию с неограниченным кол-вом аргументов, задавая им имена

Это все что вас интересует? Синтаксис с двумя звездочками как бы намекает на ссылку на массив. То что далее в процессе вызова можно передавать любое количество аргументов, похоже на синтаксический сахар питона. В 1С подобное реализовано только в предопределенном конструкторе объекта Структура. Во всех пользовательских методах количество аргументов строго ограничено объявленными. При необходимости использования неизвестного заранее количества аргументов, требуется использовать в объявлении массив, структуру или соответствие.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы