Есть документ ЧекККМ , когда попадаем в список , прикрепила файлик скрин списка , нужно в список вставить сумму скидки из таблицы этого же документа.
Динамический запрос.
ВЫБРАТЬ
ДокументЧекККМ.Ссылка,
ДокументЧекККМ.ПометкаУдаления,
ДокументЧекККМ.Номер,
ДокументЧекККМ.Дата,
ДокументЧекККМ.Проведен,
ДокументЧекККМ.Кассир,
ДокументЧекККМ.Статус,
ДокументЧекККМ.Архивный,
ДокументЧекККМ.ВидЦены,
ДокументЧекККМ.Организация,
ДокументЧекККМ.КассаККМ,
ДокументЧекККМ.СуммаДокумента,
ДокументЧекККМ.Склад,
ДокументЧекККМ.Партнер,
ДокументЧекККМ.КассоваяСмена,
// ДокументЧекККМ.Товары.СуммаРучнойСкидки Как Скидка, <--- тут как то нужно получить сумму скидки
ДокументЧекККМ.МоментВремени
ИЗ
Документ.ЧекККМ КАК ДокументЧекККМ
может, как вариант можно а) перестроить запрос к таблице
"ИЗ
Документ.ЧекККМ.Товары КАК ДокументЧекККМТовары"
б) Соединением с таблицей по документу где соберем общие скидки по документам
ВЫБРАТЬ
ДокументЧекККМ.Ссылка,
ДокументЧекККМ.ПометкаУдаления,
ДокументЧекККМ.Номер,
ДокументЧекККМ.Дата,
ДокументЧекККМ.Проведен,
ДокументЧекККМ.Кассир,
ДокументЧекККМ.Статус,
ДокументЧекККМ.Архивный,
ДокументЧекККМ.ВидЦены,
ДокументЧекККМ.Организация,
ДокументЧекККМ.КассаККМ,
ДокументЧекККМ.СуммаДокумента,
ДокументЧекККМ.Склад,
ДокументЧекККМ.Партнер,
ДокументЧекККМ.КассоваяСмена,
ДокументЧекККМ.Товары,
СУММА(ЧекККМТовары.СуммаРучнойСкидки) КАК СуммаРучнойСкидки,
ДокументЧекККМ.МоментВремени
ИЗ
Документ.ЧекККМ.Товары КАК ЧекККМТовары
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекККМ КАК ДокументЧекККМ
ПО ЧекККМТовары.Ссылка = ДокументЧекККМ.Ссылка
СГРУППИРОВАТЬ ПО
ДокументЧекККМ.Номер,
ДокументЧекККМ.Дата
Показать
Ругается:
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(18, 8)}: Неверные параметры "СУММА"
СУММА(<<?>>ЧекККМТовары.СуммаРучнойСкидки) КАК СуммаРучнойСкидки,
(3) есть такая обработка - "Консоль запросов для управляемого приложения.epf", так вот попробуйте сначала свой запрос в ней написать, а если с синтаксисом проблема, используйте конструктор.
тогда может получится что-то вроде этого
ВЫБРАТЬ
ЧекККМ.Ссылка КАК Ссылка,
ЧекККМ.КассаККМ КАК КассаККМ,
ЧекККМ.Магазин КАК Магазин,
ЧекККМ.Организация КАК Организация,
ЧекККМ.Продавец КАК Продавец,
ЧекККМ.Контрагент КАК Контрагент,
ВложенныйЗапрос.СуммаРучнойСкидки КАК СуммаРучнойСкидки
ИЗ
Документ.ЧекККМ КАК ЧекККМ
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ЧекККМТовары.Ссылка КАК Ссылка,
СУММА(ЧекККМТовары.СуммаРучнойСкидки) КАК СуммаРучнойСкидки
ИЗ
Документ.ЧекККМ.Товары КАК ЧекККМТовары
СГРУППИРОВАТЬ ПО
ЧекККМТовары.Ссылка) КАК ВложенныйЗапрос
ПО (ЧекККМ.Ссылка = ВложенныйЗапрос.Ссылка)
(4)
ДА! так нормально , правда поле заменила на другое
ВЫБРАТЬ
ДокументЧекККМ.Ссылка,
ДокументЧекККМ.ПометкаУдаления,
ДокументЧекККМ.Номер,
ДокументЧекККМ.Дата,
ДокументЧекККМ.Проведен,
ДокументЧекККМ.Кассир,
ДокументЧекККМ.Статус,
ДокументЧекККМ.Архивный,
ДокументЧекККМ.ВидЦены,
ДокументЧекККМ.Организация,
ДокументЧекККМ.КассаККМ,
ДокументЧекККМ.СуммаДокумента,
ДокументЧекККМ.Склад,
ДокументЧекККМ.Партнер,
ДокументЧекККМ.КассоваяСмена,
ДокументЧекККМ.МоментВремени,
ВложенныйЗапрос.ПроцентРучнойСкидки КАК ПроцентРучнойСкидки
ИЗ
Документ.ЧекККМ КАК ДокументЧекККМ
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ЧекККМТовары.Ссылка КАК Ссылка,
СУММА(ЧекККМТовары.ПроцентРучнойСкидки) КАК ПроцентРучнойСкидки
ИЗ
Документ.ЧекККМ.Товары КАК ЧекККМТовары
СГРУППИРОВАТЬ ПО
ЧекККМТовары.Ссылка) КАК ВложенныйЗапрос
ПО (ДокументЧекККМ.Ссылка = ВложенныйЗапрос.Ссылка)
&НаСервереБезКонтекста
Процедура СписокПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
Запрос = Новый Запрос(
"ВЫБРАТЬ
| ЧекККМТовары.Ссылка КАК Ссылка,
| СУММА(ЧекККМТовары.СуммаРучнойСкидки) КАК СуммаРучнойСкидки
|ИЗ
| Документ.ЧекККМ.Товары КАК ЧекККМТовары
|ГДЕ
| ЧекККМТовары.Ссылка В(&МассивСсылок)
|
|СГРУППИРОВАТЬ ПО
| ЧекККМТовары.Ссылка");
Запрос.УстановитьПараметр("МассивСсылок", Строки.ПолучитьКлючи());
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Строка = Строки.Получить(Выборка.Ссылка);
Строка.Данные.СуммаРучнойСкидки = Выборка.СуммаРучнойСкидки;
КонецЦикла;
КонецПроцедуры
Показать
Если запрос ругается на функцию сумма, то надо изменить текст
| СУММА(ЧекККМТовары.СуммаРучнойСкидки) КАК СуммаРучнойСкидки
на
| СУММА(Выразить(ЧекККМТовары.СуммаРучнойСкидки КАК Число(15,2)) КАК СуммаРучнойСкидки
Зачем подзапрос? Временная таблица и левое соединение решают.
ВЫБРАТЬ
ЧекККМТовары.Ссылка КАК Ссылка,
СУММА(ЧекККМТовары.СуммаРучнойСкидки) КАК СуммаРучнойСкидки
ПОМЕСТИТЬ ВТ_СуммаСкидки
ИЗ
Документ.ЧекККМ.Товары КАК ЧекККМТовары
СГРУППИРОВАТЬ ПО
ЧекККМТовары.Ссылка
ИНДЕКСИРОВАТЬ ПО
ЧекККМТовары.Ссылка
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ДокументЧекККМ.Ссылка,
ДокументЧекККМ.ПометкаУдаления,
ДокументЧекККМ.Номер,
ДокументЧекККМ.Дата,
ДокументЧекККМ.Проведен,
ДокументЧекККМ.Кассир,
ДокументЧекККМ.Статус,
ДокументЧекККМ.Архивный,
ДокументЧекККМ.ВидЦены,
ДокументЧекККМ.Организация,
ДокументЧекККМ.КассаККМ,
ДокументЧекККМ.СуммаДокумента,
ДокументЧекККМ.Склад,
ДокументЧекККМ.Партнер,
ДокументЧекККМ.КассоваяСмена,
ДокументЧекККМ.МоментВремени,
ВТ_СуммаСкидки.СуммаРучнойСкидки
ИЗ
Документ.ЧекККМ КАК ДокументЧекККМ
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СуммаСкидки КАК ВТ_СуммаСкидки
ПО ВТ_СуммаСкидки.Ссылка = ДокументЧекККМ.Ссылка
ВЫБРАТЬ
ЧекККМТовары.Ссылка.Номер КАК Номер,
ЧекККМТовары.Ссылка.Дата КАК Дата,
ЧекККМТовары.Номенклатура КАК Номенклатура,
ЧекККМТовары.Штрихкод КАК Штрихкод,
ЧекККМТовары.Количество КАК Количество,
ЧекККМТовары.Цена КАК Цена,
ЧекККМТовары.Сумма КАК Сумма,
ЧекККМТовары.СуммаНДС КАК СуммаНДС,
ЧекККМТовары.ПроцентАвтоматическойСкидки КАК ПроцентАвтоматическойСкидки,
ЧекККМТовары.СуммаАвтоматическойСкидки КАК СуммаАвтоматическойСкидки,
ЧекККМТовары.ПроцентРучнойСкидки КАК ПроцентРучнойСкидки,
ЧекККМТовары.СуммаРучнойСкидки КАК СуммаРучнойСкидки,
ЧекККМТовары.Продавец КАК Продавец,
ЧекККМТовары.Ссылка.Проведен КАК Проведен,
ЧекККМТовары.Ссылка.Партнер КАК Партнер,
ЧекККМТовары.Ссылка.ИспользоватьОплатуБонуснымиБаллами КАК ИспользоватьОплатуБонуснымиБаллами,
ЧекККМТовары.СуммаБонусныхБалловКСписанию КАК СуммаБонусныхБалловКСписанию,
ЧекККМТовары.Ссылка.ФормаОплаты КАК ФормаОплаты,
ЧекККМТовары.Ссылка.Кассир КАК Кассир,
ЧекККМТовары.Ссылка.Склад КАК Склад,
ЧекККМТовары.Ссылка.СтатусКлиента КАК СтатусКлиента,
ЧекККМТовары.Номенклатура.ВидНоменклатуры КАК НоменклатураВидНоменклатуры,
ЧекККМ.КартаЛояльности.Ссылка КАК КартаЛояльностиСсылка,
ЧекККМ.Партнер.Пол КАК ПартнерПол,
ЧекККМ.Партнер.ДатаРождения КАК ПартнерДатаРождения
ИЗ
Документ.ЧекККМ.Товары КАК ЧекККМТовары
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекККМ КАК ЧекККМ
ПО (ЧекККМТовары.Ссылка = ЧекККМ.Ссылка)
ГДЕ
ЧекККМТовары.Ссылка.Дата > &Начало (Можно выбрать конкретную дату)
И ЧекККМТовары.Ссылка.Дата < &Конец (Можно выбрать конкретную дату)