Модераторы: stron
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> переменная в имени. 
V
    Опции темы
AxlGhost
Дата 27.1.2009, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 22.1.2009

Репутация: нет
Всего: нет



Доброе время суток!
возник вопрос, можно ли как-либо сделать так, чтобы в качестве имени реквизита использовалась переменная?
пробую сделать примерно следующее:

спр = СоздатьОбъект("Справочник.Сотрудники");
спр.использоватьРодителя(ВыбСправочник);
спр.выбратьЭлементы();
таб = СоздатьОбъект("таблица");
пока спр.получитьЭлемент() = 1 Цикл
    Если Лев(спр.имяРекв,КолСимв) = СокрЛП(Лев(клСлово,КолСимв)) Тогда
        таб.вывестиСекцию("строка");
    КонецЕсли;
КонецЦикла;
таб.показать();

здесь "имяРекв" - переменная, равная названию реквизита справочника "сотрудники".
"колСимв" - количество символов слева по которым производится сравнение.
"клСлово" - набор символов с которым производится сравнение.

1С ругается на то, что ИмяРекв не является полем агрегатного объекта. Как сделать так, чтобы это безобразие заработало?

Это сообщение отредактировал(а) AxlGhost - 28.1.2009, 14:37
PM MAIL   Вверх
geka6pucT
Дата 27.1.2009, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 31.7.2007

Репутация: нет
Всего: нет



Имя реквезита можно получить через метаданные:
Код

Процедура Сформировать()
    Для инд = 1 по Метаданные.Справочник("ВидыДеятельности").Реквизит() Цикл
        Сообщить(Метаданные.Справочник("ВидыДеятельности").Реквизит(инд).Идентификатор);
    КонецЦикла;
КонецПроцедуры


Тут все хорошо расписано.
PM MAIL   Вверх
AxlGhost
Дата 28.1.2009, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 22.1.2009

Репутация: нет
Всего: нет



Это конечно хорошо и даже замечательно. Но как выбрать реквизиты я и чуть раньше додумался. Сейчас интересует именно то, как сделать чтобы происходил поиск по реквизиту "ИмяРекв", являющимся переменной с выбираемым значением. То есть чтобы пользователь мог сам выбирать тот реквизит, по которому происходит поиск.
PM MAIL   Вверх
geka6pucT
Дата 28.1.2009, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 31.7.2007

Репутация: нет
Всего: нет



Попробуй с применением шаблона:

спр = СоздатьОбъект("Справочник.Сотрудники");
спр.использоватьРодителя(ВыбСправочник);
спр.выбратьЭлементы();
таб = СоздатьОбъект("таблица");
пока спр.получитьЭлемент() = 1 Цикл
    Если Лев(Шаблон("[спр."+имяРекв+"]"),КолСимв) = СокрЛП(Лев(клСлово,КолСимв)) Тогда
        таб.вывестиСекцию("строка");
    КонецЕсли;
КонецЦикла;
таб.показать();
PM MAIL   Вверх
AxlGhost
Дата 28.1.2009, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 22.1.2009

Репутация: нет
Всего: нет



шаблон помог. спасибо!
PM MAIL   Вверх
geka6pucT
Дата 28.1.2009, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 31.7.2007

Репутация: нет
Всего: нет



Вот еще лучше:

спр.ПолучитьАтрибут(имяРекв)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "1C: Предприятие, SAP, ERP и учётные системы"
stron

Запрещается!

1. Обсуждение крэков, кейгенов и других подобных программ

Пробуйте искать сами или обращайтесь в приват к участникам форума.

Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения.

Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...)

2. Давать ссылки на взломанные продукты

  • Пожалуйста, пользуйтесь поиском перед тем, как задать вопрос - возможно ответ уже есть на форуме.
  • Название темы должно отражать её суть
  • Действия модераторов можно обсудить здесь

С уважением, stron, Pegas.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема »


 




[ Время генерации скрипта: 0.0624 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.