|
Таблица в запросе | ☑ | ||
---|---|---|---|---|
0
247tsm
01.05.13
✎
18:15
|
Добрый день,
Я не силен в запросах, поэтому большая просьба подсказать, как подправить запрос, в котором выдается ошибка "Таблица не найдена "РегистрСведенийМенеджер.ЦенаНоменклатурыПоГруппамСкладов.СрезПоследних": Запрос=Новый Запрос(); Запрос.Текст=" |Выбрать | Остатки.Субконто1 Как Субконто1, | Остатки.Субконто3 Как Субконто3, | Остатки.Субконто4 Как Субконто4, | Остатки.Субконто2 Как Субконто2, | Сумма(Остатки.СуммаОстаток) Как Сумма, | Сумма(Остатки.КоличествоОстаток) Как Количество, | ТоварЦена.Цена Как Цена |Из | РегистрБухгалтерии.РегистрДляПланаСчетов_Основной.Остатки( | &Период, Счет = ЗНАЧЕНИЕ(ПланСчетов.Основной.A217_1), , ) КАК Остатки, | РегистрСведений.ЦенаНоменклатурыПоГруппамСкладов.СрезПоследних(&Период) КАК ТоварЦена"; Спасибо. |
|||
1
IamAlexy
01.05.13
✎
18:15
|
определиться как на самом деле называется регистр и периодический ли он
|
|||
2
IamAlexy
01.05.13
✎
18:16
|
пожалуйста
|
|||
3
247tsm
01.05.13
✎
18:17
|
Да, это регистр сведений и он периодический и называется именно так: ЦенаНоменклатурыПоГруппамСкладов
|
|||
4
Wobland
01.05.13
✎
18:18
|
(3) ошибка не соотносится с текстом запроса. следующая попыька
|
|||
5
247tsm
01.05.13
✎
18:19
|
Я краем уха слышал про менеджер временных таблиц или пакетный запрос - может в этом ответ. Но я не знаю, как применить менеджер временных таблиц или как составить пакетный запрос.
|
|||
6
Wobland
01.05.13
✎
18:20
|
(5) пожалеть?
|
|||
7
247tsm
01.05.13
✎
18:23
|
Вот полный текст сообщения об ошибке:
Ошибка при вызове метода контекста (Выполнить): {(13, 2)}: Таблица не найдена "РегистрСведенийМенеджер.ЦенаНоменклатурыПоГруппамСкладов.СрезПоследних" <<?>>РегистрСведенийМенеджер.ЦенаНоменклатурыПоГруппамСкладов.СрезПоследних(&Период) КАК ТоварЦена Где Истина И Истина И Истина И Истина И Истина И Истина И Истина выборка=Запрос.Выполнить(); по причине: {(13, 2)}: Таблица не найдена "РегистрСведенийМенеджер.ЦенаНоменклатурыПоГруппамСкладов.СрезПоследних" <<?>>РегистрСведенийМенеджер.ЦенаНоменклатурыПоГруппамСкладов.СрезПоследних(&Период) КАК ТоварЦена Где Истина И Истина И Истина И Истина И Истина И Истина И Истина |
|||
8
Wobland
01.05.13
✎
18:26
|
(7) не бывает таких таблиц РегистрСведенийМенеджер...
|
|||
9
Wobland
01.05.13
✎
18:26
|
и истин явно маловато
|
|||
10
craxx
01.05.13
✎
18:27
|
Слово "Менеджер" выкоси отовсюду
|
|||
11
247tsm
01.05.13
✎
18:30
|
У меня передаются параметры, поэтому столько ИСТИН ;)
Уточнение: это сообщение появляется, когда я использую РегистрСведенийМенеджер. Если я использую РегистрСведений, то ошибка: Ошибка при вызове метода контекста (Выполнить): {(9, 3)}: Поле не входит в группу "ТоварЦена.Цена" <<?>>ТоварЦена.Цена Как Цена выборка=Запрос.Выполнить(); по причине: {(9, 3)}: Поле не входит в группу "ТоварЦена.Цена" <<?>>ТоварЦена.Цена Как Цена РегистрСведений ЦенаНоменклатурыПоГруппамСкладов имеет: Измерения - Номенклатура, ГруппаСкладов Ресурсы - Цена |
|||
12
craxx
01.05.13
✎
18:33
|
я не совсем понимаю... ты запрос руками пишешь что-ли?
используй конструктор и посмотри как он тебе сделает - попытайся понять логику |
|||
13
Wobland
01.05.13
✎
18:34
|
(11) теперь оно тебе говорит, что ты пыьтаешься выбрать поле, не применяя к нему агрегатной функции и не делаю по нему группировку
|
|||
14
247tsm
01.05.13
✎
18:45
|
(13) а какую агрегатную функцию можно применить к полю "Цена" - Сумма...?
|
|||
15
Wobland
01.05.13
✎
18:46
|
(14) а также максимум, минимум и количество. будешь продолжать задавать глупые вопросы - будешь продолжать получать на них точные ответы
|
|||
16
247tsm
01.05.13
✎
18:53
|
а если мне нужно получить просто цену на определенную дату? Мне не нужны не максимум, ни минимум, ни количество, ни сумма ..., то как быть в этом случае?
|
|||
17
Wobland
01.05.13
✎
18:54
|
(16) брать срез последних
|
|||
18
hhhh
01.05.13
✎
19:29
|
(16) Сумма() убери. Это бред, Оно и так просуммировано там.
|
|||
19
GANR
01.05.13
✎
20:11
|
(0) В каком субконто лежит номенклатура??? Вот по нему и надо написать условие соединения. А так запрос будет примерно вот таким:
Запрос=Новый Запрос(); Запрос.Текст= "ВЫБРАТЬ | Остатки.Субконто1 Как Субконто1, | Остатки.Субконто3 Как Субконто3, | Остатки.Субконто4 Как Субконто4, | Остатки.Субконто2 Как Субконто2, | Остатки.СуммаОстаток Как Сумма, | Остатки.КоличествоОстаток Как Количество, | ЕСТЬNULL(ТоварЦена.Цена, 0) Как Цена |Из | РегистрБухгалтерии.РегистрДляПланаСчетов_Основной.Остатки( | &Период, Счет = ЗНАЧЕНИЕ(ПланСчетов.Основной.A217_1), , ) КАК Остатки ЛЕВОЕ СОЕДИНЕНИЕ | РегистрСведений.ЦенаНоменклатурыПоГруппамСкладов.СрезПоследних(&Период, ) КАК ТоварЦена ПО Остатки.Субконто1 = ТоварЦена.Номенклатура"; |
|||
20
247tsm
01.05.13
✎
20:54
|
Всё получилось. Я сначала сделал, как в (19), но вместо "ЛЕВОЕ СОЕДИНЕНИЕ" просто поставил ",". А потом сделал точно, как в (19) и получил тот же результат.
Всем огромное спасибо. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |