27 сентября 2024 в 00:26:54
(8 недель 1 день 7 часов назад)
4000
V8.x Управление торговлей
21.05.2015 00:48:28
до 22.05.2015
Текст задания
В УТ 10.3 при закрытии кассовой смены, создается отчет о розничных продажах, там есть запрос, который сворачивает чеки ККМ, допустим была продажа 3 шт, вернули 1 шт, в итоге в ОРП попадает этот товар в количестве 2 шт.
В чек ККМ был добавлен реквизит СЮ_возврат (тип булево). Нужно модифицировать запрос таким образом, чтобы если в чеке ККМ на возврат доп реквизит СЮ_возврат равен истина, свертки не было, и в ОРП попадал товар в количестве 3 шт.
ВЫБРАТЬ
СУММА(ВЫБОР
КОГДА ДокументЧекККМ.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Продажа)
ТОГДА 1
ИНАЧЕ -1
КОНЕЦ) КАК КоличествоСерийныхНоменров,
ДокументЧекККМ.Склад КАК Склад,
ЧекККМТовары.Номенклатура КАК Номенклатура,
ЧекККМСерийныеНомера.СерийныйНомер КАК СерийныйНомер,
ЧекККМТовары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
ЧекККМТовары.СерияНоменклатуры КАК СерияНоменклатуры,
ЧекККМТовары.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
ЧекККМТовары.Коэффициент КАК Коэффициент,
ЧекККМТовары.Цена КАК Цена,
ЧекККМТовары.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
ЧекККМТовары.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
ЧекККМТовары.УсловиеАвтоматическойСкидки КАК УсловиеАвтоматическойСкидки,
ЧекККМТовары.ЗначениеУсловияАвтоматическойСкидки КАК ЗначениеУсловияАвтоматическойСкидки,
ДокументЧекККМ.СЮ_возврат
ИЗ
Документ.ЧекККМ КАК ДокументЧекККМ
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЧекККМ.Товары КАК ЧекККМТовары
ПО (ЧекККМТовары.Ссылка = ДокументЧекККМ.Ссылка)
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура
ПО (СправочникНоменклатура.Ссылка = ЧекККМТовары.Номенклатура)
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЧекККМ.СерийныеНомера КАК ЧекККМСерийныеНомера
ПО (ЧекККМСерийныеНомера.Ссылка = ДокументЧекККМ.Ссылка)
И (ЧекККМСерийныеНомера.КлючСвязи = ЧекККМТовары.КлючСвязи)
ГДЕ
ДокументЧекККМ.Дата МЕЖДУ &НачДата И &КонДата
И ДокументЧекККМ.Проведен
И ДокументЧекККМ.КассаККМ = &КассаККМ
И (НЕ СправочникНоменклатура.Комплект)
ИМЕЮЩИЕ
СУММА(ВЫБОР
КОГДА ДокументЧекККМ.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Продажа)
ТОГДА 1
ИНАЧЕ -1
КОНЕЦ) > 0
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ЗНАЧЕНИЕ(Документ.ЧекККМ.ПустаяСсылка) КАК Документ,
ТоварыБезКомплектов.Комплект КАК Комплект,
ТоварыБезКомплектов.Склад КАК Склад,
ТоварыБезКомплектов.Номенклатура КАК Номенклатура,
ТоварыБезКомплектов.Количество КАК Количество,
ТоварыБезКомплектов.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
ТоварыБезКомплектов.СерияНоменклатуры КАК СерияНоменклатуры,
ТоварыБезКомплектов.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
ТоварыБезКомплектов.Коэффициент КАК Коэффициент,
ТоварыБезКомплектов.Цена КАК Цена,
ТоварыБезКомплектов.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
ТоварыБезКомплектов.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
ТоварыБезКомплектов.УсловиеАвтоматическойСкидки КАК УсловиеАвтоматическойСкидки,
ТоварыБезКомплектов.ЗначениеУсловияАвтоматическойСкидки КАК ЗначениеУсловияАвтоматическойСкидки,
ТоварыБезКомплектов.Сумма КАК Сумма,
ПУСТАЯТАБЛИЦА.( КАК КлючСтроки, КАК КлючСвязи, КАК Номенклатура, КАК ХарактеристикаНоменклатуры, КАК СерияНоменклатуры, КАК ЕдиницаИзмерения, КАК Количество, КАК Цена) КАК СоставНабора,
ПУСТАЯТАБЛИЦА.( КАК КлючСвязи, КАК СерийныйНомер) КАК СерийныеНомераСоставНабора,
0 КАК КлючСтроки
ИЗ
(ВЫБРАТЬ
Док.Номенклатура.Комплект КАК Комплект,
Док.Ссылка.Склад КАК Склад,
Док.Номенклатура КАК Номенклатура,
СУММА(ВЫБОР
КОГДА Док.Ссылка.ВидОперации = &ВидОперацииПродажа
ТОГДА Док.Количество
ИНАЧЕ -Док.Количество
КОНЕЦ) КАК Количество,
Док.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
Док.СерияНоменклатуры КАК СерияНоменклатуры,
Док.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
Док.Коэффициент КАК Коэффициент,
Док.Цена КАК Цена,
Док.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
Док.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
Док.УсловиеАвтоматическойСкидки КАК УсловиеАвтоматическойСкидки,
Док.ЗначениеУсловияАвтоматическойСкидки КАК ЗначениеУсловияАвтоматическойСкидки,
СУММА(ВЫБОР
КОГДА Док.Ссылка.ВидОперации = &ВидОперацииПродажа
ТОГДА Док.Сумма
ИНАЧЕ -Док.Сумма
КОНЕЦ) КАК Сумма
ИЗ
Документ.ЧекККМ.Товары КАК Док
ГДЕ
Док.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
И Док.Ссылка.КассаККМ = &КассаККМ
И Док.Ссылка.Проведен
И (НЕ Док.Номенклатура.Комплект)
ИМЕЮЩИЕ
СУММА(ВЫБОР
КОГДА Док.Ссылка.ВидОперации = &ВидОперацииПродажа
ТОГДА Док.Количество
ИНАЧЕ -Док.Количество
КОНЕЦ) <> 0) КАК ТоварыБезКомплектов
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
Док.Ссылка,
Док.Номенклатура.Комплект,
Док.Ссылка.Склад,
Док.Номенклатура,
ВЫБОР
КОГДА Док.Ссылка.ВидОперации = &ВидОперацииПродажа
ТОГДА Док.Количество
ИНАЧЕ -Док.Количество
КОНЕЦ,
Док.ХарактеристикаНоменклатуры,
Док.СерияНоменклатуры,
Док.ЕдиницаИзмерения,
Док.Коэффициент,
Док.Цена,
Док.ПроцентСкидкиНаценки,
Док.ПроцентАвтоматическихСкидок,
Док.УсловиеАвтоматическойСкидки,
Док.ЗначениеУсловияАвтоматическойСкидки,
ВЫБОР
КОГДА Док.Ссылка.ВидОперации = &ВидОперацииПродажа
ТОГДА Док.Сумма
ИНАЧЕ -Док.Сумма
КОНЕЦ,
Док.Ссылка.СоставНабора.(
КлючСтроки,
КлючСвязи,
Номенклатура,
ХарактеристикаНоменклатуры,
СерияНоменклатуры,
ЕдиницаИзмерения,
Количество,
Цена
),
Док.Ссылка.СерийныеНомераСоставНабора.(
КлючСвязи,
СерийныйНомер
),
Док.КлючСтроки
ИЗ
Документ.ЧекККМ.Товары КАК Док
ГДЕ
Док.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
И Док.Ссылка.КассаККМ = &КассаККМ
И Док.Ссылка.Проведен
И Док.Номенклатура.Комплект
Здравствуйте!
Мы с Вами общались по-этому вопросу, я Вам предлагал модифицировать отчет о розничных продажах, а для анализа "скрытых возвратов" разработать специализированный отчет. Не люблю не качественных решений по-этому могу выполнить красиво. Участвовал не одну сотню раз в таких модификациях, как скрытые возвраты так и скрытые скидки. Цена вопроса 5000 рублей, решение под ключ. Если будет интересно напишите мне, накидаю как за этот ценник будет решение выглядеть. В свою очередь идея бесплатна.
В любом случае удачного проекта. Если выберите другого исполнителя дайте ему ссылку на форум, пусть посмотрит что я предлагал, может сделает дешевле.
Если Вы ввели дополнительный разрез чеков-возвратов, то по этому разрезу и доработайте группировки в запросе.
В чем тут проблема?
Попробуйте так:
ВЫБРАТЬ
СУММА(ВЫБОР
КОГДА ДокументЧекККМ.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Продажа)
ТОГДА 1
ИНАЧЕ -1
КОНЕЦ) КАК КоличествоСерийныхНоменров,
ДокументЧекККМ.Склад КАК Склад,
ЧекККМТовары.Номенклатура КАК Номенклатура,
ЧекККМСерийныеНомера.СерийныйНомер КАК СерийныйНомер,
ЧекККМТовары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
ЧекККМТовары.СерияНоменклатуры КАК СерияНоменклатуры,
ЧекККМТовары.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
ЧекККМТовары.Коэффициент КАК Коэффициент,
ЧекККМТовары.Цена КАК Цена,
ЧекККМТовары.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
ЧекККМТовары.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
ЧекККМТовары.УсловиеАвтоматическойСкидки КАК УсловиеАвтоматическойСкидки,
ЧекККМТовары.ЗначениеУсловияАвтоматическойСкидки КАК ЗначениеУсловияАвтоматическойСкидки,
ВЫБОР
КОГДА НЕ ДокументЧекККМ.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Продажа)
ТОГДА ДокументЧекККМ.СЮ_Возврат
ИНАЧЕ ЛОЖЬ
КОНЕЦ КАК Возврат
ИЗ
Документ.ЧекККМ КАК ДокументЧекККМ
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЧекККМ.Товары КАК ЧекККМТовары
ПО (ЧекККМТовары.Ссылка = ДокументЧекККМ.Ссылка)
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура
ПО (СправочникНоменклатура.Ссылка = ЧекККМТовары.Номенклатура)
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЧекККМ.СерийныеНомера КАК ЧекККМСерийныеНомера
ПО (ЧекККМСерийныеНомера.Ссылка = ДокументЧекККМ.Ссылка)
И (ЧекККМСерийныеНомера.КлючСвязи = ЧекККМТовары.КлючСвязи)
ГДЕ
ДокументЧекККМ.Дата МЕЖДУ &НачДата И &КонДата
И ДокументЧекККМ.Проведен
И ДокументЧекККМ.КассаККМ = &КассаККМ
И НЕ СправочникНоменклатура.Комплект
СГРУППИРОВАТЬ ПО
ДокументЧекККМ.Склад,
ЧекККМТовары.Номенклатура,
ЧекККМСерийныеНомера.СерийныйНомер,
ЧекККМТовары.ХарактеристикаНоменклатуры,
ЧекККМТовары.СерияНоменклатуры,
ЧекККМТовары.ЕдиницаИзмерения,
ЧекККМТовары.Коэффициент,
ЧекККМТовары.Цена,
ЧекККМТовары.ПроцентСкидкиНаценки,
ЧекККМТовары.ПроцентАвтоматическихСкидок,
ЧекККМТовары.УсловиеАвтоматическойСкидки,
ЧекККМТовары.ЗначениеУсловияАвтоматическойСкидки,
ВЫБОР
КОГДА НЕ ДокументЧекККМ.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Продажа)
ТОГДА ДокументЧекККМ.СЮ_Возврат
ИНАЧЕ ЛОЖЬ
КОНЕЦ
ИМЕЮЩИЕ
СУММА(ВЫБОР
КОГДА ДокументЧекККМ.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Продажа)
ТОГДА 1
ИНАЧЕ -1
КОНЕЦ) > 0
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ЗНАЧЕНИЕ(Документ.ЧекККМ.ПустаяСсылка) КАК Документ,
ТоварыБезКомплектов.Комплект КАК Комплект,
ТоварыБезКомплектов.Склад КАК Склад,
ТоварыБезКомплектов.Номенклатура КАК Номенклатура,
ТоварыБезКомплектов.Количество КАК Количество,
ТоварыБезКомплектов.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
ТоварыБезКомплектов.СерияНоменклатуры КАК СерияНоменклатуры,
ТоварыБезКомплектов.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
ТоварыБезКомплектов.Коэффициент КАК Коэффициент,
ТоварыБезКомплектов.Цена КАК Цена,
ТоварыБезКомплектов.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
ТоварыБезКомплектов.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
ТоварыБезКомплектов.УсловиеАвтоматическойСкидки КАК УсловиеАвтоматическойСкидки,
ТоварыБезКомплектов.ЗначениеУсловияАвтоматическойСкидки КАК ЗначениеУсловияАвтоматическойСкидки,
ТоварыБезКомплектов.Сумма КАК Сумма,
ПУСТАЯТАБЛИЦА.( КАК КлючСтроки, КАК КлючСвязи, КАК Номенклатура, КАК ХарактеристикаНоменклатуры, КАК СерияНоменклатуры, КАК ЕдиницаИзмерения, КАК Количество, КАК Цена) КАК СоставНабора,
ПУСТАЯТАБЛИЦА.( КАК КлючСвязи, КАК СерийныйНомер) КАК СерийныеНомераСоставНабора,
0 КАК КлючСтроки
ИЗ
(ВЫБРАТЬ
Док.Номенклатура.Комплект КАК Комплект,
Док.Ссылка.Склад КАК Склад,
Док.Номенклатура КАК Номенклатура,
СУММА(ВЫБОР
КОГДА Док.Ссылка.ВидОперации = &ВидОперацииПродажа
ТОГДА Док.Количество
ИНАЧЕ -Док.Количество
КОНЕЦ) КАК Количество,
Док.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
Док.СерияНоменклатуры КАК СерияНоменклатуры,
Док.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
Док.Коэффициент КАК Коэффициент,
Док.Цена КАК Цена,
Док.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
Док.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
Док.УсловиеАвтоматическойСкидки КАК УсловиеАвтоматическойСкидки,
Док.ЗначениеУсловияАвтоматическойСкидки КАК ЗначениеУсловияАвтоматическойСкидки,
ВЫБОР
КОГДА НЕ Док.Ссылка.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Продажа)
ТОГДА Док.Ссылка.СЮ_Возврат
ИНАЧЕ ЛОЖЬ
КОНЕЦ КАК Возврат,
СУММА(ВЫБОР
КОГДА Док.Ссылка.ВидОперации = &ВидОперацииПродажа
ТОГДА Док.Сумма
ИНАЧЕ -Док.Сумма
КОНЕЦ) КАК Сумма
ИЗ
Документ.ЧекККМ.Товары КАК Док
ГДЕ
Док.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
И Док.Ссылка.КассаККМ = &КассаККМ
И Док.Ссылка.Проведен
И НЕ Док.Номенклатура.Комплект
СГРУППИРОВАТЬ ПО
Док.Ссылка.Склад,
Док.Номенклатура,
Док.ХарактеристикаНоменклатуры,
Док.СерияНоменклатуры,
Док.ЕдиницаИзмерения,
Док.Коэффициент,
Док.Цена,
Док.ПроцентСкидкиНаценки,
Док.ПроцентАвтоматическихСкидок,
Док.УсловиеАвтоматическойСкидки,
Док.ЗначениеУсловияАвтоматическойСкидки,
Док.Номенклатура.Комплект,
ВЫБОР
КОГДА НЕ Док.Ссылка.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Продажа)
ТОГДА Док.Ссылка.СЮ_Возврат
ИНАЧЕ ЛОЖЬ
КОНЕЦ
ИМЕЮЩИЕ
СУММА(ВЫБОР
КОГДА Док.Ссылка.ВидОперации = &ВидОперацииПродажа
ТОГДА Док.Количество
ИНАЧЕ -Док.Количество
КОНЕЦ) <> 0) КАК ТоварыБезКомплектов
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
Док.Ссылка,
Док.Номенклатура.Комплект,
Док.Ссылка.Склад,
Док.Номенклатура,
ВЫБОР
КОГДА Док.Ссылка.ВидОперации = &ВидОперацииПродажа
ТОГДА Док.Количество
ИНАЧЕ -Док.Количество
КОНЕЦ,
Док.ХарактеристикаНоменклатуры,
Док.СерияНоменклатуры,
Док.ЕдиницаИзмерения,
Док.Коэффициент,
Док.Цена,
Док.ПроцентСкидкиНаценки,
Док.ПроцентАвтоматическихСкидок,
Док.УсловиеАвтоматическойСкидки,
Док.ЗначениеУсловияАвтоматическойСкидки,
ВЫБОР
КОГДА Док.Ссылка.ВидОперации = &ВидОперацииПродажа
ТОГДА Док.Сумма
ИНАЧЕ -Док.Сумма
КОНЕЦ,
Док.Ссылка.СоставНабора.(
КлючСтроки,
КлючСвязи,
Номенклатура,
ХарактеристикаНоменклатуры,
СерияНоменклатуры,
ЕдиницаИзмерения,
Количество,
Цена
),
Док.Ссылка.СерийныеНомераСоставНабора.(
КлючСвязи,
СерийныйНомер
),
Док.КлючСтроки
ИЗ
Документ.ЧекККМ.Товары КАК Док
ГДЕ
Док.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
И Док.Ссылка.КассаККМ = &КассаККМ
И Док.Ссылка.Проведен
И Док.Номенклатура.Комплект