Имя: Пароль:
1C
1С v8
v8: Справочник НайтиПоКоду
0 bborisko
 
20.03.13
16:38
Делаю обработку. На форме поле выбора с реквизитом с типом СправочникСсылка. Пользователь должен указать какой справочник и мне затем надо найти по коду запись именно в этом справочнике.

Но что то  не выходит. Выбираешь справочник а НайтиПоКоду нету.
1 butterbean
 
20.03.13
16:39
где нету??
2 bborisko
 
20.03.13
16:43
все извиняюсь вопрос снят

Справочники[Строка(ТипЗнч(СправочникВыбор))].НайтиПоКоду(Код)

вот так работает
3 kosts
 
20.03.13
16:46
(0) На форме уже есть ссылка, зачем её искать ещё и по коду?
4 НафНаф
 
20.03.13
16:50
зачем это все?
5 ice777
 
20.03.13
16:56
за поиск по коду - по вые, и вон из отрасли.
6 Mort
 
20.03.13
17:06
У программиста 1С есть три ступени развития:

1. Смело использует обращения через ".", Найти... и объектные выборки.
2. Воинственно осуждает использование подобных конструкций и тычет пальцами или кричит "Го...код!!!"
3. Трезво оценивает разные подходы в различных ситуациях.
7 IBTM
 
20.03.13
17:09
а как еще возможно найти элемент спр. в типовой конфе?
8 IBTM
 
20.03.13
17:10
+ (7) понятно что есть "наименование" и по "реквизиту"
9 mikecool
 
20.03.13
17:11
(7) вчитайся в "На форме поле выбора с реквизитом с типом СправочникСсылка."
10 Фокусник
 
20.03.13
17:13
(8) можно выбрать ссылку, зачем по коду или как-то иначе искать?
11 bborisko
 
20.03.13
17:18
Ссылка нужна на Справочник Тип а потом уже по коду ищется конкретная запись в этом справочнике
12 IBTM
 
20.03.13
17:20
(9) я его понел))

я про (5)...
13 Mort
 
20.03.13
17:21
Справочники[Строка(ТипЗнч(СправочникВыбор))] - а вот это действительно хреново.
14 Фокусник
 
20.03.13
18:00
(11) по коду конечно можно искать, но что будет, если код изменят? Лучше явно ссылку выбирать.
15 IBTM
 
21.03.13
13:55
(14) не подскажешь, это как?
16 SherifSP
 
21.03.13
13:58
(5) Это еще нормально, главное чтобы не по наименованию))
17 cw014
 
21.03.13
14:02
Йоперный театр... Это как???

Справочники[Строка(ТипЗнч(СправочникВыбор))].НайтиПоКоду(Код)


Если "СправочникВыбор" - это справочник "такойто" тогда, ТипЗнч(СправочникВыбор) будет "СправочникСсылка.такойто" - преобразовываем в строку и пихаем в менеджер - получается:

Справочники["СправочникСсылка.такойто"]

Если у кого то отработает - отпишитесь пожалуйста
18 cw014
 
21.03.13
14:04
+(17) Я ошибся, будет не "СправочникСсылка.такойто", а "Такой-то" :)
19 cw014
 
21.03.13
14:04
Ну то есть попробуй выбрать справочник, например "Договоры Контрагентов"
20 cw014
 
21.03.13
14:04
А лучше в УТ 11 есть такой справочник, "АвансовыйОтчетПрисоединенныеФайлы"
21 Фокусник
 
21.03.13
14:12
(15) Реквизит на форме обработки (отчета) или что там у тебя: Сразу выбираем нужную ссылку. Если пользователю не удобно каждый раз выбрать эту ссылку, сохраняем в базе (константы, регистр сведений, иное). Если в базе нельзя (не хочется) хранить, то сохраняем через СохранитьЗначение (обратное: ВосстановитьЗначение).

(17) Ссылка.Метаданные().Имя
22 Фокусник
 
21.03.13
14:17
(21)+ к "сохраняем в базе":
если конфигурацию разрешено редактировать, то можно сделать новый справочник, "Настройки", в нем один реквизит "Значение" (с нужными типами), состоит из предопределенных элементов.
В пользовательском режиме один раз заполнил "Настройки" (т.е. реквизит "Значение" для каждого элемента справочника), а программно к ним получаешь доступ:
Справочники.Настройки.ИмяНастройки.Значение
Где "ИмяНастройки" - имя предопределенного элемента.
И не потребуется ничего искать, тем более "по коду" :)
23 IBTM
 
21.03.13
14:55
(21) Я немного про другое,по другому спрошу.

Типовая конфа. Например Запрос, в запросе параметр на элемент справочника (естеств. непредопределенного).

Как мне при усановлении параметра не использовать поиск элемента ну допустим по коду?
24 Фокусник
 
21.03.13
16:32
(23) Запрос где? Во внешней обработке/отчете? Кто мешает в эту обработку/отчет добавить реквизиты - ссылки на нужные элементы справочников? (чтобы не искать их по коду) :)

А если конфигурацию можно редактировать, то см (22), берем из "настроек": Справочники.Настройки.ИмяПредпоределенногоЭлемента.Значение
25 kosts
 
21.03.13
19:21
(23)
Если обработка для одной конкретной базы, конфу которой нельзя изменять, то вот так можно сделать:


Ссылка = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор("a1cd0c62-4e5f-4dd4-afd4-6b63add4d4e1"));
26 aMz
 
22.03.13
06:32
я че то не могу понять код уже дан заранее?
27 IBTM
 
22.03.13
09:50
(24)(25) всё понел спасибо! Будем переучиваться.