|
Ошибка в запросе к табличной части документа ЧекККМ | ☑ | ||
---|---|---|---|---|
0
VBMADD
30.05.18
✎
05:47
|
Привет братьям по разуму.
Пож-ста помогите исправить текст запроса. Я пока ещё не разбрался с программированием запросов. Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Товары.Ответственный, | Товары.Ссылка КАК Документ, | Товары.Номенклатура, | СУММА(Товары.Сумма) КАК Сумма | ИЗ | Документ.ЧекККМ.Товары КАК Товары, | ГДЕ | Товары.Ссылка, | Дата Между &ДатаНач и ДатаКон | СГРУППИРОВАТЬ ПО | Товары.Ссылка, | Товары.Ответственный, | Товары.Номенклатура"; Запрос.УстановитьПараметр("ДатаНач", ТекущаяДата()); Запрос.УстановитьПараметр("ДатаКон", ТекущаяДата()); РезультатЗапроса = Запрос.Выполнить(); //Ошибка при вызове метода контекста (Выполнить) // РезультатЗапроса = Запрос.Выполнить(); //по причине: //{(8, 2)}: Ожидается имя таблицы //<<?>>ГДЕ |
|||
1
Metman
30.05.18
✎
05:58
|
ИЗ Документ.ЧекККМ.Товары КАК Товары запятую убери
| ГДЕ | Товары.Ссылка | И Дата Между &ДатаНач и &ДатаКон |
|||
2
Metman
30.05.18
✎
06:01
|
|ВЫБРАТЬ
| Товары.Ссылка.Ответственный, | Товары.Ссылка, | Товары.Номенклатура, | СУММА(Товары.Сумма) КАК Сумма |ИЗ | Документ.ЧекККМ.Товары КАК Товары |ГДЕ | Товары.Ссылка = &Ссылка | И Товары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон | |СГРУППИРОВАТЬ ПО | Товары.Ссылка, | Товары.Ссылка.Ответственный, | Товары.Номенклатура" |
|||
3
VBMADD
30.05.18
✎
06:01
|
Спасибо за помощь.
|
|||
4
VBMADD
30.05.18
✎
06:10
|
Сделал как написано, но Теперь ругается по другому
Ошибка при вызове метода контекста (Выполнить) РезультатЗапроса = Запрос.Выполнить(); по причине: {(9, 21)}: Не задано значение параметра "Ссылка" Товары.Ссылка = <<?>>&Ссылка |
|||
5
Metman
30.05.18
✎
06:33
|
тогда
|ВЫБРАТЬ | Товары.Ссылка.Ответственный, | Товары.Ссылка, | Товары.Номенклатура, | СУММА(Товары.Сумма) КАК Сумма |ИЗ | Документ.ЧекККМ.Товары КАК Товары |ГДЕ | Товары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон | |СГРУППИРОВАТЬ ПО | Товары.Ссылка, | Товары.Ссылка.Ответственный, | Товары.Номенклатура" |
|||
6
VBMADD
30.05.18
✎
06:35
|
Теперь сделал вот так, но ничего из табличной части ЧекККМ не выводится.
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Товары.Ссылка.Ответственный, | Товары.Ссылка, | Товары.Номенклатура, | СУММА(Товары.Сумма) КАК Сумма |ИЗ | Документ.ЧекККМ.Товары КАК Товары |ГДЕ | Товары.Ссылка = &Ссылка | И Товары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон | |СГРУППИРОВАТЬ ПО | Товары.Ссылка, | Товары.Ссылка.Ответственный, | Товары.Номенклатура"; Запрос.УстановитьПараметр("Ссылка", Документы.ЧекККМ.ПолучитьСсылку()); Запрос.УстановитьПараметр("ДатаНач", '20180101'); Запрос.УстановитьПараметр("ДатаКон", ТекущаяДата()); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Сообщить("Выбираем товары!"); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Сообщить( ВыборкаДетальныеЗаписи.Товары.Номенклатура + " " + ВыборкаДетальныеЗаписи.Сумма + " руб." ); КонецЦикла; КонецЦикла; |
|||
7
Metman
30.05.18
✎
06:41
|
Зачем в запросе ссылка, если выбираются данные за период?
|
|||
8
Metman
30.05.18
✎
06:43
|
какая задача стоит?
|
|||
9
Metman
30.05.18
✎
06:47
|
+(7) *в условии запроса*
|
|||
10
Metman
30.05.18
✎
06:51
|
Документы.ЧекККМ.ПолучитьСсылку() Какую ссылку хотите указать?
|
|||
11
VBMADD
30.05.18
✎
06:52
|
Задача нужно вывести на экран все ЧекККМ пробитые за сегодня со строчками проданных товаров, что то типа
Чек № 25 от 30.05.2018 Сумма 150руб. Джинсы Артикул 12345 125руб Майка Артикул 432 25руб. Чек № 26 от 30.05.2018 Сумма 250руб. Тапки Артикул 145 225руб Швабра Артикул 32 25руб. |
|||
12
catena
30.05.18
✎
07:17
|
(11)Зачем тогда вообще в запросе условие на ссылку?
|
|||
13
VBMADD
30.05.18
✎
07:21
|
Написал вот такой код
Процедура Выбрать_Чеки() //=========================================== Сообщить("Выбрать_Чеки()"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Ссылка |ИЗ | Документ.ЧекККМ КАК ЧекККМ |ГДЕ | Дата МЕЖДУ &НачДата И &КонДата |УПОРЯДОЧИТЬ ПО | Дата ВОЗР"; Запрос.УстановитьПараметр("НачДата", '20180101'); Запрос.УстановитьПараметр("КонДата", ТекущаяДата()); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДокументов = РезультатЗапроса.Выбрать(); Пока ВыборкаДокументов.Следующий() Цикл Сообщить("Чек " + Строка(ВыборкаДокументов.Ссылка)); КонецЦикла; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Товары.Ссылка, | Товары.Номенклатура, | СУММА(Товары.Сумма) КАК Сумма |ИЗ | Документ.ЧекККМ.Товары КАК Товары |ГДЕ | Товары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон | |СГРУППИРОВАТЬ ПО | Товары.Ссылка, | Товары.Номенклатура"; Запрос.УстановитьПараметр("ДатаНач", '20180101'); Запрос.УстановитьПараметр("ДатаКон", ТекущаяДата()); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Сообщить("Выбираем товары!"); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Сообщить("Номенклатура = " + ВыборкаДетальныеЗаписи.Товары.Номенклатура); Сообщить("Сумма = " + ВыборкаДетальныеЗаписи.Сумма + " руб."); КонецЦикла; КонецПроцедуры =================================================== Теперь ругается так Форма(223)}: Поле объекта не обнаружено (Товары) Сообщить( |
|||
14
catena
30.05.18
✎
07:24
|
(13)
1. Зачем два запроса? 2. Потому что нет в запросе поля "Товары". 3. Стаж на форуме 11 лет??? |
|||
15
Redkiy
30.05.18
✎
07:31
|
(0) >Я пока ещё не разбрался с программированием запросов.
Cтранный подход к задаче. Ты за руль авто тоже сядешь, не разобравшись с назначением педалей? И да, стаж смущает... |
|||
16
VBMADD
30.05.18
✎
07:49
|
Не ругайтесь, братки.
Просто я все делал на 1с77, а теперь надо срочно в 1с8.3 розница 2.2 вывести табличные части чеков на экран Я разберусь потом. Попробовал вот так: но не получается подмогните пож-ста, очень надо. Запрос.Текст = "ВЫБРАТЬ | ЧекККМТовары.Ссылка.Дата, | ЧекККМТовары.Ссылка.Номер, | ЧекККМТовары.Номенклатура, | ЧекККМТовары.Количество, | ЧекККМТовары.Цена |ИЗ | Документ.ЧекККМ.Товары КАК ЧекККМТовары"; РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Сообщить("Выбираем товары!"); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Сообщить("Номенклатура = " + ЧекККМТовары.Номенклатура); Сообщить("Цена = " + ЧекККМТовары.Цена + " руб."); КонецЦикла; |
|||
17
Redkiy
30.05.18
✎
07:55
|
Нет ограничения по выборке.
Сделай хотя бы "ВЫБРАТЬ ПЕРВЫЕ 100... чтоб не грузить систему В цикле ты у тебя один объект - ВыборкаДетальныеЗаписи. ЧекККМТовары - что это по твоему? |
|||
18
catena
30.05.18
✎
08:02
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | Товары.Ссылка.Ответственный, | Товары.Ссылка КАК Документ, | Товары.Номенклатура, | СУММА(Товары.Сумма) КАК Сумма |ИЗ | Документ.ЧекККМ.Товары КАК Товары |ГДЕ | Товары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон | |СГРУППИРОВАТЬ ПО | Товары.Ссылка, | Товары.Ссылка.Ответственный, | Товары.Номенклатура |ИТОГИ ПО | Документ"; Запрос.УстановитьПараметр("ДатаНач", ТекущаяДата()); Запрос.УстановитьПараметр("ДатаКон", ТекущаяДата()); ПоДокумент = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ПоДокумент.Следующий() Цикл Сообщить(ПоДокумент.Документ); ПоТовар = ПоДокумент.Выбрать(); Пока ПоТовар.Следующий() Цикл Сообщить(ПоТовар.Номенклатура); КонецЦикла; КонецЦикла; |
|||
19
Redkiy
30.05.18
✎
08:11
|
(18) пустой результат будет
исправить Запрос.УстановитьПараметр("ДатаНач", НачалоДня(ТекущаяДата())) |
|||
20
VBMADD
30.05.18
✎
08:22
|
(18)+(19) Вау!!!, Ура
Огромный респект и массу наилучших пожеланий!!! |
|||
21
Redkiy
30.05.18
✎
08:24
|
(20) Учи предмет! Разбери этот код построчно.
|
|||
22
catena
30.05.18
✎
08:48
|
(19)Ну тут даже семерочник должен был уже сам догадаться.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |