Нелады с позиционированием выборки 1С7.7

  • Автор темы LoveSilense
  • Дата начала
Статус
Закрыто для дальнейших ответов.
L

LoveSilense

#1
Заранее извиняюсь за глупый вопрос - но никак осилить не удаётся=(
При создании элемента справочника нужно спозиционировать на нем выборку для проверки, находится ли он в группе "продукция". Как это сделать если никаких уникальных атибутов при создании не присваевается?

я пробовал так
ТМЦпоз = СоздатьОбъект("Справочник.ТМЦ");
ТМЦпоз.ВыбратьЭлементы();
ТМЦпоз.ТекущийЭлемент();
Если ТМЦпоз.ПринадлежитГруппе("Продукция") = 1 Тогда
ВидТМЦ=Перечисление.ВидыТМЦ.Продукция;
Иначе
ВидТМЦ=Перечисление.ВидыТМЦ.Товар;
КонецЕсли;

насколько я понял строка ТМЦпоз.ТекущийЭлемент(); тут абсолютно не в тему и вроде как не позиционирует на активном елементе выборку... но как тогда все-таки это сделать?
 

puh14

Well-known member
11.07.2008
1 412
0
#2
ТМЦпоз = СоздатьОбъект("Справочник.ТМЦ");
ТМЦпоз.ВыбратьЭлементы();
Пока ТМЦпоз.ПолучитьЭлемент() = 1 Цикл
//ТМЦпоз.ТекущийЭлемент(); //не обязательно
Если ТМЦпоз.ЭтоГруппа() = 0 Тогда // Проверка на группу - вряд-ли у группы есть реквизит перечисления.
Если ТМЦпоз.ПринадлежитГруппе("Продукция") = 1 Тогда
//Если ТМЦпоз.Родитель.Наименование = "Продукция" Тогда // про принадлежность группе не пробовал
ВидТМЦ=Перечисление.ВидыТМЦ.Продукция;
//ТМЦпоз.ВидТМЦ=Перечисление.ВидыТМЦ.Продукция; // Если ВидТМЦ не переменная а реквизит справочника
//ТМЦпоз.Записать();// Ну что-то с ним сделать надо ;-)
Иначе
ВидТМЦ=Перечисление.ВидыТМЦ.Товар;//см строчку выше
КонецЕсли;
КонецЕсли;//Проверка на группу
КонецЦикла;

Удачи!
 
L

LoveSilense

#3
Никак не удаётся установить принадлежность группе=( Пробовал отладчиком, выдает что
Если ТМЦпоз.ПринадлежитГруппе("Продукция") = 0
и во втором случае ТМЦпоз.Родитель.Наименование =""
непонимаю, почему такое может быть, если я создаю новый элемент именно в группе Продукция?????
 
I

Isabela

#4
Если ТМЦпоз.НайтиПонаименованию("Продукция",0) = 1 тогда
Продукция = ТМЦпоз.ТекущийЭлемент();
КонецЕсли
вот теперь Продукция - элемент справочника ТМЦпоз, и можно проверять остальные элементы справочника на предмет принадлежности группе
Продукция
Если ТМЦпоз.ПринадлежитГруппе(Продукция) = 1 и т.д.
а такое
Если ТМЦпоз.ПринадлежитГруппе("Продукция") = 1 Тогда
не будет работать никогда, ибо "Продукция" - здесь текст, а не элемент справочника
 

vitfil

IT-интегратор
02.04.2004
2 062
0
#6
+ Попробуйте еще почитать ЖКК "Описание встроенного языка". Там кроме описания методов есть еще и примеры.
 
Статус
Закрыто для дальнейших ответов.