|
Ошибка в запросе. Помогите разобраться что не так. | ☑ | ||
---|---|---|---|---|
0
Ivanych
17.11.11
✎
09:39
|
Помогите разобраться новичку что не так. Спасибо. Вот такое сообщение выдает:
{Отчет.РасходМатериаловПоЗаказу.Форма.Отчет(134)}: Ошибка при вызове метода контекста (Выполнить): {(57, 16)}: Ожидается выражение "(" Материал в <<?>>&ВыбМатериал Результат = Запрос.Выполнить(); по причине: {(57, 16)}: Ожидается выражение "(" Материал в <<?>>&ВыбМатериал Модуль: Процедура ДействияФормыОтчетСформировать(Кнопка) ТабДокумент = ЭлементыФормы.ПолеТабличногоДокумента; ТабДокумент.Очистить(); ОтчетВывести(ТабДокумент); КонецПроцедуры Процедура ОтчетВывести(ТабДокумент) Экспорт Макет = ОтчетОбъект.ПолучитьМакет("Отчет"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВложенныйЗапрос.Материал КАК Материал, | СУММА(ВложенныйЗапрос.КоличествоЗатребованно) КАК КоличествоЗатребованно, | СУММА(ВложенныйЗапрос.КоличествоВыданно) КАК КоличествоВыданно, | СУММА(ВложенныйЗапрос.КоличествоСписание) КАК КоличествоСписание, | СУММА(ВложенныйЗапрос.СуммаСписание) КАК СуммаСписание, | СУММА(ВложенныйЗапрос.КоличествоЗаказ) КАК КоличествоЗаказ, | СУММА(ВложенныйЗапрос.СуммаЗаказ) КАК СуммаЗаказ |ИЗ | (ВЫБРАТЬ | АктСписанияМатериаловТЧ.Материал КАК Материал, | АктСписанияМатериаловТЧ.Количество КАК КоличествоСписание, | АктСписанияМатериаловТЧ.Сумма КАК СуммаСписание, | (0) КАК КоличествоЗатребованно, | (0) КАК КоличествоВыданно, | (0) КАК КоличествоЗаказ, | (0) КАК СуммаЗаказ | ИЗ | Документ.АктСписанияМатериалов.ТЧ КАК АктСписанияМатериаловТЧ | ГДЕ | АктСписанияМатериаловТЧ.Ссылка.Проведен | И АктСписанияМатериаловТЧ.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ТребованиеПеремещенияТабличнаяЧасть.Материал, | (0), | (0), | ТребованиеПеремещенияТабличнаяЧасть.Затребовано, | ТребованиеПеремещенияТабличнаяЧасть.Выдано, | (0), | (0) | ИЗ | Документ.ТребованиеПеремещения.ТабличнаяЧасть КАК ТребованиеПеремещенияТабличнаяЧасть | ГДЕ | ТребованиеПеремещенияТабличнаяЧасть.Ссылка.Проведен | И ТребованиеПеремещенияТабличнаяЧасть.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ЗаказНаИзготовлениеПродукцииМатериалы.Материал, | (0), | (0), | (0), | (0), | ЗаказНаИзготовлениеПродукцииМатериалы.Количество, | ЗаказНаИзготовлениеПродукцииМатериалы.Сумма | ИЗ | Документ.ЗаказНаИзготовлениеПродукции.Материалы КАК ЗаказНаИзготовлениеПродукцииМатериалы | ГДЕ | ЗаказНаИзготовлениеПродукцииМатериалы.Ссылка.Проведен | И ЗаказНаИзготовлениеПродукцииМатериалы.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2) КАК ВложенныйЗапрос"; Если ЗначениеЗаполнено(ВыбМатериал) Тогда Запрос.Текст=Запрос.Текст+" | |ГДЕ | Материал в &ВыбМатериал |"; Запрос.УстановитьПараметр("Материал", ВыбМатериал); КонецЕсли; Запрос.Текст=Запрос.Текст+" | |СГРУППИРОВАТЬ ПО | ВложенныйЗапрос.Материал"; Запрос.УстановитьПараметр("Дата2", Дата2); Запрос.УстановитьПараметр("Дата1", Дата1); Результат = Запрос.Выполнить(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьТМЦ = Макет.ПолучитьОбласть("ТМЦ"); ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьЗаголовок.Параметры.Дата1 = Формат(Дата1, "ДФ=dd.MM.yyyy"); ОбластьЗаголовок.Параметры.Дата2 = Формат(Дата2, "ДФ=dd.MM.yyyy"); ТабДокумент.Вывести(ОбластьЗаголовок); ТабДокумент.Вывести(ОбластьШапкаТаблицы); ТабДокумент.НачатьАвтогруппировкуСтрок(); //Выборка = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл ОбластьТМЦ.Параметры.Заполнить(ОбластьТМЦ); ОбластьТМЦ.Параметры.Материал= Выборка.Материал; ОбластьТМЦ.Параметры.КолвоСписание= Выборка.КоличествоСписание; ОбластьТМЦ.Параметры.СуммаСписание= Выборка.СуммаСписание; ОбластьТМЦ.Параметры.КолвоЗатребованно= Выборка.КоличествоЗатребованно; ОбластьТМЦ.Параметры.КолвоВыданно= Выборка.КоличествоВыданно; ОбластьТМЦ.Параметры.КолвоЗаказ= Выборка.КоличествоЗаказ; ОбластьТМЦ.Параметры.СуммаЗаказ= Выборка.СуммаЗаказ; ТабДокумент.Вывести(ОбластьТМЦ, Выборка.Уровень()); КонецЦикла; ТабДокумент.ЗакончитьАвтогруппировкуСтрок(); Таб = Запрос.Выполнить().Выгрузить(); Таб.Свернуть("","КоличествоСписание,СуммаСписание,СуммаЗаказ,КоличествоЗатребованно,КоличествоВыданно,КоличествоЗаказ"); ОбластьПодвалТаблицы.Параметры.КолвоСписание= Таб[0].КоличествоСписание; ОбластьПодвалТаблицы.Параметры.СуммаСписание= Таб[0].СуммаСписание; ОбластьПодвалТаблицы.Параметры.КолвоЗатребованно= Таб[0].КоличествоЗатребованно; ОбластьПодвалТаблицы.Параметры.КолвоВыданно= Таб[0].КоличествоВыданно; ОбластьПодвалТаблицы.Параметры.КолвоЗаказ= Таб[0].КоличествоЗаказ; ОбластьПодвалТаблицы.Параметры.СуммаЗаказ= Таб[0].СуммаЗаказ; ТабДокумент.Вывести(ОбластьПодвалТаблицы); Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо |ИЗ | РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних КАК ОтветственныеЛицаОрганизацийСрезПоследних |ГДЕ | ОтветственныеЛицаОрганизацийСрезПоследних.СтруктурнаяЕдиница = &СтруктурнаяЕдиница | И ОтветственныеЛицаОрганизацийСрезПоследних.ОтветственноеЛицо = &ОтветственноеЛицо"; Запрос.УстановитьПараметр("СтруктурнаяЕдиница", ОсновнаяОрганизация); Запрос.УстановитьПараметр("ОтветственноеЛицо", Перечисления.ОтветственныеЛицаОрганизаций.Руководитель); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ОбластьПодвал.Параметры.Руководитель = Выборка.ФизическоеЛицо; КонецЦикла; Запрос.УстановитьПараметр("ОтветственноеЛицо", Перечисления.ОтветственныеЛицаОрганизаций.ГлавныйБухгалтер); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ОбластьПодвал.Параметры.ГлБухгалтер = Выборка.ФизическоеЛицо; КонецЦикла; ТабДокумент.Вывести(ОбластьПодвал); ТабДокумент.ОтображатьЗаголовки = Истина; КонецПроцедуры Процедура ВыбПериодНажатие(Элемент) НастройкаПериода = Новый НастройкаПериода; НастройкаПериода.УстановитьПериод(Дата1, ?(Дата2='0001-01-01', Дата2, КонецДня(Дата2))); НастройкаПериода.РедактироватьКакИнтервал = Истина; НастройкаПериода.РедактироватьКакПериод = Истина; НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период; Если НастройкаПериода.Редактировать() Тогда Дата1 = НастройкаПериода.ПолучитьДатуНачала(); Дата2 = НастройкаПериода.ПолучитьДатуОкончания(); КонецЕсли; КонецПроцедуры Процедура ПриОткрытии() Если обЗначениеНеЗаполнено(Дата1) Тогда Дата1 = НачалоМесяца(ТекущаяДата()); КонецЕсли; Если обЗначениеНеЗаполнено(Дата2) Тогда Дата2 = КонецМесяца(ТекущаяДата()); КонецЕсли; КонецПроцедуры |
|||
1
guitar_player
17.11.11
✎
09:40
|
Материал в (&ВыбМатериал)
|
|||
2
YF
17.11.11
✎
09:40
|
(0) зачем? может 0
|
|||
3
xXeNoNx
17.11.11
✎
09:44
|
+(1) тока ВложенныйЗапрос.Материал в (&ВыбМатериал)
|
|||
4
Ivanych
17.11.11
✎
09:45
|
(2) Пробывал
|
|||
5
Ivanych
17.11.11
✎
09:45
|
(3) Пробывал
|
|||
6
Ivanych
17.11.11
✎
09:47
|
(2) Не понял? может 0
|
|||
7
Птица
17.11.11
✎
09:48
|
если это условие
Если ЗначениеЗаполнено(ВыбМатериал) Тогда Запрос.Текст=Запрос.Текст+" | |ГДЕ | Материал в &ВыбМатериал |"; Запрос.УстановитьПараметр("Материал", ВыбМатериал); КонецЕсли; выполнено, то у тебя будет 2 секции ГДЕ |
|||
8
SnarkHunter
17.11.11
✎
09:49
|
(4)
(5) Правильно пишется "пробОвал" |
|||
9
xXeNoNx
17.11.11
✎
09:51
|
в ВыбМатериал список или массив?
|
|||
10
Ivanych
17.11.11
✎
09:52
|
(7)
{Отчет.РасходМатериаловПоЗаказу.Форма.Отчет(112)}: Ошибка при вызове метода контекста (Выполнить): {(57, 16)}: Ожидается выражение "(" Материал в <<?>>&ВыбМатериал Результат = Запрос.Выполнить(); по причине: {(57, 16)}: Ожидается выражение "(" Материал в <<?>>&ВыбМатериал |
|||
11
Ivanych
17.11.11
✎
09:53
|
(9) Поле ввода СправочникСсылка.Номенклатура
|
|||
12
hhhh
17.11.11
✎
09:55
|
(10) ну это, поставь скобки, раз она ожидает их.
|
|||
13
Ivanych
17.11.11
✎
10:02
|
(12) Ага. Фигня полная.
|
|||
14
Птица
17.11.11
✎
10:05
|
(10) тебе про скобки еще в первом посте сказали.
|
|||
15
Шапокляк
17.11.11
✎
10:07
|
(0) смотри (7) - если условие выполняется, то в тексте запроса будет две секции ГДЕ:
| ГДЕ | ЗаказНаИзготовлениеПродукцииМатериалы.Ссылка.Проведен | И ЗаказНаИзготовлениеПродукцииМатериалы.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2) КАК ВложенныйЗапрос | |ГДЕ | Материал в &ВыбМатериал |"; Запрос.УстановитьПараметр("Материал", ВыбМатериал); КонецЕсли; что само по себе неправильно. Мало того, конструкция "В &ЧтоТоТам" без скобок не применяется. Третье - Если в запросе есть параметр &ЧтоТоТам, то его и надо устанавливать в параметрах, а именно: не Запрос.Установитьпараметр("Материал"...), а Запрос.УстановитьПараметр("ВыбМатериал"...) Попробуйте переписать в запросе это место следующим образом: | ГДЕ | ЗаказНаИзготовлениеПродукцииМатериалы.Ссылка.Проведен | И ЗаказНаИзготовлениеПродукцииМатериалы.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 И Материал В Иерархии(&ВыбМатериал)) КАК ВложенныйЗапрос"; Запрос.УстановитьПараметр("ВыбМатериал", ВыбМатериал); |
|||
16
Ivanych
17.11.11
✎
10:10
|
(14) Пробовал
|
|||
17
hotZED
17.11.11
✎
10:14
|
Иваныч, сделай как советуют в (1), выбери материал, во время отладки останови перед "Результат = Запрос.Выполнить();" и покажи весь запрос целиком.
|
|||
18
Ivanych
17.11.11
✎
10:21
|
(17) До "Результат = Запрос.Выполнить();" все ок.
//Процедура ПередОткрытием(Отказ, СтандартнаяОбработка) // //ОтчетИнициализация(); //КонецПроцедуры Процедура ДействияФормыОтчетНастройка(Кнопка) //{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПОСТРОИТЕЛЬОТЧЕТА_НАСТРОЙКА(Отчет) // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! //Форма = ОтчетОбъект.ПолучитьФорму("ОтчетНастройка"); //Форма.ПостроительОтчета = ПостроительОтчетаОтчет; //Настройка = ПостроительОтчетаОтчет.ПолучитьНастройки(); //Если Форма.ОткрытьМодально() = Истина Тогда // ОтчетВывести(); //Иначе // ПостроительОтчетаОтчет.УстановитьНастройки(Настройка); //КонецЕсли; //}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПОСТРОИТЕЛЬОТЧЕТА_НАСТРОЙКА КонецПроцедуры Процедура ДействияФормыОтчетСформировать(Кнопка) //{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА(Отчет) // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! ТабДокумент = ЭлементыФормы.ПолеТабличногоДокумента; ТабДокумент.Очистить(); ОтчетВывести(ТабДокумент); //}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА КонецПроцедуры Процедура ОтчетВывести(ТабДокумент) Экспорт Макет = ОтчетОбъект.ПолучитьМакет("Отчет"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВложенныйЗапрос.Материал, | СУММА(ВложенныйЗапрос.КоличествоЗатребованно) КАК КоличествоЗатребованно, | СУММА(ВложенныйЗапрос.КоличествоВыданно) КАК КоличествоВыданно, | СУММА(ВложенныйЗапрос.КоличествоСписание) КАК КоличествоСписание, | СУММА(ВложенныйЗапрос.СуммаСписание) КАК СуммаСписание, | СУММА(ВложенныйЗапрос.КоличествоЗаказ) КАК КоличествоЗаказ, | СУММА(ВложенныйЗапрос.СуммаЗаказ) КАК СуммаЗаказ |ИЗ | (ВЫБРАТЬ | АктСписанияМатериаловТЧ.Материал КАК Материал, | АктСписанияМатериаловТЧ.Количество КАК КоличествоСписание, | АктСписанияМатериаловТЧ.Сумма КАК СуммаСписание, | (0) КАК КоличествоЗатребованно, | (0) КАК КоличествоВыданно, | (0) КАК КоличествоЗаказ, | (0) КАК СуммаЗаказ | ИЗ | Документ.АктСписанияМатериалов.ТЧ КАК АктСписанияМатериаловТЧ | ГДЕ | АктСписанияМатериаловТЧ.Ссылка.Проведен | И АктСписанияМатериаловТЧ.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ТребованиеПеремещенияТабличнаяЧасть.Материал, | (0), | (0), | ТребованиеПеремещенияТабличнаяЧасть.Затребовано, | ТребованиеПеремещенияТабличнаяЧасть.Выдано, | (0), | (0) | ИЗ | Документ.ТребованиеПеремещения.ТабличнаяЧасть КАК ТребованиеПеремещенияТабличнаяЧасть | ГДЕ | ТребованиеПеремещенияТабличнаяЧасть.Ссылка.Проведен | И ТребованиеПеремещенияТабличнаяЧасть.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ЗаказНаИзготовлениеПродукцииМатериалы.Материал, | (0), | (0), | (0), | (0), | ЗаказНаИзготовлениеПродукцииМатериалы.Количество, | ЗаказНаИзготовлениеПродукцииМатериалы.Сумма | ИЗ | Документ.ЗаказНаИзготовлениеПродукции.Материалы КАК ЗаказНаИзготовлениеПродукцииМатериалы | ГДЕ | ЗаказНаИзготовлениеПродукцииМатериалы.Ссылка.Проведен | И ЗаказНаИзготовлениеПродукцииМатериалы.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2) КАК ВложенныйЗапрос"; Если ЗначениеЗаполнено(ВыбМатериал) Тогда Запрос.Текст=Запрос.Текст+" | |ГДЕ | ВложенныйЗапрос.Материал в (&ВыбМатериал) |"; Запрос.УстановитьПараметр("Материал", ВыбМатериал); КонецЕсли; Запрос.Текст=Запрос.Текст+" | |СГРУППИРОВАТЬ ПО | ВложенныйЗапрос.Материал"; Запрос.УстановитьПараметр("Дата2", Дата2); Запрос.УстановитьПараметр("Дата1", Дата1); Результат = Запрос.Выполнить(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьТМЦ = Макет.ПолучитьОбласть("ТМЦ"); ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьЗаголовок.Параметры.Дата1 = Формат(Дата1, "ДФ=dd.MM.yyyy"); ОбластьЗаголовок.Параметры.Дата2 = Формат(Дата2, "ДФ=dd.MM.yyyy"); ТабДокумент.Вывести(ОбластьЗаголовок); ТабДокумент.Вывести(ОбластьШапкаТаблицы); ТабДокумент.НачатьАвтогруппировкуСтрок(); //Выборка = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл ОбластьТМЦ.Параметры.Заполнить(ОбластьТМЦ); ОбластьТМЦ.Параметры.Материал= Выборка.Материал; ОбластьТМЦ.Параметры.КолвоСписание= Выборка.КоличествоСписание; ОбластьТМЦ.Параметры.СуммаСписание= Выборка.СуммаСписание; ОбластьТМЦ.Параметры.КолвоЗатребованно= Выборка.КоличествоЗатребованно; ОбластьТМЦ.Параметры.КолвоВыданно= Выборка.КоличествоВыданно; ОбластьТМЦ.Параметры.КолвоЗаказ= Выборка.КоличествоЗаказ; ОбластьТМЦ.Параметры.СуммаЗаказ= Выборка.СуммаЗаказ; ТабДокумент.Вывести(ОбластьТМЦ, Выборка.Уровень()); КонецЦикла; ТабДокумент.ЗакончитьАвтогруппировкуСтрок(); Таб = Запрос.Выполнить().Выгрузить(); Таб.Свернуть("","КоличествоСписание,СуммаСписание,СуммаЗаказ,КоличествоЗатребованно,КоличествоВыданно,КоличествоЗаказ"); ОбластьПодвалТаблицы.Параметры.КолвоСписание= Таб[0].КоличествоСписание; ОбластьПодвалТаблицы.Параметры.СуммаСписание= Таб[0].СуммаСписание; ОбластьПодвалТаблицы.Параметры.КолвоЗатребованно= Таб[0].КоличествоЗатребованно; ОбластьПодвалТаблицы.Параметры.КолвоВыданно= Таб[0].КоличествоВыданно; ОбластьПодвалТаблицы.Параметры.КолвоЗаказ= Таб[0].КоличествоЗаказ; ОбластьПодвалТаблицы.Параметры.СуммаЗаказ= Таб[0].СуммаЗаказ; ТабДокумент.Вывести(ОбластьПодвалТаблицы); Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо |ИЗ | РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних КАК ОтветственныеЛицаОрганизацийСрезПоследних |ГДЕ | ОтветственныеЛицаОрганизацийСрезПоследних.СтруктурнаяЕдиница = &СтруктурнаяЕдиница | И ОтветственныеЛицаОрганизацийСрезПоследних.ОтветственноеЛицо = &ОтветственноеЛицо"; Запрос.УстановитьПараметр("СтруктурнаяЕдиница", ОсновнаяОрганизация); Запрос.УстановитьПараметр("ОтветственноеЛицо", Перечисления.ОтветственныеЛицаОрганизаций.Руководитель); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ОбластьПодвал.Параметры.Руководитель = Выборка.ФизическоеЛицо; КонецЦикла; Запрос.УстановитьПараметр("ОтветственноеЛицо", Перечисления.ОтветственныеЛицаОрганизаций.ГлавныйБухгалтер); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ОбластьПодвал.Параметры.ГлБухгалтер = Выборка.ФизическоеЛицо; КонецЦикла; ТабДокумент.Вывести(ОбластьПодвал); ТабДокумент.ОтображатьЗаголовки = Истина; КонецПроцедуры Процедура ВыбПериодНажатие(Элемент) НастройкаПериода = Новый НастройкаПериода; НастройкаПериода.УстановитьПериод(Дата1, ?(Дата2='0001-01-01', Дата2, КонецДня(Дата2))); НастройкаПериода.РедактироватьКакИнтервал = Истина; НастройкаПериода.РедактироватьКакПериод = Истина; НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период; Если НастройкаПериода.Редактировать() Тогда Дата1 = НастройкаПериода.ПолучитьДатуНачала(); Дата2 = НастройкаПериода.ПолучитьДатуОкончания(); КонецЕсли; КонецПроцедуры Процедура ПриОткрытии() Если обЗначениеНеЗаполнено(Дата1) Тогда Дата1 = НачалоМесяца(ТекущаяДата()); КонецЕсли; Если обЗначениеНеЗаполнено(Дата2) Тогда Дата2 = КонецМесяца(ТекущаяДата()); КонецЕсли; КонецПроцедуры |
|||
19
hotZED
17.11.11
✎
10:22
|
(18) я попросил показать текст самого запроса, а не код всего отчета. Можешь это сделать?
|
|||
20
Ivanych
17.11.11
✎
10:24
|
(19)
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВложенныйЗапрос.Материал, | СУММА(ВложенныйЗапрос.КоличествоЗатребованно) КАК КоличествоЗатребованно, | СУММА(ВложенныйЗапрос.КоличествоВыданно) КАК КоличествоВыданно, | СУММА(ВложенныйЗапрос.КоличествоСписание) КАК КоличествоСписание, | СУММА(ВложенныйЗапрос.СуммаСписание) КАК СуммаСписание, | СУММА(ВложенныйЗапрос.КоличествоЗаказ) КАК КоличествоЗаказ, | СУММА(ВложенныйЗапрос.СуммаЗаказ) КАК СуммаЗаказ |ИЗ | (ВЫБРАТЬ | АктСписанияМатериаловТЧ.Материал КАК Материал, | АктСписанияМатериаловТЧ.Количество КАК КоличествоСписание, | АктСписанияМатериаловТЧ.Сумма КАК СуммаСписание, | (0) КАК КоличествоЗатребованно, | (0) КАК КоличествоВыданно, | (0) КАК КоличествоЗаказ, | (0) КАК СуммаЗаказ | ИЗ | Документ.АктСписанияМатериалов.ТЧ КАК АктСписанияМатериаловТЧ | ГДЕ | АктСписанияМатериаловТЧ.Ссылка.Проведен | И АктСписанияМатериаловТЧ.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ТребованиеПеремещенияТабличнаяЧасть.Материал, | (0), | (0), | ТребованиеПеремещенияТабличнаяЧасть.Затребовано, | ТребованиеПеремещенияТабличнаяЧасть.Выдано, | (0), | (0) | ИЗ | Документ.ТребованиеПеремещения.ТабличнаяЧасть КАК ТребованиеПеремещенияТабличнаяЧасть | ГДЕ | ТребованиеПеремещенияТабличнаяЧасть.Ссылка.Проведен | И ТребованиеПеремещенияТабличнаяЧасть.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ЗаказНаИзготовлениеПродукцииМатериалы.Материал, | (0), | (0), | (0), | (0), | ЗаказНаИзготовлениеПродукцииМатериалы.Количество, | ЗаказНаИзготовлениеПродукцииМатериалы.Сумма | ИЗ | Документ.ЗаказНаИзготовлениеПродукции.Материалы КАК ЗаказНаИзготовлениеПродукцииМатериалы | ГДЕ | ЗаказНаИзготовлениеПродукцииМатериалы.Ссылка.Проведен | И ЗаказНаИзготовлениеПродукцииМатериалы.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2) КАК ВложенныйЗапрос"; Если ЗначениеЗаполнено(ВыбМатериал) Тогда Запрос.Текст=Запрос.Текст+" | |ГДЕ | Материал в (&ВыбМатериал) |"; Запрос.УстановитьПараметр("Материал", ВыбМатериал); КонецЕсли; Запрос.Текст=Запрос.Текст+" | |СГРУППИРОВАТЬ ПО | ВложенныйЗапрос.Материал"; Запрос.УстановитьПараметр("Дата2", Дата2); Запрос.УстановитьПараметр("Дата1", Дата1); Результат = Запрос.Выполнить(); |
|||
21
hotZED
17.11.11
✎
10:26
|
(19) Иваныч, ты видимо отладкой пользоваться не умеешь? Или не понимаешь, что именно от тебя просят...
|
|||
22
Ivanych
17.11.11
✎
10:26
|
(21) Поясни
|
|||
23
hotZED
17.11.11
✎
10:27
|
(19) И что сейчас система пишет при выполнении запроса? Какую именно ошибку?
|
|||
24
Ivanych
17.11.11
✎
10:28
|
(23)
{Отчет.РасходМатериаловПоЗаказу.Форма.Отчет(113)}: Ошибка при вызове метода контекста (Выполнить): {(57, 17)}: Не задано значение параметра "ВыбМатериал" Материал в (<<?>>&ВыбМатериал) Результат = Запрос.Выполнить(); по причине: {(57, 17)}: Не задано значение параметра "ВыбМатериал" Материал в (<<?>>&ВыбМатериал) |
|||
25
Шапокляк
17.11.11
✎
10:29
|
(24) Ну прочитай (15), там же все написано
|
|||
26
hotZED
17.11.11
✎
10:29
|
(23) Исправь
Запрос.УстановитьПараметр("Материал", ВыбМатериал);
на Запрос.УстановитьПараметр("ВыбМатериал", ВыбМатериал); |
|||
27
Ivanych
17.11.11
✎
10:30
|
(26)
{Отчет.РасходМатериаловПоЗаказу.Форма.Отчет(147)}: Индекс находится за границами массива ОбластьПодвалТаблицы.Параметры.КолвоСписание= Таб[0].КоличествоСписание; |
|||
28
Ivanych
17.11.11
✎
10:31
|
Если не выбираешь то норм
|
|||
29
hhhh
17.11.11
✎
10:31
|
миста - лучший отладчик
|
|||
30
hotZED
17.11.11
✎
10:32
|
(29) +1
(28) ну давай уж сам думай |
|||
31
Ivanych
17.11.11
✎
10:34
|
Ладно всем СПС. Буду дальше пробывать.
|
|||
32
Ivanych
17.11.11
✎
10:36
|
(30) (25) Получилось)
Если ЗначениеЗаполнено(ВыбМатериал) Тогда Запрос.Текст=Запрос.Текст+" | |ГДЕ | ВложенныйЗапрос.Материал в Иерархии(&ВыбМатериал) |"; Запрос.УстановитьПараметр("ВыбМатериал", ВыбМатериал); КонецЕсли; |
|||
33
Шапокляк
17.11.11
✎
11:01
|
(32) Не поверишь, данная конструкция работает и без условия что ВыбМатериал заполнен - если там пустая ссылка, то в иерархии пустой ссылки будут все материалы.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |