|   |   | 
| 
 | Как получить ссылку на элемент справочника по значению строки табличной части эт | ☑ | ||
|---|---|---|---|---|
| 0
    
        Knowledge 04.03.13✎ 10:13 | 
        Как получить ссылку на элемент справочника по значению строки табличной части этого элемента?     | |||
| 1
    
        Wobland 04.03.13✎ 10:14 | 
        СтрокаТЧ.СсылкаНаЭлемент     | |||
| 2
    
        zak555 04.03.13✎ 10:14 | 
        Ссылка     | |||
| 3
    
        Maxus43 04.03.13✎ 10:14 | 
        Задай вопрос ещё раз     | |||
| 4
    
        cw014 04.03.13✎ 10:15 | 
        СтрокаТЧ.Владелец.Владелец - не???     | |||
| 5
    
        Maxus43 04.03.13✎ 10:17 | 
        Телепатирую, у автора в Справочнике есть ТЧ, зная что в ТЧ он хочет найти Спровочник     | |||
| 6
    
        Knowledge 05.03.13✎ 09:13 | 
        Пардон, вчера пришлось отлучиться.
  (5) Есть функция Ф(стрТч) , где стрТч – строка табличной части справочника Спр, как узнать какому элементу справочника Спр принадлежит это стрТч, т.е. надо получить ссылку на элемент справочника Спр. | |||
| 7
    
        Phil_McLaren 05.03.13✎ 09:18 | 
        (6) типовая ф-я в ОбщегоНазначения делает так:
  Метаданные.НайтиПоТипу(ТипЗнч(СтрокаТабличнойЧасти)).Имя | |||
| 8
    
        НЕА123 05.03.13✎ 09:19 | 
        (7) ТС нужна ссылка на элемент справочника.     | |||
| 9
    
        5 Элемент 05.03.13✎ 09:22 | 
        (6) никак     | |||
| 10
    
        Phil_McLaren 05.03.13✎ 09:22 | 
        (8) м, не так понял. 
  (9) дайте подумать)) | |||
| 11
    
        Knowledge 05.03.13✎ 10:02 | 
        up     | |||
| 12
    
        Phil_McLaren 05.03.13✎ 10:11 | 
        За имевшиеся свободные полчасика я родил чудовище, и даже оно отказывается давать надежный результат. Самому интересны такие ужасающие разум перверсии, так что еще покопаюсь сегодня по мере появления минутки -)     | |||
| 13
    
        Godofsin 05.03.13✎ 10:13 | 
        (12) Роди чудовище обратно и никому не рассказывай =)     | |||
| 14
    
        Defender aka LINN 05.03.13✎ 10:16 | 
        А, собственно, зачем?     | |||
| 15
    
        Phil_McLaren 05.03.13✎ 10:19 | 
        (14) не посмею отвечать за автора, но за себя скажу - ради челленжа) просто потому, что это выглядит невозможным и я не имею представления, как это сделать
  Но должен признать, я в тупике - все имеющиеся реквизиты могут быть неуникальны. Но я еще не сдаюсь) | |||
| 16
    
        Phil_McLaren 05.03.13✎ 10:21 | 
        Вышло только получить массив элементов заранее неизвестного справочника, строка заранее неизвестной ТЧ которых идентична заданной     | |||
| 17
    
        Defender aka LINN 05.03.13✎ 10:23 | 
        (16) Угу. А строка, на самом деле, только что добавлена/изменена и объект не записан :)     | |||
| 18
    
        Knowledge 05.03.13✎ 10:25 | 
        (14) См. 6.,
  (17) пусть записан. | |||
| 19
    
        Phil_McLaren 05.03.13✎ 10:26 | 
        (17) нельзя не допускать этого, но записать объект все-таки остается на совести пользователя) по этому вопросу я не заморачиваюсь     | |||
| 20
    
        НЕА123 05.03.13✎ 10:27 | 
        (18) 
  тогда (7)+запрос | |||
| 21
    
        Steel_Wheel 05.03.13✎ 10:30 | 
        (0) Надо, чтобы у справочника была ссылка на тот справочник, в который он входит. Например, он был ему подчинен. Тогда через владельца. В противном случае, тебе надо работать над поиском     | |||
| 22
    
        Steel_Wheel 05.03.13✎ 10:33 | 
        Точнее, чтобы было определено четкое соответствие ЭлементСправочника1 : ЭлементСправочника2. И было возможно, к нему обратиться.
  Как это сделать -- это уже на совести разработчика. Вариантов только схода 4: - включение ссылки на искомый справочник в тот справочник, откуда ищем - регистр сведений - организация подчиненных справочников - свой поиск по "твоему правилу" | |||
| 23
    
        Steel_Wheel 05.03.13✎ 10:33 | 
        А если подумать, можно еще наклепать )     | |||
| 24
    
        Phil_McLaren 05.03.13✎ 10:34 | 
        ИмяОбъектаТЧ=Метаданные.НайтиПоТипу(ТипЗнч(СтрокаТЧ)).Имя;
  Подстроки=ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Строка(СтрокаТЧ),"."); ИмяОбъекта=Подстроки[1]; ИмяТЧ=Подстроки[2]; Запрос=Новый Запрос("Выбрать ТЧ.Ссылка Как Ссылка Из Справочник."+ИмяОбъекта+"."+ИмяТЧ+" Как ТЧ Где ТЧ.НомерСтроки="+СтрокаТЧ.НомерСтроки); Выборка=Запрос.Выполнить().Выбрать(); Результат=Новый Массив; Пока Выборка.Следующий() Цикл Для Каждого Строка Из Выборка.Ссылка[ИмяТЧ] Цикл РеквизитыСовпадают=Истина; Для Каждого РеквизитТЧ Из Метаданные.Справочники[ИмяОбъекта].ТабличныеЧасти[ИмяТЧ].Реквизиты Цикл Если СтрокаТЧ[РеквизитТЧ.Имя]<>Строка[РеквизитТЧ.Имя] Тогда РеквизитыСовпадают=Ложь; Прервать; КонецЕсли; КонецЦикла; Если РеквизитыСовпадают Тогда Результат.Добавить(Выборка.Ссылка); КонецЕсли; КонецЦикла; КонецЦикла; | |||
| 25
    
        Рэйв 05.03.13✎ 10:35 | 
        Что вы человеку моск пудрите?:-)
  ВЫБРАТЬ ТЧСчета.Ссылка, // это оно! ТЧСчета.НомерСтроки, ТЧСчета.Реквизит1, ТЧСчета.Реквизит2 ИЗ Справочник.Банки.Счета КАК ТЧСчета | |||
| 26
    
        Phil_McLaren 05.03.13✎ 10:35 | 
        это, господа, чудовище. но даст оно неуникальные результаты, если увидит полное совпадение значений реквизитов строки ТЧ в разных объектах.
  т.е. если в (0) вашем справочнике может быть два элемента, у которых в тч под одним и тем же номером идет ровно одна и та же строка, то в массиве Результат будут обе ссылки | |||
| 27
    
        Рэйв 05.03.13✎ 10:35 | 
        и по строке так же
  СтрокаТЧ.Ссылка // это тоже оно | |||
| 28
    
        Phil_McLaren 05.03.13✎ 10:37 | 
        (27) ммм... ну у меня голова отвалится от удивления если это так     | |||
| 29
    
        Defender aka LINN 05.03.13✎ 10:38 | 
        (25) Ну выдаст он тебе КоличествоБанков*КоличествоСчетов строк. И?     | |||
| 30
    
        Рэйв 05.03.13✎ 10:38 | 
        (28)  "О сколько нам открытий чудных готовит просвященья век!" 
  (С) :-) | |||
| 31
    
        Рэйв 05.03.13✎ 10:39 | 
        (29)Это я для наглядности
  У ТС же строка таб части в параметрах. Так что ему (27) | |||
| 32
    
        Phil_McLaren 05.03.13✎ 10:40 | 
        (31) подождем комментариев автора, поберегу я головушку светлую свою)     | |||
| 33
    
        Defender aka LINN 05.03.13✎ 10:44 | 
        (31) Ничего, что у строки нет такого свойства?     | |||
