v7: Групповая обработка выводит сообщение Значение не представляет агрегатный объект #634200


#0 by tolstikroot
Доброго времени суток! Я только начинаю своё общение с 1с77. Раньше был небольшой опыт общения с 8.2. Досталась мне в наследство одна база. Среди существующих конфигураций ничего подобного я не нашел. И по своему содержимому похожа она на самописную с элементами различных конфигураций. Поставлена была задача добавить одну единицу измерения ко всем товарам определенной группе номенклатуры. Нашел в базе групповую обработку, раскомментировал некоторые строки, так как обработка вообще ничего не делала из того что было мне необходимо. В итоге при попытке добавить определенную единицу измерения к отобранным товарам, получаю следующую ошибку Единица.ИспользоватьВладельца(Товар.ТекущийЭлемент); {Обработка.ГрупповаяОбработкаСправочникаНоменклатуры.Форма.Модуль}: Значение не представляет агрегатный объект (ИспользоватьВладельца) В групповой обработке этому сообщению предшествует следующий код Пока копался в конфигурации выяснил, что в справочнике Номенклатура, из реквизитов есть только БазоваяЕдиницаИзмерения. А в форме где в карточке указан список возможных единиц, он так и называется СписокЕдиниц. Но как связать его с групповой обработкой я пока не понимаю. Поэтому прошу помощи у гуру!
#1 by kimi_mm
Вышлите фрагмент кода, который вызывает ошибку, из указанного фрагмента непонятно что скрывается за переменной "Единица"
#2 by Remark
Является ли справочник "Единицы" подчиненным справочнику "Номенклатура"?
#3 by Злопчинский
Дайте весь код, в диапазоне  плюс/минус 30 строк от 550 строки, а то у вас ошибка в строке Единица.ИспользоватьВладельца(Товар.ТекущийЭлемент); а в приведенном коде - такой нет откуда мы занм что вы там за фуйню написали перед 550 строкой
#4 by Cthulhu
вернитесь обратно на 82 и вызовите специальста. потому что фрагмент кода, который Вы продемонстрировали, не касается "групповой обработки" и не решает описанной Вами проблемы НИКАК. в заданные Вами вопросы свидетельствуют о том, что вызвать специалиста будет в результате дешевле (в том числе и учитывая возможные последствия), нежели решать эту задачу Вашими, простите за выражение, силами.
#5 by Remark
Как бы да... Я думаю, что ТС больше не появится.
#6 by tolstikroot
(эта процедура отрабатывает нормально)          (вот здесь и выпадает ошибка)       вся групповая обработка представлена по следующей ссылке
#7 by tolstikroot
Справочник "Единицы" подчинен справочнику "Номенклатура"
#8 by tolstikroot
ссылка на обработку
#9 by Remark
Ошибся... Так и что скрывается за переменной "Единица"?
#10 by tolstikroot
Насколько я понимаю Единица является одним из элементом справочника Единицы, владельцем которого является отдельный товар.
#11 by tolstikroot
В форме справочника Единицы, если я не ошибаюсь это описано так
#12 by Remark
А вот эту строчку куда дели:
#13 by tolstikroot
Но результат тот же Единица = СоздатьОбъект("Справочники.Единицы"); {Обработка.ГрупповаяОбработкаСправочникаНоменклатуры.Форма.Модуль}: Неудачная попытка создания объекта (Справочники.Единицы)
#14 by Злопчинский
СПРАВОЧНИК - В ЕДИНСТВЕННОМ ЧИСЛЕ
#15 by Remark
Сорри, это я попутался. 8ка что ли под руку влезла...
#16 by tolstikroot
Исправил Справочники на Справочник, но получил ошибку Если Единица.НайтиПоРеквизиту("Единица",Значение.Единица.ТекущийЭлемент,0)<=0 Тогда {Обработка.ГрупповаяОбработкаСправочникаНоменклатуры.Форма.Модуль}: Поле агрегатного объекта не обнаружено (ТекущийЭлемент)
#17 by tolstikroot
Насколько я понимаю данная ошибка говорит о том что происходит попытка найти реквизит единица у текущего элемента, кем является товар, но у номенклатуры нету реквизита единица. Сами единицы хранятся пока мне не известным образом(слишком мало опыта), но насколько я понимаю это описано здесь Процедура ДобавитьЕдиницу
#18 by Remark
Единица.НайтиПоРеквизиту("Единица",Значение.Единица.ТекущийЭлемент,0) Вы ищете Единицу в реквизите "Единица" справочника "Единицы". Там ее точно нет. Сами Единица хранятся в справочнике "Единицы", который подчинен справочнику "Номенклатура".
#19 by Remark
#20 by Cthulhu
а за использование ключевых слов встроенного языка в названиях переменных и объектов руки надо откусывать и семерочникам, и восьмерочникам...
#21 by Remark
Сорри?
#22 by tolstikroot
Ошибка уже другая. Хотя проблема еще не решена, но её решение понемногу начинает проясняться. Если Номенклатура.НАйтиПоРеквизиту("БазоваяЕдиницаИзмерения", Единица,0) > 0 Тогда {Обработка.ГрупповаяОбработкаСправочникаНоменклатуры.Форма.Модуль}: Неверное имя реквизита! Всем спасибо за участие и терпение(все мы когда то только начинали). Завтра продолжу решать.
#23 by Злопчинский
мдя.. и эти люди что-то будут писать на снеговике... я - точно без хлеба с икрйо не сотанусь!
#24 by Злопчинский
реквизит БазоваяЕдиница в спр.номенклатура - не имеет признака "сортировка" - то бишь не индексируется и поиском не найдется!! привыкай уже не галочки расставлять по снеговиковски, а мозг включать
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С