Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
16 Дек 2017, 12:13
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Обработка Справочника  (Прочитано 8928 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн cannabis_86

  • ***
  • Сообщений: 168
  • РЕПУТАЦИЯ: 19
  • КПД: 11%
  • Регистрация: 2010-08-26
  • Сайт: 
1с 7.7 ТиС 9.2
Здравствуйте, уважаемые форумчане. Мне необходимо перебрать все элементы справочника которые находятся в группе "Газеты".
Написал такую вещь:
   СпрНом = СоздатьОбъект("Справочник.Номенклатура");
   СпрНом.ВыбратьЭлементы();
   Пока СпрНом.ПолучитьЭлемент() = 1 Цикл
        Если СпрНом.ПринадлежитГруппе("Газеты") = 0 ТОгда
         Сообщить(СпрНом.Наименование);
      КонецЕсли;   
   КонецЦикла;

Но проблема у меня в том, что в группе Газеты встречаются и другие группы, в которых есть номенклатура. А я как понимаю у той номенклатуры Родителем не является группа Газеты. Хотя мне их тоже нужно перебрать. И как мне сделать обработку в этом случае?   


Оффлайн prog1c7.7

  • Модератор
  • *****
  • Сообщений: 784
  • РЕПУТАЦИЯ: 260
  • КПД: 33%
  • ну - да , ну - да...
  • Регистрация: 2010-10-20
  • Сайт: 
  • Профессия: Программист 1С
СпрНом.ВыбратьЭлементы(0);

Оффлайн cannabis_86

  • ***
  • Сообщений: 168
  • РЕПУТАЦИЯ: 19
  • КПД: 11%
  • Регистрация: 2010-08-26
  • Сайт: 
Что-то я не допонял. Что это мне даст? Или мне нужно выбрать данную группу, а потом сделать СпрНом,ВЫбратьЭлементы(0); ??

Оффлайн prog1c7.7

  • Модератор
  • *****
  • Сообщений: 784
  • РЕПУТАЦИЯ: 260
  • КПД: 33%
  • ну - да , ну - да...
  • Регистрация: 2010-10-20
  • Сайт: 
  • Профессия: Программист 1С
нет
но и так должно работать, т.к. принадлежитгруппе  вытаскивает все элементы независимо от уровня вниз по группе

Оффлайн prog1c7.7

  • Модератор
  • *****
  • Сообщений: 784
  • РЕПУТАЦИЯ: 260
  • КПД: 33%
  • ну - да , ну - да...
  • Регистрация: 2010-10-20
  • Сайт: 
  • Профессия: Программист 1С
//и еще, наверно не
Если СпрНом.ПринадлежитГруппе("Газеты") = 0
//а
Если СпрНом.ПринадлежитГруппе("Газеты") = 1
//так ведь?

Оффлайн prog1c7.7

  • Модератор
  • *****
  • Сообщений: 784
  • РЕПУТАЦИЯ: 260
  • КПД: 33%
  • ну - да , ну - да...
  • Регистрация: 2010-10-20
  • Сайт: 
  • Профессия: Программист 1С

Оффлайн cannabis_86

  • ***
  • Сообщений: 168
  • РЕПУТАЦИЯ: 19
  • КПД: 11%
  • Регистрация: 2010-08-26
  • Сайт: 
При принадлежности к группе функция Принадлежит группе возвращать должно 1? Просто что-то у меня не получается. Когда ставлю 1, то он мне не выдает результат. Мб я не правильно указываю параметр в функции?("Газеты")

Оффлайн cannabis_86

  • ***
  • Сообщений: 168
  • РЕПУТАЦИЯ: 19
  • КПД: 11%
  • Регистрация: 2010-08-26
  • Сайт: 
Как правильно передать группу в функцию. Я попробовал это сделать, при возможности выбора из справочника, то тогда работает.(Имеется виду переменная, ссылка на элемент справочника)

Оффлайн cannabis_86

  • ***
  • Сообщений: 168
  • РЕПУТАЦИЯ: 19
  • КПД: 11%
  • Регистрация: 2010-08-26
  • Сайт: 
Все я разобрался. Нужно сделать так?
   СпрНом = СоздатьОбъект("Справочник.Номенклатура");
   СпрНом.НайтиПоНаименованию("Газеты", 0); 
   Если СпрНом.Выбран() > 0 Тогда
      Газеты = СпрНом.ТекущийЭлемент();
   КонецЕсли;
   
   СпрНом.ВыбратьЭлементы(0);
   Пока СпрНом.ПолучитьЭлемент() = 1 Цикл     
      Если СпрНом.ПринадлежитГруппе(Газеты) = 1 Тогда
         Сообщить(СпрНом.Наименование);
      КонецЕсли;
   КонецЦикла;

Оффлайн prog1c7.7

  • Модератор
  • *****
  • Сообщений: 784
  • РЕПУТАЦИЯ: 260
  • КПД: 33%
  • ну - да , ну - да...
  • Регистрация: 2010-10-20
  • Сайт: 
  • Профессия: Программист 1С
//Правильно, только
//проверку на группу сделай
Если СпрНом.Выбран() > 0 Тогда
  Если СпрНом.ТекущийЭлемент().ЭтоГруппа = 1 тогда
      Газеты = СпрНом.ТекущийЭлемент();
  КонецЕсли;
КонецЕсли;


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
154 Сообщений
ilyay ilyay
66 Сообщений
alex0402
53 Сообщений
AIFrame
47 Сообщений
andron81_81
44 Сообщений
oleg-x
44 Сообщений
BuhRust
33 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
Golickoff Golickoff
31 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

  • Точка Гостей: 284
  • Точка Скрытых: 0
  • Точка Пользователей: 5
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal