Версия для печати темы (https://pro1c.org.ua/index.php?s=a53cc314ef552c753a4382d8c0d0b402&showtopic=2112)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Тип("СправочникСсылка.Организации")

Автор: alex040269 02.11.10, 16:20

Выражение возвращает значение "Организационные единицы" типа "тип".

Вопрос: Как из этого значения получить снова "СправочникСсылка.Организации", то есть выполнить обратное преобразование, чтобы его можно было подставить, например в запрос в конструкцию " ИЗ ... ".

Спасибо за внимание.

Автор: World1С 02.11.10, 17:45

Выложите фрагмент кода, не совсем понтно что Вы имели в виду.

Автор: alex040269 03.11.10, 8:25

Цитата(World1С @ 02.11.10, 18:45) *
Выложите фрагмент кода, не совсем понтно что Вы имели в виду.


Выборка = ПланыВидовХарактеристик.ВидыСубконто.Выбрать();
Выборка.Следующий();
Строка = ????(Выборка.ТипЗначения);
Запрос = Новый Запрос("ВЫБРАТЬ * ИЗ "+Срока);

Или это не в ту сторону?

Спасибо за внимание

Автор: Batchir 03.11.10, 8:44

Можно так, но особо не вдумывался

Выборка = ПланыВидовХарактеристик.ВидыСубконто.Выбрать();
Выборка.Следующий();
ИмяОбъекта = Выборка.Ссылка.Метаданные().Имя;
Если Метаданные.Справочники.Найти(ИмяОбъекта) <> неопределено Тогда
    ТипОбъекта = "Справочник";
ИначеЕсли Метаданные.Документы.Найти(ИмяОбъекта) <> неопределено Тогда
    ТипОбъекта = "Документ";
Иначе
    ТипОбъекта = "и_так_далее";
КонецЕсли;
Запрос = Новый Запрос("ВЫБРАТЬ * ИЗ "+ТипОбъекта+"."+ИмяОбъекта);

Автор: World1С 03.11.10, 9:16

Цитата
Или это не в ту сторону?

Да, не в ту строну, посмотрите пример от Batchir

Автор: alex040269 03.11.10, 11:43

Цитата(World1С @ 03.11.10, 10:16) *
Да, не в ту строну, посмотрите пример от Batchir

Это совсем не то!!!
Выборка = ПланыВидовХарактеристик.ВидыСубконто.Выбрать();
Выборка.Следующий();
ИмяОбъекта = Выборка.Ссылка.Метаданные().Имя;
Сообщить(ИмяОбъекта);

Результат : ВидыСубконто.

А мне нужен ТипЗначения - ОписаниеТипов

Автор: alex040269 03.11.10, 11:48

Цитата(alex040269 @ 03.11.10, 12:43) *
Это совсем не то!!!
Выборка = ПланыВидовХарактеристик.ВидыСубконто.Выбрать();
Выборка.Следующий();
ИмяОбъекта = Выборка.Ссылка.Метаданные().Имя;
Сообщить(ИмяОбъекта);

Результат : ВидыСубконто.

А мне нужен ТипЗначения - ОписаниеТипов


Вот код из справки:
// расширим описание ДопустимыеТипы новыми типами
Массив = Новый Массив;
Массив.Добавить(Тип("СправочникСсылка.Методы"));
Массив.Добавить(Тип("Число"));
Знак = ДопустимыйЗнак.Неотрицательный;
КвЧисла = Новый КвалификаторыЧисла(10, 2, Знак);

ДопустимыеТипы = Новый ОписаниеТипов(ДопустимыеТипы, Массив, , КвЧисла);


Как из ДопустимыеТипы Получить строку СправочникСсылка.Методы или Справочник.Методы

Спасибо за внимание

Пока такой код:
                        ИскатьОбъект = СтрокаРасчет.Показатель.ГруппаРаскрытия["ВидАналитики"+Индекс].ТипЗначения.Типы()[0];
                        ИмяОбъекта = "";
                        Для Каждого Объект Из Метаданные.Справочники Цикл
                            Если Тип("СправочникСсылка."+Объект.Имя) = ИскатьОбъект Тогда
                                ИмяОбъекта = Объект;
                                Прервать;
                            КонецЕсли;
                        КонецЦикла;
                        Запрос = Новый Запрос("ВЫБРАТЬ * ИЗ ");
                        Запрос.Текст = Запрос.Текст + "Справочник."+ИмяОбъекта.Имя;

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua