Имя: Пароль:
1C
1C 7.7
v7: Обход справочника
,
0 SRM1C
 
05.05.17
06:50
День добрый!
У кого имеется любой код, для примера как обойти все элементы справочника игнорируя группы в 7.7, а то не знаком с ней, а годных примеров не нашел.
1 Antony8x
 
05.05.17
06:55
(0) интересно, как искали?

Спр = СоздатьОбъект(“Справочник.ВидСправочника“);
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() = 1 Цикл
Если Спр.ТекущийЭлемент().ЭтоГруппа() Тогда
Продолжить;
КонецЕсли
// Дальнейшие действия с Спр.ТекущийЭлемент()
КонецЦикла;
2 Zmich
 
05.05.17
06:57
(1). В 7.7 нет типа Булево.
3 Antony8x
 
05.05.17
06:57
"ЭтоГруппа() = 1"
4 SRM1C
 
05.05.17
07:02
Потестим, спасибо
5 Chameleon1980
 
05.05.17
07:39
(4) фигли тестить - наливай да пей.

Можно еще запросом (черным, прямым) :)
6 vladko
 
05.05.17
08:18
(0) Вот пример того же, но через запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|ТекЭлемент = Справочник.ВидСправочника.ТекущийЭлемент;
|Группировка ТекЭлемент без групп;
|"//}}ЗАПРОС
;
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
    
Спр = СоздатьОбъект(“Справочник.ВидСправочника“);
Пока Запрос.Группировка(1) = 1 Цикл
Спр.НайтиЭлемент(Запрос.ТекЭлемент);
// Дальнейшие действия с Спр.ТекущийЭлемент()
КонецЦикла;
7 Смотрящий
 
05.05.17
08:19
(6) Функция где ? Он пустой будет твой запрос
8 Zmich
 
05.05.17
08:22
(7). Не будет он пустым. Не обязательны функции в запросе.
9 mishaPH
 
модератор
05.05.17
08:24
(7) не будет. это на ранних релизах без функции пустой выходил.
10 пипец
 
05.05.17
08:59
есть еще универсальные обработки refprint.ert например
11 Злопчинский
 
05.05.17
09:46
(8) для обработки справочников можно без функции, а регистры нужна функция
12 Злопчинский
 
05.05.17
09:48
(1) достаточно
Если Спр.ЭтоГруппа()=1 Тогда....
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший