Имя: Пароль:
1C
1С v8
Дерево значений в УФ и текущая строка
0 rotting
 
31.08.12
16:07
На форме есть дерево значений, у которого есть колонка "Документ". Есть реквизит формы, в который я периодически пихаю ссылку на документ. Как мне спозиционировать курсор на нужной мне строке, если я знаю значение колонки "документ", соответственно строку могу вычислить, но как?
Нужно получить идентификатор строки, как мне его получить зная значение одной из колонок?
1 rotting
 
31.08.12
16:14
ап?
2 Heckfy
 
31.08.12
16:17
Я чего то моз сломал....
Элементы.Дерево.ТекущаяСтрока=Ссылка
Элементы.Список.ТекущаяСтрока=Ссылка

Что сделать то нужно? Сформулируй как нибудь по другому...
3 rotting
 
31.08.12
16:21
Элементы.СписокЗаявокНаПродажу.ТекущаяСтрока = "Вот сюда нужно вставить ИдентификаторСтроки"

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


Есть СписокЗаявокНаПродажуРеквизит с типом ДанныеФормыДерево, как в нем найти нужную мне строку, каким методом?
4 Heckfy
 
31.08.12
16:23
Так у дерева тоже есть текущаяСтрока... Или я что то не понимаю.
5 vmv
 
31.08.12
16:28
(4) да ты не понимаешь,

Элементы.Дерево.ТекущаяСтрока=Ссылка

работает только с Таблицей формы, источник которой таблица базы данных, причем у Дин. списка установлена основная таблица

Если таблица формы - это произвольное именно дерево значений, а не иерархический список дин. списка с основной таблицей, то на

клиенте - получить идентифиактор строки можно только перебором
сервере - получить идентифиактор строки можно перебором или конвертаций данных формы дерева в значение дерева значений и поиска элемента методами Дз и последующим определением айди строки
6 ProProg
 
31.08.12
16:29
(5) никто не мешает использовать НайтиСтроки для активации
7 rotting
 
31.08.12
16:29
(5) "клиенте - получить идентифиактор строки можно только перебором ", что нужно перебирать на клиенте, реквизит формы? Как? Он то заполнен, но там тип ДанныеФормыДерево
8 rotting
 
31.08.12
16:30
(5) НайтиСтроки() - это метод чего?
9 ProProg
 
31.08.12
16:30
используешь найти строки. по строке получаешь идентификатор. делаешь строку активной.
10 rotting
 
31.08.12
16:31
(9) читай (8)
11 ProProg
 
31.08.12
16:31
(10) что читай? ты о чем? огда уж читай (6)
12 vmv
 
31.08.12
16:33
(7) ПолучитьЭлементы()
13 vmv
 
31.08.12
16:35
двоешники, где вы видели в сущностях

ДанныеФормыДерево - весь образ дерева на УФ
или
ДанныеФормыКоллекцияЭлементовДерева - узел(ветка) дерева на УФ

метод НайтиСтроки()?

Плетут, аби ляпнуть)
14 rotting
 
31.08.12
16:36
(12) получаю одну строку дерева, корень..  
то есть  СписокЗаявокНаПродажуРеквизит.ПолучитьЭлементы() получает только корневую строку с типом ДанныеФормыКоллекцияЭлементовДерева
15 ProProg
 
31.08.12
16:37
(13) гы гы... гы гы.. если мы ляпаем то ты пукаешь)
16 rotting
 
31.08.12
16:39
(15) нет мань, ты точно ляпнул... в vmv все правильно сказал, уже разобрался, теперь надо плядское дерево перебирать в рекурсии(((
17 vmv
 
31.08.12
16:40
Нерадивая ты баба, маня - лишь бы языком почесать, мдя)
18 ProProg
 
31.08.12
16:41
(17) ты педик чтоли? какая я тебе баба.
19 vmv
 
31.08.12
16:43
(18) истерики, упрямство, отсутствие логики, обидчивость - явно не мужкие черты.

Это элементарная дедукция)
20 ProProg
 
31.08.12
16:43
(16) дурак чтоли. для активации строки дерево перебирать.
Я собствено говоря и написал - кто мешает найти строку методом, получить ее идентификатор и после этого использовать активацию.
тут влез педик, ты его поддержкал и решил делать рекурсию. пипец.
21 vmv
 
31.08.12
16:44
к сожалению еще и глупая баба, впрочем это и не удивительно)
22 vmv
 
31.08.12
16:46
тырено с БСП специально для девочек

// Получает идентификатор (метод ПолучитьИдентификатор()) строки дерева значений для заданного значения поля строки дерева.
// Используется для позиционирования курсора в иерархических списках.
//
Процедура ПолучитьИдентификаторСтрокиДереваПоЗначениюПоля(ИмяПоля, ИдентификаторСтроки, КоллекцияЭлементовДерева, КлючСтроки, ПрекратитьПоиск) Экспорт
   
   Для Каждого СтрокаДерева ИЗ КоллекцияЭлементовДерева Цикл
       
       Если ПрекратитьПоиск Тогда
           Возврат;
       КонецЕсли;
       
       Если СтрокаДерева[ИмяПоля] = КлючСтроки Тогда
           
           ИдентификаторСтроки = СтрокаДерева.ПолучитьИдентификатор();
           
           ПрекратитьПоиск = Истина;
           
           Возврат;
           
       КонецЕсли;
       
       КоллекцияЭлементов = СтрокаДерева.ПолучитьЭлементы();
       
       Если КоллекцияЭлементов.Количество() > 0 Тогда
           
           ПолучитьИдентификаторСтрокиДереваПоЗначениюПоля(ИмяПоля, ИдентификаторСтроки, КоллекцияЭлементов, КлючСтроки, ПрекратитьПоиск);
           
       КонецЕсли;
       
   КонецЦикла;
   
КонецПроцедуры
23 rotting
 
31.08.12
16:46
(20) еще раз спрашиваю метод НайтиСтроки() это метод какого объекта? С радостью его использую, если объяснишь как.
24 ProProg
 
31.08.12
16:48
(21) чмошник голубой) точно

(23) дерева. с синтаксис помощником не дружишь?
25 vmv
 
31.08.12
16:50
(24) ты всегда обличался похабщиной и не уменем признавать ошибки, жалкий лузер)
26 rotting
 
31.08.12
16:52
(24) Где ж мне дерево взять? Есть Реквизит формы с типом ДанныеФормыДерево, как мне из него дерево вытянуть?