|   |   | 
| 
 | НЕ могу разобраться в запросе из листинга по книге Радченко | ☑ | ||
|---|---|---|---|---|
| 0
    
        mikkijon 09.10.19✎ 14:21 | 
        Здравствуйте Друзья!!!
 Помогите мне пожалуйста разобраться в запросе, а именно "Запрос3.Текст = "ВЫБРАТЬ | ОстаткиМатериаловОстатки.Материал, | ОстаткиМатериаловОстатки.НаборСвойств, | ОстаткиМатериаловОстатки.КоличествоОстаток |ИЗ | РегистрНакопления.ОстаткиМатериалов.Остатки( , (Материал, НаборСвойств) В | (ВЫБРАТЬ | НоменклатураДокумента.Номенклатура, | НоменклатураДокумента.НаборСвойств | ИЗ | НоменклатураДокумента) И Склад = &Склад) | КАК ОстаткиМатериаловОстатки |ГДЕ | ОстаткиМатериаловОстатки.КоличествоОстаток < 0"; Запрос3.УстановитьПараметр("Склад", Склад); РезультатЗапроса = Запрос3.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Сообщение = Новый СообщениеПользователю(); Сообщение.Текст = "Не хватает " + Строка(- ВыборкаДетальныеЗаписи.КоличествоОстаток) + " единиц материала """ + ВыборкаДетальныеЗаписи.Материал + """" + " из набора свойств """ + ВыборкаДетальныеЗаписи.НаборСвойств + """"; Сообщение.Сообщить(); Отказ = Истина; КонецЦикла; …" В данном запросе я не могу понять как воткнуть в параметр виртуальной таблицы Набор свойств листинг ниже "РегистрНакопления.ОстаткиМатериалов.Остатки( , (Материал, НаборСвойств) В | (ВЫБРАТЬ | НоменклатураДокумента.Номенклатура, | НоменклатураДокумента.НаборСвойств |" | |||
| 1
    
        Buster007 09.10.19✎ 14:23 | 
        НоменклатураДокумента - это временная таблица. В ней должно быть поле НаборСвойств.     | |||
| 2
    
        mikkijon 09.10.19✎ 15:05 | 
        есть данное поле
 Просто подробнее описать как там добавляется набор свойств " (ВЫБРАТЬ | НоменклатураДокумента.Номенклатура, | НоменклатураДокумента.НаборСвойств" и "НоменклатураДокумента.НаборСвойств" по шагово | |||
| 3
    
        unregistered 09.10.19✎ 15:09 | 
        Не могу понять - а что не устраивает в листинге (0), что конкретно не работает, и чего хочет автор?
 В тексте запроса и в параметрах виртуальной таблицы и вложенного запроса уже присутствует поле НаборСвойств. Чего ещё надо? | |||
| 4
    
        КД5 09.10.19✎ 15:15 | 
        (0) у тебя выбора нет, переучивайся на фьюжен)     | |||
| 5
    
        mikkijon 09.10.19✎ 15:20 | 
        | НоменклатураДокумента.Номенклатура,
 | НоменклатураДокумента.НаборСвойств" и "НоменклатураДокумента.НаборСвойств Данную строчку нужно прописывать в параметре виртуальной таблицы. То есть нужно добавить "НаборСвойств"в строчку "(Материал, НаборСвойств)" и в строчку "(ВЫБРАТЬ | НоменклатураДокумента.Номенклатура, | НоменклатураДокумента.НаборСвойств" Я не знаю как это сделать в окне произвольное выражение. В книге Радченко не описывается по поводу данного листинга а так у меня все работает | |||
| 6
    
        unregistered 09.10.19✎ 15:26 | 
        (5) >> нужно добавить.
 Что нужно добавить, если там уже всё есть? Или сейчас в тексте запроса этого нет, а тут ты выкладываешь уже то, что должно быть? | |||
| 7
    
        mikkijon 09.10.19✎ 15:28 | 
        да     | |||
| 8
    
        mikkijon 09.10.19✎ 15:30 | 
        это листинг из книги 
 У меня не получается его создать у меня постоянно выдает ошибки То не верный псевдоним То неверный параметр | |||
| 9
    
        Windyhead 09.10.19✎ 15:32 | 
        (0)Обзови  во вложенном запросе Номенклатуру как Материал, а то похоже он не видит поле "Материал"
 "РегистрНакопления.ОстаткиМатериалов.Остатки( , (Материал, НаборСвойств) В | (ВЫБРАТЬ | НоменклатураДокумента.Номенклатура КАК Материал, | НоменклатураДокумента.НаборСвойств КАК НаборСвойств |" | |||
| 10
    
        unregistered 09.10.19✎ 15:43 | 
        (5) >> не знаю как это сделать в окне произвольное выражение.
 В окне редактирования параметров виртуальной таблицы ОстаткиМатериаловОстатки в поле "Условие" нажимаешь кнопочку выбора (такая педалька с тремя точками). У тебя открывается диалог "Произвольное выражение". В нижнем окне (текст выражения) с клавиатуры набираешь знак "(" (открывающая скобка). Далее перетягиваешь мышкой из левой верхней секции окна поле "Номенклатура" в текст выражения после открывающей скобки. Набираешь с клавиатуры знак "," (запятая). Далее перетягиваешь мышкой из левой верхней секции окна поле "НаборСвойств" в текст выражения после открывающей скобки. Набираешь с клавиатуры знак ")" (закрывающая скобка). Набираешь с клавиатуры знак " " (пробел). Набираешь с клавиатуры букву "В" (большая русская в). Набираешь с клавиатуры знак " " (пробел). Набираешь с клавиатуры знак "(" (открывающая скобка). Набираешь с клавиатуры знак " " (пробел). Набираешь с клавиатуры знак ")" (закрывающая скобка). Должно получиться это 
Затем выделяешь тот пробел, который оказался у тебя между последними скобками. Нажимаешь правую кнопку мыши и выбираешь пункт "Конструктор запроса". У тебя откроется конструктор запроса. В этом конструкторе ты в источниках выбираешь временную таблицу (в самом низу) НоменклатураДокумента. Из неё два поля - Номенклатура и НаборСвойств. На вкладке "Объединения/Псевдонимы" можно ещё указать для поля "Номенклатура" псевдоним "Материал". Но по-моему это не обязательно. Жмешь ОК. Конструктор вложенного запроса закроется. Получившийся текст появится в тексте произвольного выражения между скобками. Должно получиться что-то вроде этого: 
Далее добавляешь в конец этого безобразия " И Склад = &Склад". (хоть с клавиатуры, хоть перетаскивая мышью поле "Склад" из левого верхнего списка измерений. Должно быть что-то типа этого. 
 | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |