Имя: Пароль:
1C
1С v8
Как получить ссылку на объект в справочнике. 1С ERP
,
0 squall84
 
02.03.20
13:38
Есть справочник должностей. В коде обработки мне нужно указать ссылку на определенную должность. Раньше, в том же УПП, можно было просто прописать "НайтиПоКоду". Но в ERP в справочнике кода нет. Не могу нигде найти, как в таком случае получить нужный объект?
1 Momus
 
02.03.20
13:39
(0) НайтиПоНаименованию?
2 Kigo_Kigo
 
02.03.20
13:41
УникальныйИдентификатор()?
3 catena
 
02.03.20
13:41
А что известно об "определенной должности"?
4 squall84
 
02.03.20
13:45
(1) По наименованию не очень красиво. Поменяют букву и уже ничего работать не будет.
5 squall84
 
02.03.20
13:46
(3) ??? известно, что это запись в справочнике. Как и все остальные. Но в печатной форме будет использоваться всегда, только эта должность.
6 Фрэнки
 
02.03.20
13:46
А ты сам как думаешь? Можно НайтиПоРеквизиту
7 ДенисЧ
 
02.03.20
13:47
В константу его!
8 catena
 
02.03.20
13:48
(5)В ЕРП нет регистра ответственных лиц?
9 Фрэнки
 
02.03.20
13:49
(8) конечно есть. Только кто же знает, что это за должность такая. Ее может не быть подходящей для подстановки в список лиц.
10 catena
 
02.03.20
13:49
+(6)или использовать доп.свойства. Ну в самом крайнем случае можно ИД в коде прописать, но я за такое бью, куда достану, а я низенькая.
11 Momus
 
02.03.20
13:50
(8) справочник
12 Фрэнки
 
02.03.20
13:51
(10) вариантов куча. Я в организацию допреквизитов напихал со своими индентификаторами.
13 catena
 
02.03.20
13:53
(11)А историчность?
14 Фрэнки
 
02.03.20
13:53
Можно по Подразделениям допреквизитов напихать. Смотря что куда и сколько нужно печать :-)
15 squall84
 
02.03.20
13:54
(8) А смысл. Суть в том, изначально известна должность. Неизвестно физическое лицо и сотрудник. В УПП это решалось просто: НужнаяДолжность=Справочники.Должности.НайтиПоКоду("00000001").
И все. Именно этот объект всегда будет использоваться.

А в ERP кода нет. Находить по наименованию не очень красиво. Из регистра я достать не могу, поскольку, чтобы что-то конкретное достать, нужно что-то конкретное указать. Сотрудника я еще не знаю, до указания должности, а должность я не знаю, как теперь прописать в коде.
16 squall84
 
02.03.20
13:55
(12) реквизиты дописывать нельзя. Это внешняя печатная форма.
17 catena
 
02.03.20
13:57
(16)ДопРеквизиты не надо дописывать.

(15)Я по-секрету скажу, в УПП код должности тоже можно поменять.
18 Kigo_Kigo
 
02.03.20
13:57
(16) Я вам уже в (3) сказал, или не можете посмотреть его элементарным запросом?
19 Фрэнки
 
02.03.20
14:06
(16) Ты просто не понял о чем я тебе написал.
Не надо дописывать реквизиты в конфигурацию.
В ERP есть типовая возможность использования "Дополнительные реквизиты" и "Дополнительные сведения"
Реквизиты разрешено создавать в элементов справочника, а сведения - для документов.

Допустим, твоя печатная форма нужна для Расходной накладной у которой указано Подразделение отправитель и Подразделение получатель.
Тогда через допреквизиты у каждого подразделения можно завести должности и лица нужные. Но без истории, конечно. Но для ВПФ это можно будет применить.
20 Фрэнки
 
02.03.20
14:11
только Получатель и Отправитель - это я перемудрил в сторону Перемещения, а не Расходной накладной :-)
21 squall84
 
02.03.20
14:11
(17) (19) нужно, чтобы печатную форму добавили в базу и больше ничего не надо было добавлять.
22 squall84
 
02.03.20
14:11
(18) Сейчас попробую.
23 Фрэнки
 
02.03.20
14:12
(22) типа, тебя тестят
24 Kigo_Kigo
 
02.03.20
14:34
(22) что там пробовать Запрос = Новый Запрос;
    
    Запрос.Текст ="ВЫБРАТЬ
    |    ПодразделенияСсылка.Ссылка как Подразделение из Справочник.Подразделения как ПодразделенияСсылка";
    
    ТЗ = Запрос.Выполнить().Выгрузить();
    Для Каждого СтрокаТЗ из Тз Цикл
        Сообщить(СтрокаТЗ.Подразделение.Наименование + " " +СтрокаТЗ.Подразделение.УникальныйИдентификатор());
    КонецЦикла;
25 squall84
 
02.03.20
14:49
(23) Просто никогда Уид не получал. -)
26 squall84
 
02.03.20
14:49
(24) Спасибо. -)
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший