• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Нелады с позиционированием выборки 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

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

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