• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

LoveSilense

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

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

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

puh14

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

Удачи!
 
L

LoveSilense

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

Isabela

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

LoveSilense

Хм... спасибо, будем попробовать
 
V

vitfil

+ Попробуйте еще почитать ЖКК "Описание встроенного языка". Там кроме описания методов есть еще и примеры.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!