Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 июн 2024, 04:52

Неправильная обработка запроса в 1с 8.2

Автор Baltazarar, 06 мар 2012, 15:31

0 Пользователей и 2 гостей просматривают эту тему.

Baltazarar

да именно так,
дату отдельно я не указываю, но я так понимаю что по умолчанию она проставляется как дата на момент создания локумента

Baltazarar

кстате про условие или в тексте запроса 
С-ка вот так ругается

{Документ.Документ.Форма.ФормаДокумента(34)}: Ошибка при вызове метода контекста (Выполнить)
   Результат = Запрос.Выполнить();
по причине:
{(10, 72)}: Операция не разрешена в предложении "ГДЕ"
((СУММА(РегистрЗаказовОстаткиИОбороты.ЗаказаноКонечныйОстаток) <> 0)<<?>>ИЛИ(СУММА(РегистрЗаказовОстаткиИОбороты.НаСкладеКонечныйОстаток) <> 0))

СветланаCC

Отдельные скобки не надо по-моему
(СУММА(РегистрЗаказовОстаткиИОбороты.ЗаказаноКонечныйОстаток) <> 0 ИЛИ СУММА(РегистрЗаказовОстаткиИОбороты.НаСкладеКонечныйОстаток) <> 0)
Тазовод)

СветланаCC

Я думаю запрос должен быть таким -

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РегистрЗаказовОстатки.Номенклатура,
| СУММА(РегистрЗаказовОстатки.ЗаказаноОстаток) КАК ЗаказаноОстаток,
| СУММА(РегистрЗаказовОстатки.НаСкладеОстаток) КАК НаСкладеОстаток
|ИЗ
| РегистрНакопления.РегистрЗаказов.Остатки КАК РегистрЗаказовОстатки
|ГДЕ
| РегистрЗаказовОстатки.Номенклатура = &Номенклатура,
| и РегистрЗаказовОстатки.Дата = &Дата,
| и РегистрЗаказовОстатки.Магазин = &Магазин,
| и (СУММА(РегистрЗаказовОстаткиИОбороты.ЗаказаноКонечныйОстаток) <> 0 ИЛИ СУММА(РегистрЗаказовОстаткиИОбороты.НаСкладеКонечныйОстаток) <> 0)
|СГРУППИРОВАТЬ ПО
| РегистрЗаказовОстатки.Магазин,
| РегистрЗаказовОстатки.Покупатель,
| РегистрЗаказовОстатки.Номенклатура,
| РегистрЗаказовОстатки.Дата";

Запрос.УстановитьПараметр("Номенклатура", ТекСтрокаТовар.Номенклатура);
Запрос.УстановитьПараметр("Дата", ТекстрокаТовар.ДатаЗаказа);
Запрос.УстановитьПараметр("Магазин", ТекСтрокаТовар.Магазин);

Результат = Запрос.Выполнить();
Тазовод)

СветланаCC

СГРУППИРОВАТЬ ПО
| РегистрЗаказовОстатки.Номенклатура";
Тазовод)

СветланаCC

У Вас же был - РегистрЗаказовОстатки, а условие уже РегистрЗаказовОстаткиИОбороты???
Тазовод)

Baltazarar

  я же писал что  просто Заказы не работают, а ваше условие я переписал под РегистрЗаказовОстаткиИОбороты, но всё равно не работает, пишет что ИЛИ не допустимо, но это не важно , лишнее условие мне не сложно написать.

Baltazarar


СветланаCC

Ну для начала попробуйте тогда без условий....
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РегистрЗаказовОстатки.Номенклатура,
| СУММА(РегистрЗаказовОстатки.ЗаказаноОстаток) КАК ЗаказаноОстаток,
| СУММА(РегистрЗаказовОстатки.НаСкладеОстаток) КАК НаСкладеОстаток
|ИЗ
| РегистрНакопления.РегистрЗаказов.Остатки КАК РегистрЗаказовОстатки
|ГДЕ
| РегистрЗаказовОстатки.Номенклатура = &Номенклатура,
| и РегистрЗаказовОстатки.Дата = &Дата,
| и РегистрЗаказовОстатки.Магазин = &Магазин
|СГРУППИРОВАТЬ ПО
| РегистрЗаказовОстатки.Номенклатура";

Запрос.УстановитьПараметр("Номенклатура", ТекСтрокаТовар.Номенклатура);
Запрос.УстановитьПараметр("Дата", ТекстрокаТовар.ДатаЗаказа);
Запрос.УстановитьПараметр("Магазин", ТекСтрокаТовар.Магазин);

Результат = Запрос.Выполнить();
Тазовод)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск