| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 1C: Предприятие, SAP, ERP и учётные системы > переменная в имени. |
| Автор: AxlGhost 27.1.2009, 16:16 |
| Доброе время суток! возник вопрос, можно ли как-либо сделать так, чтобы в качестве имени реквизита использовалась переменная? пробую сделать примерно следующее: спр = СоздатьОбъект("Справочник.Сотрудники"); спр.использоватьРодителя(ВыбСправочник); спр.выбратьЭлементы(); таб = СоздатьОбъект("таблица"); пока спр.получитьЭлемент() = 1 Цикл Если Лев(спр.имяРекв,КолСимв) = СокрЛП(Лев(клСлово,КолСимв)) Тогда таб.вывестиСекцию("строка"); КонецЕсли; КонецЦикла; таб.показать(); здесь "имяРекв" - переменная, равная названию реквизита справочника "сотрудники". "колСимв" - количество символов слева по которым производится сравнение. "клСлово" - набор символов с которым производится сравнение. 1С ругается на то, что ИмяРекв не является полем агрегатного объекта. Как сделать так, чтобы это безобразие заработало? |
| Автор: geka6pucT 27.1.2009, 22:09 | ||
Имя реквезита можно получить через метаданные:
http://www.kb.mista.ru/article.php?id=176 все хорошо расписано. |
| Автор: AxlGhost 28.1.2009, 14:36 |
| Это конечно хорошо и даже замечательно. Но как выбрать реквизиты я и чуть раньше додумался. Сейчас интересует именно то, как сделать чтобы происходил поиск по реквизиту "ИмяРекв", являющимся переменной с выбираемым значением. То есть чтобы пользователь мог сам выбирать тот реквизит, по которому происходит поиск. |
| Автор: geka6pucT 28.1.2009, 15:10 |
| Попробуй с применением шаблона: спр = СоздатьОбъект("Справочник.Сотрудники"); спр.использоватьРодителя(ВыбСправочник); спр.выбратьЭлементы(); таб = СоздатьОбъект("таблица"); пока спр.получитьЭлемент() = 1 Цикл Если Лев(Шаблон("[спр."+имяРекв+"]"),КолСимв) = СокрЛП(Лев(клСлово,КолСимв)) Тогда таб.вывестиСекцию("строка"); КонецЕсли; КонецЦикла; таб.показать(); |
| Автор: AxlGhost 28.1.2009, 16:49 |
| шаблон помог. спасибо! |
| Автор: geka6pucT 28.1.2009, 18:18 |
| Вот еще лучше: спр.ПолучитьАтрибут(имяРекв) |