|
v7: Как упростить метод ПринадлежитГруппе ?
| ☑ |
0
Izuchayu1C7
29.04.15
✎
09:17
|
При открытии справочника проверяется принадлежность элементов к группе Работающие. Как-то можно облегчить эту конструкцию? Получилось как то громоздко.
Процедура ПриОткрытии()
СправочникСотрудники=СоздатьОбъект("Справочник.Сотрудники");
СправочникСотрудники.НайтиПоНаименованию("Работающие");
Работающие=СправочникСотрудники.ТекущийЭлемент();
СправочникСотрудники.ВыбратьЭлементы();
Пока СправочникСотрудники.ПолучитьЭлемент()=1
Цикл
Если СправочникСотрудники.ПринадлежитГруппе(Работающие)=1 Тогда
Сообщить(СправочникСотрудники.Наименование);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
|
|
1
ДенисЧ
29.04.15
✎
09:19
|
а нафига всё это нужно?
И да, никогда не используй запросы...
|
|
2
KishMish
29.04.15
✎
09:21
|
(0)
1. Можно запросом.
2. Позиционирование группы Работающие можно сделать проще
ИСпользовать 1 раз
СтрокаРаботающие=ЗначениеВСТрокуВнутр(Работающие);
и потом в томо код пишешь
Работающие = ЗначениеИЗСтрокиВнутр("ну и тут та строка которую ты получишь");
|
|
3
vcv
29.04.15
✎
09:25
|
Если нужно много-много сотрудников, выгоднее всего будет перед перебором приготовить список значений, содержащий группу "Работающие" и все подгруппы в ней. В цикле проверять СписокГрупп.НайтиЗначение(СправочникСотрудники.Родитель)
|
|
4
Эльниньо
29.04.15
✎
09:45
|
ИспользоватьРодителя() отменили?
|
|
5
Izuchayu1C7
29.04.15
✎
12:59
|
(3) (4) Спасибо, это понял.
|
|
6
Izuchayu1C7
29.04.15
✎
13:10
|
(2) Вот это пока не понятно. Не знаю как правильно написать синтаксис.
|
|
7
Эльниньо
29.04.15
✎
13:19
|
(6) Гланды через жпо вырезать предлагает
|
|
8
lavalit
30.04.15
✎
13:33
|
Зачем в (0) циклить? просто проверяй родителя элемента и все.
НО при открытии справочника и так видно в какой группе элемент... так что непонятно зачем оно надо?
|
|