Имя: Пароль:
1C
1C 7.7
v7: Поиск в подчиненном справочнике
0 Downkey
 
02.10.11
11:20
Имеется подчиненный справочник.
В нем присутствуют одинаковые элементы, но с принадлежностью разным владельцам.
Подскажите, как найти в этом справочнике элемент, принадлежащий нужному владельцу?
У меня все время ищет элемент принадлежащий другому владельцу.
1 Rie
 
02.10.11
11:21
(0) ИспользоватьВладельца(НужныйВладелец)?
2 Rie
 
02.10.11
11:21
+(1) Ну и флаги глобального поиска - в 0.
3 Downkey
 
02.10.11
11:28
(1+2) да как бы так и делаю :(
4 Rie
 
02.10.11
11:30
(3) Тогда покажи, как именно делаешь.
5 andrewks
 
02.10.11
11:39
"В нем присутствуют одинаковые элементы, но с принадлежностью разным владельцам. " это как так?
6 Downkey
 
02.10.11
11:53
(4) ой. показать трудно. там в коде столько наверчено, стыдно показывать ;)  :(
7 Downkey
 
02.10.11
11:54
(5) а в чем сложность? справочник ОС подчинет справочнику балансодержателей.
8 Rie
 
02.10.11
11:55
(6) Ой, ну прям красна девственница :-)
Не надо "наворочено". Ту строку, в которой ИспользоватьВладельца() (но так, чтобы понятно было - какого владельца используешь). И ту строку, где поиск (чтобы уяснить - по наименованию ищешь, по коду, по реквизиту иль ещё как).
9 andrewks
 
02.10.11
11:58
(7) что есть по-твоему "одинаковые элементы"?
10 Rie
 
02.10.11
12:02
(9) Называются одинаково :-)
11 Downkey
 
02.10.11
12:07
(8) тогда так

спрДляЗаполн.ИспользоватьВладельца(новВладелец);
Пока спрДляЗаполн.НайтиПоНаименованию (врТаб.Родитель.Наименование,0,1)=1 цикл
       Если спрДляЗаполн.ТекущийЭлемент().Владелец=новВладелец тогда
       новРод=спрДляЗаполн.ТекущийЭлемент();
           Прервать;
   КонецЕсли;    
КонецЦикла;

(10) ну да.
12 andrewks
 
02.10.11
12:11
шо это?!
13 Rie
 
02.10.11
12:12
(11) Ну Йошкар-Ола, столица Марийской республики!
См. (3). А у тебя третий параметр НайтиПоНаименованию - какой?
14 Downkey
 
02.10.11
12:13
(13) да нет. я пробовал и без третьего параметра.
15 Rie
 
02.10.11
12:15
(14) Не знаю, что и как ты пробовал - но код из (11) будет искать по всему справочнику. Трудно написать цифру 0?
Ну и проверить, а не пустое ли значение новВладелец - оно тоже не помешало бы.
16 Downkey
 
02.10.11
12:17
(15) хорошо, напишу 0. Значение "новВладелец" не пустое, точно.
17 Rie
 
02.10.11
12:18
(11) Да, кстати,
(12)+100500

Это что за песня о цикле? Условный оператор - религия использовать не позволяет?
18 Rie
 
02.10.11
12:18
(16) "Точно не пустое" - как проверял?
И _какое именно_ у него значение?
19 Rie
 
02.10.11
12:22
(16) На самом деле плохо, это я тебя малость в заблуждение ввёл. Третий параметр - он к (3) отношения не имеет. Но вот длина наименования (сколько пробелов в конце) - может повлиять.
20 Ёпрст
 
02.10.11
12:39
(0)
спрДляЗаполн.ИспользоватьВладельца(новВладелец.ТекущийЭлемент());
Если спрДляЗаполн.НайтиПоНаименованию (врТаб.Родитель.Наименование,1)=1 Тогда
   Сообщить(спрДляЗаполн.Владелец);
   Сообщить(новВладелец.ТекущийЭлемент());
Иначе
  Сообщить("А нету нихрена с таким наименованием")
КонецЕсли;
21 Downkey
 
02.10.11
12:48
(20) <Режим> - необязательный параметр. Число: 1 - поиск внутри установленного подчинения (родителя);

Разве это относится и к Владельцу??
22 andrewks
 
02.10.11
12:49
(21) ага
23 Downkey
 
02.10.11
12:50
ок. попробую. признаться, я думал, что тол ько к родителю (как в учебнике написано)
24 andrewks
 
02.10.11
12:52
(23) написано же по-русски:
поиск внутри установленного подчинения (родителя)
25 Downkey
 
02.10.11
13:05
(24) сам понял что сказал?
читай (21) затем (22) и свое (24)
Родитель и Владелец - не одно и тоже.
26 Downkey
 
02.10.11
13:06
ок. тема закрыта. всем спасибо.
27 andrewks
 
02.10.11
13:08
(25) я-то понял. а вот ты, по-ходу, не догоняешь
28 Эльниньо
 
02.10.11
13:39
(25) Родитель - это папа
Владелец - твой начальник