|
v7: Выбрать элементы группы справочника | ☑ | ||
---|---|---|---|---|
0
Double_Medved
14.08.13
✎
11:44
|
Подскажите пожалуйста, как из модуля формы группы справочника перебрать все элементы группы? как их выбрать?
Процедура ПриИзмененииСерийногоНомера() СпрНоменклатура = Справочники.Номенклатура; ЭтаГруппа = СпрНоменклатура.НайтиЭлемент(Объект); Выборка = СпрНоменклатура.Выбрать(ЭтаГруппа); Пока Выборка.Следующий() = 1 Цикл //бла бла КонецЦикла; КонецПроцедуры //ПриИзмененииСерийногоНомера() Ругается конечно на ЭтаГруппа = СпрНоменклатура.НайтиЭлемент(Объект); А как в семерке указать то, чтобы искать собственно открытую группу? не объект, а как? |
|||
1
lamme
14.08.13
✎
11:44
|
запросом
|
|||
2
lamme
14.08.13
✎
11:45
|
и это точно 1С7 ?
|
|||
3
dk
14.08.13
✎
11:45
|
точно 7-ка?
|
|||
4
lamme
14.08.13
✎
11:45
|
а ..
в 1С7 есть метод ИспользоватьРодителя(твоягруппа) |
|||
5
Джинн
14.08.13
✎
11:45
|
ИспользоватьРодителя. В хорошем смысле.
|
|||
6
Double_Medved
14.08.13
✎
11:45
|
(2), (3). Точно семерка))
|
|||
7
Chum
14.08.13
✎
11:46
|
л_Спр.ИспользоватьРодителя(ВыбраннаяГруппа);
л_Спр.ВыбратьЭлементы(); Пока л_Спр.ПолучитьЭлемент() = 1 Цикл |
|||
8
dk
14.08.13
✎
11:46
|
СпрНоменклатура = Справочники.Номенклатура;
что-то сомнитнльно |
|||
9
lamme
14.08.13
✎
11:46
|
т.е. что то типа такого
Спр = СоздатьОбъект(Номенклатура) Спр1 = СоздатьОбъект(Номенклатура) Спр1.найтиЭлемент(твоягруппа) Спр.ИсподльзоватьРодителя(Спр1.ТекущиуЭлемент()) Спр.выбратьЭлементы() пока Спр.ПолучтьЭлемент() >0 цикл |
|||
10
Rie
14.08.13
✎
11:47
|
(6) Тогда неправда, что ругается на
ЭтаГруппа = СпрНоменклатура.НайтиЭлемент(Объект); а не на СпрНоменклатура = Справочники.Номенклатура; |
|||
11
Double_Medved
14.08.13
✎
11:47
|
(4),(5) а как указать "твоягруппа"? Это форма группы. Как указать именно ее? Искать по наименованию не хочу, может найти несколько. А как поискать по объекту? Методом найти элемент?
|
|||
12
Rie
14.08.13
✎
11:48
|
(11) Если это - форма группы, то ТекущийЭлемент()
|
|||
13
Rie
14.08.13
✎
11:49
|
+(12) В форме списка - ИспользоватьРодителя() даст текущую группу.
|
|||
14
Chum
14.08.13
✎
11:49
|
(11) Группу можно:
1. Выбрать интерактивно; 2. Найти по коду, полному коду, наименованию, полному наименованию; 3. Использовать ранее определенную |
|||
15
Guk
14.08.13
✎
11:50
|
(6) движок сам писал?...
|
|||
16
Double_Medved
14.08.13
✎
11:50
|
(8),(10) ой, вы правы. Путаюсь постоянно между синтаксисом 7-ки и 8-ки. Но вопрос в том, как обратиться к самому объекту из формы группы? там мы можем обращаться к реквизитам типа наименования и штрихкода например, а как обратиться к самому элементу, чтобы например провести по нему поиск? может что-то типа ПолучитьОбъект()?
|
|||
17
Rie
14.08.13
✎
11:51
|
(16) См. (12)
|
|||
18
Double_Medved
14.08.13
✎
11:52
|
(12)
Тогда так проводить поиск? ЭтаГруппа = СпрНоменклатура.НайтиЭлемент(ТекущийЭлемент()); |
|||
19
Rie
14.08.13
✎
11:53
|
(18) Всё же - где обитаем-то? В форме группы?
Если да - то СпрНоменклатура.ИспользоватьРодителя(ТекущийЭлемент()); СпрНоменклатура.ВыбратьЭлементы(); Пока СпрНоменклатура.ПолучитьЭлемент()=1 Цикл // и делай с ним, что хошь КонецЦикла; |
|||
20
Double_Medved
14.08.13
✎
11:53
|
Спасибо, получилось!
Процедура ПриИзмененииСерийногоНомера() СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура"); ЭтаГруппа = СпрНоменклатура.НайтиЭлемент(ТекущийЭлемент()); Выборка = СпрНоменклатура.Выбрать(ЭтаГруппа); Пока Выборка.Следующий() = 1 Цикл //бла бла КонецЦикла; КонецПроцедуры |
|||
21
Chum
14.08.13
✎
11:53
|
(18) анакойхер?
Если ты в форме списка, поставил курсор на группу и тебе что-то нужно сделать, то выделенная группа доступна через текущийэлемент(). |
|||
22
Double_Medved
14.08.13
✎
11:54
|
(19). Да, в форме группы
|
|||
23
Rie
14.08.13
✎
11:54
|
(20) А вот врать - не надо.
|
|||
24
Guk
14.08.13
✎
11:55
|
(20) жесть ;)...
|
|||
25
Double_Medved
14.08.13
✎
11:55
|
А вообще получается что в форме группы, форме элемента, форме списка, можно использовать ТекущийЭлмент() и это собственно он и будет? тот с которым сейчас работаем?
|
|||
26
Double_Medved
14.08.13
✎
11:56
|
(23)(24). А что тут не так?
|
|||
27
Chum
14.08.13
✎
11:56
|
(25) типа того
|
|||
28
Chum
14.08.13
✎
11:57
|
(26)
метод Выбрать работает для интерактивного выбора элемента/группы Пока Выборка.Следующий() = 1 Цикл - такого нет в 7-ке. |
|||
29
dk
14.08.13
✎
11:57
|
можно и реквизиты напрямую менять и читать - без поиска и без текущегоэлемента
|
|||
30
Rie
14.08.13
✎
11:57
|
(26) Код из (20) - не рабочий. Совсем-совсем не рабочий.
Ошибку выдаст, если его запустить. |
|||
31
Double_Medved
14.08.13
✎
11:57
|
{Справочник.Номенклатура.Форма группы.Модуль(43)}: Недостаточное число параметров передано при вызове функции/процедуры объекта Тьфу блин, ща попробую как Rie в (19) написал
|
|||
32
Rie
14.08.13
✎
11:58
|
Хоть сегодня и среда - но что-то очень пятнично...
|
|||
33
Double_Medved
14.08.13
✎
12:00
|
Процедура ПриИзмененииСерийногоНомера()
СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура"); СпрНоменклатура.ИспользоватьРодителя(ТекущийЭлемент()); СпрНоменклатура.ВыбратьЭлементы(); Пока СпрНоменклатура.ПолучитьЭлемент()=1 Цикл //бла бла КонецЦикла; КонецПроцедуры |
|||
34
Double_Medved
14.08.13
✎
12:02
|
Во, спасибо Rie, так как ты сказал заработало. А скажите плиз, чтож делать если в папке лежат папки а в них лежат папки и т.д.? И надо обойти все элементы? тогда ведь такой код уже не прокатит?
|
|||
35
Ёпрст
14.08.13
✎
12:03
|
(34) прокатит
|
|||
36
Double_Medved
14.08.13
✎
12:03
|
(32) я путаюсь между синтаксисом 7-ки и 8-ки, это ужасно. Как разные диалекты одного языка. Зачем было блин так менять синтаксис? чтобы люди потом путались?
|
|||
37
Ёпрст
14.08.13
✎
12:03
|
будут выбраны все элементы и группы вниз по иерархии
|
|||
38
Ёпрст
14.08.13
✎
12:03
|
(36) синтаксис там мало чем отличается
|
|||
39
Double_Medved
14.08.13
✎
12:03
|
(35)Спасибо!
|
|||
40
Rie
14.08.13
✎
12:04
|
(34) Всё будет хорошо - если не забудешь проверять, пришёл ли элемент или группа.
|
|||
41
Double_Medved
14.08.13
✎
12:05
|
(40) Понятно, спасибо. То есть он переберет и все вложенные группы, и все находящиеся там элементы?
|
|||
42
Rie
14.08.13
✎
12:07
|
(41) Да. И непосредственно вложенные, и поглубже вложенные, и элементы, и группы - все.
Про ЭтоГруппа() не забудь. |
|||
43
Double_Medved
14.08.13
✎
12:11
|
(42)Спасибо! Вы очень помогли!
|
|||
44
Double_Medved
14.08.13
✎
12:12
|
Приятно когда не начинают обсирать а объясняют вопрос
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |