Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Помогите с запросом на 8-ке (http://forums.kuban.ru/f1040/pomogite_s_zaprosom_na_8-ke-3684685.html)

Путевый лист 11.02.2013 11:10

Помогите с запросом на 8-ке
 
Есть такой запрос:
Товара на складе полно.
Но если товар без характеристик, то отрабатывает нормально, а если с характеристиками - то дает ошибку недостающего количества. Хотя этот товар на складе есть и его хватает

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВЫРАЗИТЬ(ТаблицаТовары.Номенклатура КАК Справочник.Номенклатура) КАК Номенклатура,
| ВЫРАЗИТЬ(ТаблицаТовары.Характеристика КАК Справочник.ХарактеристикиНоменклатуры) КАК Характеристика,
| ВЫРАЗИТЬ(ТаблицаТовары.Количество КАК ЧИСЛО(15, 3)) КАК Количество,
| ВЫРАЗИТЬ(ТаблицаТовары.Склад КАК Справочник.Склады) КАК Склад
|ПОМЕСТИТЬ ДокТовары
|ИЗ
| &ТаблицаТовары КАК ТаблицаТовары
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВЫРАЗИТЬ(ТаблицаПодарки.СкидкаНаценка КАК Справочник.СкидкиНаценки) КАК СкидкаНаценка,
| ВЫРАЗИТЬ(ТаблицаПодарки.Номенклатура КАК Справочник.Номенклатура) КАК Номенклатура,
| ВЫРАЗИТЬ(ТаблицаПодарки.Характеристика КАК Справочник.ХарактеристикиНоменклатуры) КАК Характеристика,
| ВЫРАЗИТЬ(ТаблицаПодарки.Количество КАК ЧИСЛО(15, 3)) КАК Количество,
| ВЫРАЗИТЬ(ТаблицаПодарки.Склад КАК Справочник.Склады) КАК Склад
|ПОМЕСТИТЬ ДокПодарки
|ИЗ
| &ТаблицаПодарки КАК ТаблицаПодарки
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДокТовары.Номенклатура,
| ДокТовары.Характеристика,
| ДокТовары.Количество КАК Количество,
| ДокТовары.Склад
|ПОМЕСТИТЬ ДокТоварыПодарки
|ИЗ
| ДокТовары КАК ДокТовары
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДокПодарки.Номенклатура,
| ДокПодарки.Характеристика,
| ДокПодарки.Количество,
| ДокПодарки.Склад
|ИЗ
| ДокПодарки КАК ДокПодарки
|ГДЕ
| (НЕ ДокПодарки.СкидкаНаценка.ПодарокИзСписка)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДокТоварыПодарки.Номенклатура,
| ДокТоварыПодарки.Характеристика,
| СУММА(ДокТоварыПодарки.Количество) КАК Количество,
| ДокТоварыПодарки.Склад
|ПОМЕСТИТЬ ДокТоварыБезЛишнего
|ИЗ
| ДокТоварыПодарки КАК ДокТоварыПодарки
|ГДЕ
| (ДокТоварыПодарки.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга))
| И (НЕ ДокТоварыПодарки.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка))
| И (НЕ ДокТоварыПодарки.Номенклатура.ИспользоватьСерийныеНомера)
|
|СГРУППИРОВАТЬ ПО
| ДокТоварыПодарки.Номенклатура,
| ДокТоварыПодарки.Характеристика,
| ДокТоварыПодарки.Склад
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ТоварыНаСкладахОстатки.Склад КАК Склад,
| ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
| ТоварыНаСкладахОстатки.Характеристика КАК Характеристика,
| ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
|ПОМЕСТИТЬ ТаблицаОстатки
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(
| ,
| (Номенклатура, Характеристика, Склад) В
| (ВЫБРАТЬ
| ДокТоварыБезЛишнего.Номенклатура,
| ДокТоварыБезЛишнего.Характеристика,
| ДокТоварыБезЛишнего.Склад
| ИЗ
| ДокТоварыБезЛишнего КАК ДокТоварыБезЛишнего)) КАК ТоварыНаСкладахОстатки
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДокТоварыБезЛишнего.Номенклатура,
| ДокТоварыБезЛишнего.Характеристика,
| ДокТоварыБезЛишнего.Количество,
| ДокТоварыБезЛишнего.Склад,
| ЕСТЬNULL(ТаблицаОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
| ДокТоварыБезЛишнего.Количество - ЕСТЬNULL(ТаблицаОстатки.КоличествоОстаток, 0) КАК НедостающееКоличество,
| ДокТоварыБезЛишнего.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения
|ИЗ
| ДокТоварыБезЛишнего КАК ДокТоварыБезЛишнего
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаОстатки КАК ТаблицаОстатки
| ПО ДокТоварыБезЛишнего.Номенклатура = ТаблицаОстатки.Номенклатура
| И ДокТоварыБезЛишнего.Характеристика = ТаблицаОстатки.Характеристика
| И ДокТоварыБезЛишнего.Склад = ТаблицаОстатки.Склад
|ГДЕ
| ДокТоварыБезЛишнего.Количество > ЕСТЬNULL(ТаблицаОстатки.КоличествоОстаток, 0)";

Путевый лист 11.02.2013 11:11

На подарки не обращайте внимание - нет их у нас

angro 11.02.2013 12:13

с виду похоже на правду.
надо убедиться что в "ТаблицаОстатки" реальные остатки

выведи её и посмотри что там

Путевый лист 11.02.2013 12:16

(2) angro Спасибо. Запрос конечно правильный а вот в исходной таблице нет характеристик, то есть типа мы их скрыли, но вот к тому же и не поместили их в нее

Вопрос снят с повестки дня!!!


Текущее время: 01:53. Часовой пояс GMT +3.