rossoxa
@rossoxa
Состоявшийся HR специалист . Веб-мастер.

Как решить задачу?

Добрый день.Прошу помощи .
Дано:
Номенклатура имеет иерархию справочника по группам.
Уровень вложенности групп неограничен.
Некоторые позиции номенклатуры (ведущие) имеют модификаторы (ТЧ номенклатуры). Модификатор - Справочник.Номенклатура
Ведующая номенклатура вложена в какую-то группу.
Модификатор тоже вложен в какую-то группу.

Задача:
Сравнить самую верхнюю группу ведущей номенклатуры и модификатора.
Если группа не совпадает, то выдать эту номенклатуру в ТЧ обработки.
Колонки ТЧ: Номенклатура (ведущая) и группа.
Ход логики
// Получить номенклатуру с модификаторами
// Получить верхнюю группу ведущей номенклатуры
// Получить верхнюю группу модификатора
// Сравнить 2 группы
// Если они не совпадают, то добавить их в ТЧ
Написал запрос .Выбивает с ошибкой .
1.Запрос = НовыйЗапрос;
Запрос.Текст=
"ВЫБРАТЬ
| Номенклатура.Модификаторы.
| Модификатор
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Модификаторы.Модификатор = &Истина"
  • Вопрос задан
  • 207 просмотров
Решения вопроса 1
@Dementor
программист, архитектор, аналитик
Запрос выдает ошибку на название переменной &Истина. Совпадает с ключевым словом Истина. Что за дурацкое название? Называйте по существу - &Модификатор. Если значение параметра всегда истинно, то зачем вообще тут параметр? Сравнивайте с ключевым словом или вообще уберите сравнение - если реквизит Модификатор из справочника Модификаторы, на который своим реквизитом ссылается справочник Номенклатура (ну вы и завернули с архитектурой, все же можно сделать намного проще), булевский, то его достаточно в секции ГДЕ. Пример: Выбрать * из Справочник.Номенклатура Где не ПометкаУдаления.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@thepry
Ruby on rails, 1С разработчик
Делайте запрос к ТЧ
ВЫБРАТЬ
бла-бла-бла
ИЗ
Справочник.Номенклатура.Модификаторы

А сама номенклатура будет доступна по полю «Ссылка».
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы