Имя: Пароль:
1C
1С v8
Определение принадлежности объекта: Документ или Справочник
,
0 vitaliklibra
 
21.06.15
19:05
Еще раз привет!

Находил похожие темы. Объясню в двух словах. В реквизите хранится значение чего либо. Тип реквизита - составной. Вот и вопрос: каким методом узнать (глобально), к чему относится выбранный объект в реквизите: к документу или к справочнику?
1 RomanYS
 
21.06.15
19:19
метаданные()?
2 RomanYS
 
21.06.15
19:20
есть ещё ТипЗнч()
3 vitaliklibra
 
21.06.15
20:01
(1) (2) И то и другое пригодилось в разных случаях. Спасибо!
4 Лефмихалыч
 
21.06.15
20:40
Справочники.ТипВсеСсылки().СодержитТИп() или просто ли СОдержит() - не помню
5 NaaFF
 
21.06.15
21:35
а у меня не вышло с ТИПЗНАЧЕНИЯ, как на СКД это будет?
хочу отобрать заказчика с типом ссправочник контрагенты

я ему
Заказчик = ТИПЗНАЧЕНИЯ (Справочник.Контрагенты)- а он ругается)

как правильно, подскажите
6 RomanYS
 
21.06.15
21:37
ТИПЗНАЧЕНИЯ(Заказчик) = ТИП("Справочник.Контрагенты")
7 NaaFF
 
21.06.15
21:37
(6) спасибо :)
8 NaaFF
 
21.06.15
21:41
(6) и все равно ругается(
9 Gorr
 
21.06.15
22:02
Элементарно:
Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Объект))
Метаданные.Документы.Содержит(Объект.Метаданные())
последний более универсален поскольку первый подходит только для ссылок
10 Gorr
 
21.06.15
22:04
+ если в запросе: Заказчик ССЫЛКА Справочник.Контрагенты
11 фобка
 
21.06.15
22:09
(8) типзнч()
12 NaaFF
 
21.06.15
23:04
Получилось как в (6) , Если делать как (10), то возвращает "Да" "Нет"
13 Aleksey
 
21.06.15
23:12
Типовая БП
// Возвращает имя вида объектов метаданных по ссылке на объект.
// Ограничение: не обрабатываются точки маршрутов бизнес-процессов.
//
// Параметры:
//  Ссылка - ЛюбаяСсылка - объект, вид которого требуется получить.
//
// Возвращаемое значение:
//  Строка - имя вида объектов метаданных. Например: "Справочник", "Документ".
//
14 Aleksey
 
21.06.15
23:12
Функция ВидОбъектаПоСсылке(Ссылка) Экспорт
    
    Возврат ВидОбъектаПоТипу(ТипЗнч(Ссылка));
    
КонецФункции

// Возвращает имя вида объектов метаданных по типу объекта.
// Ограничение: не обрабатываются точки маршрутов бизнес-процессов.
//
// Параметры:
//  Тип - Тип - Тип прикладного объекта, определенный в конфигурации .
//
// Возвращаемое значение:
//  Строка - имя вида объектов метаданных. Например: "Справочник", "Документ".
//
Функция ВидОбъектаПоТипу(Тип) Экспорт
    
    Если Справочники.ТипВсеСсылки().СодержитТип(Тип) Тогда
        Возврат "Справочник";
    
    ИначеЕсли Документы.ТипВсеСсылки().СодержитТип(Тип) Тогда
        Возврат "Документ";
    
    ИначеЕсли БизнесПроцессы.ТипВсеСсылки().СодержитТип(Тип) Тогда
        Возврат "БизнесПроцесс";
    
    ИначеЕсли ПланыВидовХарактеристик.ТипВсеСсылки().СодержитТип(Тип) Тогда
        Возврат "ПланВидовХарактеристик";
    
    ИначеЕсли ПланыСчетов.ТипВсеСсылки().СодержитТип(Тип) Тогда
        Возврат "ПланСчетов";
    
    ИначеЕсли ПланыВидовРасчета.ТипВсеСсылки().СодержитТип(Тип) Тогда
        Возврат "ПланВидовРасчета";
    
    ИначеЕсли Задачи.ТипВсеСсылки().СодержитТип(Тип) Тогда
        Возврат "Задача";
    
    ИначеЕсли ПланыОбмена.ТипВсеСсылки().СодержитТип(Тип) Тогда
        Возврат "ПланОбмена";
    
    ИначеЕсли Перечисления.ТипВсеСсылки().СодержитТип(Тип) Тогда
        Возврат "Перечисление";
    
    Иначе
        ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
            НСтр("ru='Неверный тип значения параметра (%1)'"), Строка(Тип));
    
    КонецЕсли;
    
КонецФункции
15 Aleksey
 
21.06.15
23:14
Соответственно ОбщегоНазначения.ВидОбъектаПоСсылке(Ссылка)
Программист всегда исправляет последнюю ошибку.