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

Запрос из регистра накопления

Автор Ученик_2014, 29 июл 2014, 10:48

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

Ученик_2014

Доброго времени суток, подскажите почему не отрабатывает следующий код :

Условия = "";
Условия = Условия + ?(Объект.Культура.Пустая() = Истина,"",?(Условия = "",""," И ") + "Культура = &Культура");
Условия = Условия + ?(Объект.Контрагент.Пустая() = Истина,"",?(Условия = "",""," И ") + "Контрагент = &Контрагент");
Условия = Условия + ?(Объект.Год = 0,"",?(Условия = "",""," И ") + "Год = &Год");
Условия = Условия + ?(Объект.Фонд.Пустая() = Истина,"",?(Условия = "",""," И ") + "Фонд = &Фонд");

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Культура",Объект.Культура);
Запрос.УстановитьПараметр("Контрагент",Объект.Контрагент);
Запрос.УстановитьПараметр("Год",Объект.Год);
Запрос.УстановитьПараметр("Фонд",Объект.Фонд);
Запрос.УстановитьПараметр("НачПериода",Объект.ДатаНач);
Запрос.УстановитьПараметр("КонПериода",Объект.Дата);

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


В обычном приложении все работает, на этих же данных в управляемом приложении такой код не проходит.

DmitriyF

Цитата: Ученик_2014 от 29 июл 2014, 10:48
Доброго времени суток, подскажите почему не отрабатывает следующий код :

Условия = "";
Условия = Условия + ?(Объект.Культура.Пустая() = Истина,"",?(Условия = "",""," И ") + "Культура = &Культура");
Условия = Условия + ?(Объект.Контрагент.Пустая() = Истина,"",?(Условия = "",""," И ") + "Контрагент = &Контрагент");
Условия = Условия + ?(Объект.Год = 0,"",?(Условия = "",""," И ") + "Год = &Год");
Условия = Условия + ?(Объект.Фонд.Пустая() = Истина,"",?(Условия = "",""," И ") + "Фонд = &Фонд");

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Культура",Объект.Культура);
Запрос.УстановитьПараметр("Контрагент",Объект.Контрагент);
Запрос.УстановитьПараметр("Год",Объект.Год);
Запрос.УстановитьПараметр("Фонд",Объект.Фонд);
Запрос.УстановитьПараметр("НачПериода",Объект.ДатаНач);
Запрос.УстановитьПараметр("КонПериода",Объект.Дата);

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


В обычном приложении все работает, на этих же данных в управляемом приложении такой код не проходит.
В каком контексте выполняется код в управляемом приложении?

freez1301

надо чтобы все это выполнялось &НаСервере

Ученик_2014

Выполняется на сервере.
Что-то не так с переменной "Условия", когда ее убираю из текста запроса - все отрабатывает.

Добавлено: 29 июл 2014, 13:05


Разобралась. Все работает, просто опечаталась  в  названии реквизита.

Теги:

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

Рейтинг@Mail.ru

Поиск