• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

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

LoveSilense

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

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

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

Удачи!
 
Никак не удаётся установить принадлежность группе=( Пробовал отладчиком, выдает что
Если ТМЦпоз.ПринадлежитГруппе("Продукция") = 0
и во втором случае ТМЦпоз.Родитель.Наименование =""
непонимаю, почему такое может быть, если я создаю новый элемент именно в группе Продукция?????
 
Если ТМЦпоз.НайтиПонаименованию("Продукция",0) = 1 тогда
Продукция = ТМЦпоз.ТекущийЭлемент();
КонецЕсли
вот теперь Продукция - элемент справочника ТМЦпоз, и можно проверять остальные элементы справочника на предмет принадлежности группе
Продукция
Если ТМЦпоз.ПринадлежитГруппе(Продукция) = 1 и т.д.
а такое
Если ТМЦпоз.ПринадлежитГруппе("Продукция") = 1 Тогда
не будет работать никогда, ибо "Продукция" - здесь текст, а не элемент справочника
 
Хм... спасибо, будем попробовать
 
+ Попробуйте еще почитать ЖКК "Описание встроенного языка". Там кроме описания методов есть еще и примеры.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab