Здравствуйте уважаемые форумчане! Прошу помочь мне с одним вопросом методически. Сам являюсь прикладным программистом, и с недавнего времени стал изучать 1С, но не могу решить как правильно реализовать одну фишку.
Есть например документ "Поступление в кассу". Там есть поле, например "Источник поступления" и соответственно кнопка выбора. При нажатии на кнопку открывается меню, по типу выбора из списка, где перечислены справочники (Контрагенты, Сотрудники, Клиенты, например) и соответственно нажав на строчку переходишь на форму выбора из списка этого справочника. В конфигурации справочники Контрагенты, Сотрудники, Клиенты по форме и реквизитам разные, ну есть конечно общие реквизиты, но 80 % полей отличаются. В чем собственно вопрос: можно ли хранить в одном реквизите ссылки на разные справочники, существует ли какой то стандартный механизм в 1С по хранению и работе с такими ссылками или может быть какой-нибудь лайф-хак или "костыли". Как программист, я понимаю, что можно создать дополнительный невидимый реквизит и в зависимости от типа справочника записывать туда значение, например если выбран справочник Клиенты, то в этот реквизит пишем например "1" ну и т.д., но в в других справочниках и документах потом придется все это поддерживать. Или как вариант, создавать универсальный справочник Клиенты/Контрагенты/Сотрудники где переключать видимости тех или иных полей в зависимости от того, что выбрали, и это решает проблему - будет одна ссылка и только фильтр по типу справочника.
Подскажите как правильней?

P.S. Это подсмотрел в самописной конфигурации, доступа к конфигуратору нет, и спросить там не у кого, но очень интересно как реализовано. Если кто подскажет как реализовано в любой другой конфигурации - спасибо большое!
---
можно ли хранить в одном реквизите ссылки на разные справочники
Да. Никаких дополнительных "невидимых" реквизитов создавать не нужно, это делает платформа в таблицах хранения информации.

Переключать видимость реквизитов так же не нужно, т.к. у каждого вида объекта есть своя форма списка/элемента.
---
ТипЗнч(Источник)
---
можно ли хранить в одном реквизите ссылки на разные справочники
Да. Никаких дополнительных "невидимых" реквизитов создавать не нужно, это делает платформа в таблицах хранения информации.

Переключать видимость реквизитов так же не нужно, т.к. у каждого вида объекта есть своя форма списка/элемента.
---
Да. Никаких дополнительных "невидимых" реквизитов создавать не нужно, это делает платформа в таблицах хранения информации.

Т.е. я правильно понимаю, если при создании реквизита, указать тип, например, СправочникСсылка вместо СправочникСсылка.Клиенты, то туда можно запихивать ссылки от любых справочников, и платформа сама понимает что это за справочник?
А как тогда реализовать поиск по нему?:

```1c
    &НаСервере
    ....
    ЭлементСправочника = Справочники.НайтиПоНаименованию(ВыбранноеЗначение);
    Объект.ИсточникПоступления=ЭлементСправочника.Ссылка;
```

Так примерно?
---
Т.е. я правильно понимаю, если при создании реквизита, указать тип, например, СправочникСсылка вместо СправочникСсылка.Клиенты, то туда можно запихивать ссылки от любых справочников, и платформа сама понимает что это за справочник?
Да, именно так.

Поиск по справочнику осуществляется так же, т.е. нужно обращаться к менеджеру того справочника, поиск по которому собираетесь выполнять.

ЭлементСправочника = Справочники.<НужныйСправочник>.НайтиПоНаименованию(ВыбранноеЗначение);
---
СправочникСсылка вместо СправочникСсылка.Клиенты
а вот так делать не по-православному.
Потом можно SQL удивить запросом.
---
а вот так делать не по-православному.
Потом можно SQL удивить запросом.

Подскажите пожалуйста как правильно сделать, так как да, скорее всего придется работать с запросами позже и придется обращаться к таким реквизитам. Спасиб!
---
Причины тормозов запросов - вот это штудируйте и соседние разделы.
---
У вас ошибка. Правильно писать - удавить.
---
А такой вопрос.
Например, при открытии формы, мне нужно программно определить, ссылка на какой из справочников (Клиенты, Контрагенты или Сотрудники...) у меня содержится в этом реквизите "ИсточникПоступления". И дальше в зависимости от типа справочника показывать или прятать какие-то элементы ввода. Или например, при выполнении запроса определить тип справочника и запрос тогда делать к конкретному справочнику.
Как это можно проверить? Подскажите пожалуйста.
---
ТипЗнч(Источник)
---
ТипЗнч(Источник)

Спасибо, да, что-то не дошел я видимо до описания этой функции, очень удобно! Получилось!