| 34
    
        Fragster гуру 05.03.13✎ 10:49 | 
        автору надо не иметь всем мозг и передавать в метод объект/ссылку     | |||
| 35
    
        Рэйв 05.03.13✎ 10:50 | 
        (33)А ничего что есть?     | |||
| 36
    
        Fragster гуру 05.03.13✎ 10:51 | 
        (35) нету     | |||
| 37
    
        Рэйв 05.03.13✎ 10:51 | 
        (33)Попробуй любой справочник с таб частью
  Для каждого с из СсылкаСпр.ТабличнаяЧасть Цикл Сообщить(Стр.ссылка); КонецЦикла; | |||
| 38
    
        Fragster гуру 05.03.13✎ 10:51 | 
        Строка табличной части (Line of a tabular section)
  Строка табличной части (Line of a tabular section) Свойства: <Имя колонки> (<Column name>) НомерСтроки (LineNumber) Описание: Используется для доступа к свойствам и методам строки табличной части. Имя строки табличной части формируется следующим образом: <Префикс полного имени объекта>ТабличнаяЧастьСтрока.<Имя прикладного объекта>.<Имя табличной части>. Например: СправочникТабличнаяЧастьСтрока.Номенклатура.Состав, где "Номенклатура" - имя справочника, как оно задано в конфигураторе, "Состав" - имя табличной части справочника "Номенклатура". Доступность: Сервер, толстый клиент, внешнее соединение. См. также: Табличная часть, метод Вставить Табличная часть, метод Добавить Табличная часть, метод Найти ПланСчетовВидыСубконто, метод Вставить ПланСчетовВидыСубконто, метод Добавить ПланСчетовВидыСубконто, метод Найти Табличная часть, метод Индекс ПланСчетовВидыСубконто, метод Индекс Табличная часть, метод Получить | |||
| 39
    
        Рэйв 05.03.13✎ 10:51 | 
        (36)Только что проверил.
  Есть | |||
| 40
    
        Fragster гуру 05.03.13✎ 10:51 | 
        (39)
  Встроенный язык: Строка 3: Поле объекта не обнаружено (Ссылка) | |||
| 41
    
        Defender aka LINN 05.03.13✎ 10:51 | 
        (35) Нету, нету. Не путаем встроенный язык и запрос, ок?     | |||
| 42
    
        Рэйв 05.03.13✎ 10:52 | 
        (38)Проверь (37) не поленись:-)     | |||
| 43
    
        Fragster гуру 05.03.13✎ 10:52 | 
        (42)->(40)     | |||
| 44
    
        Fragster гуру 05.03.13✎ 10:52 | 
        может в 8.3 есть, хз     | |||
| 45
    
        Рэйв 05.03.13✎ 10:52 | 
        блин..Народ..Не поленитесь, проверьте.потом будите говорть:-)     | |||
| 46
    
        Рэйв 05.03.13✎ 10:52 | 
        у меня обнаружено     | |||
| 47
    
        Fragster гуру 05.03.13✎ 10:53 | 
        (46) версия платформы?     | |||
| 48
    
        Рэйв 05.03.13✎ 10:53 | 
        нормально сообщает.
  Конфу прислать с обработкой? | |||
| 49
    
        Рэйв 05.03.13✎ 10:53 | 
        8.2.16.352     | |||
| 50
    
        Defender aka LINN 05.03.13✎ 10:53 | 
        (46) Пруф в студию. Только не на радикал, плиз     | |||
| 51
    
        hhhh 05.03.13✎ 10:53 | 
        (46) может всё таки    Сообщить(С.ссылка); проверишь? А не Стр.Ссылка ??     | |||
| 52
    
        Defender aka LINN 05.03.13✎ 10:58 | 
        (45) Дык как раз мы-то и проверили.     | |||
| 53
    
        Рэйв 05.03.13✎ 11:03 | 
        (51)Точно блин:-))  
  Прошу пардона у общественности:-) Был неправ. У Стр как раз ссылка была :-) | |||
| 54
    
        Knowledge 05.03.13✎ 11:04 | 
        (25) Поясни : ТЧСчета.Ссылка, // это оно!
  Как отобрать нужную ссылку. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |