Имя: Пароль:
1C
1С v8
Как получить ссылку на элемент справочника по значению строки табличной части эт
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) Поясни : ТЧСчета.Ссылка, // это оно!
Как отобрать нужную ссылку.