staff
|
|
« Ответ #37 : 24-09-2009 06:27 » |
|
по поводу вывода времени проведения анализа во втором запросе у меня выдает ошибку "{Отчет.ОбщийОтчетПоРВОПОИМЭЦ.Форма.ФормаОтчета(182)}: Значение не является значением объектного типа (Дата) ОбластьРегистратор1.Параметры.Дата=ВыборкаРегистратор.Регистратор.Дата;"
что не хватает в коде?
код процедуры:
Процедура КнопкаСформироватьНажатие(Кнопка) // Вставить содержимое обработчика. Запрос= новый запрос; Запрос.Текст= "ВЫБРАТЬ | ЦэхРВОИПО.Смена КАК Смена, | ЦэхРВОИПО.Бригада КАК Бригада, | ЦэхРВОИПО.Регистратор КАК Регистратор, | ЦэхРВОИПО.Сторона КАК Сторона, | ЦэхРВОИПО.Пользователь КАК Пользователь, | ЦэхРВОИПО.Сырье КАК Сырье, | СУММА(ЦэхРВОИПО.W1) КАК W1, | СУММА(ЦэхРВОИПО.W) КАК W, | СУММА(ЦэхРВОИПО.W2) КАК W2, | СУММА(ЦэхРВОИПО.W3) КАК W3, | СУММА(ЦэхРВОИПО.W4) КАК W4, | СУММА(ЦэхРВОИПО.M3) КАК M3, | СУММА(ЦэхРВОИПО.M4) КАК M4, | СУММА(ЦэхРВОИПО.X) КАК X, | СУММА(ЦэхРВОИПО.X1) КАК X1, | СУММА(ЦэхРВОИПО.X2) КАК X2, | СУММА(ЦэхРВОИПО.X3) КАК X3, | СУММА(ЦэхРВОИПО.X4) КАК X4, | СУММА(ЦэхРВОИПО.X5) КАК X5, | СУММА(ЦэхРВОИПО.Y) КАК Y |ИЗ | РегистрНакопления.ЦэхРВОИПО КАК ЦэхРВОИПО |ГДЕ | ЦэхРВОИПО.Период МЕЖДУ &НачалоДня И &КонецДня | |СГРУППИРОВАТЬ ПО | ЦэхРВОИПО.Смена, | ЦэхРВОИПО.Бригада, | ЦэхРВОИПО.Регистратор, | ЦэхРВОИПО.Сторона, | ЦэхРВОИПО.Пользователь, | ЦэхРВОИПО.Сырье | |УПОРЯДОЧИТЬ ПО | Смена, | Бригада, | Регистратор, | Сторона, | Пользователь, | Сырье |ИТОГИ | СУММА(W1), | СУММА(W), | СУММА(W2), | СУММА(W3), | СУММА(W4), | СУММА(M3), | СУММА(M4), | СУММА(X), | СУММА(X1), | СУММА(X2), | СУММА(X3), | СУММА(X4), | СУММА(X5), | СУММА(Y) |ПО | Смена, | Бригада, | Регистратор, | Сторона, | Пользователь, | Сырье |АВТОУПОРЯДОЧИВАНИЕ"; Запрос.УстановитьПараметр("НачалоДня", НачалоДня(НачПериода)); Запрос.УстановитьПараметр("КонецДня", КонецДня(КонПериода)); Результат=Запрос.Выполнить(); Выборка=Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); темп = новый ТабличныйДокумент; ТабДок=ПолучитьМакет("Макет"); Пока Выборка.Следующий() цикл ОбластьДанные=ТабДок.ПолучитьОбласть("Данные"); ОбластьДанные.Параметры.Смена=Выборка.Смена; Темп.Вывести(ОбластьДанные); ВыборкаСводка=Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); областьПро=ТабДок.ПолучитьОбласть("Про"); темп.Вывести(ОбластьПро); Пока ВыборкаСводка.Следующий() цикл ОбластьСводка=ТабДок.ПолучитьОбласть("Сводка"); ОбластьСводка.Параметры.Период=" Период с "+Формат(НачПериода,"ДЛФ=DD")+" по "+Формат(КонПериода,"ДЛФ=DD"); ОбластьСводка.Параметры.Бригада=ВыборкаСводка.Бригада; Темп.Вывести(ОбластьСводка); ВыборкаРегистратор=ВыборкаСводка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); ОбластьНаименование=ТабДок.ПолучитьОбласть("Наименование"); темп.Вывести(ОбластьНаименование); Пока ВыборкаРегистратор.Следующий() цикл если ВыборкаРегистратор.Регистратор<>Неопределено тогда ОбластьРегистратор=ТабДок.ПолучитьОбласть("Регистратор"); ОбластьРегистратор.Параметры.Дата=ВыборкаРегистратор.Регистратор.Дата; Темп.Вывести(ОбластьРегистратор); конецесли; конеццикла; конеццикла; конеццикла; Запрос= новый запрос; Запрос.Текст= "ВЫБРАТЬ | ЦэхЭкстракции.Регистратор КАК Регистратор, | СУММА(ЦэхЭкстракции.W) КАК W, | СУММА(ЦэхЭкстракции.X) КАК X, | СУММА(ЦэхЭкстракции.M1) КАК M1, | СУММА(ЦэхЭкстракции.Z) КАК Z, | СУММА(ЦэхЭкстракции.Y) КАК Y, | СУММА(ЦэхЭкстракции.A) КАК A, | СУММА(ЦэхЭкстракции.x1) КАК x1, | СУММА(ЦэхЭкстракции.x2) КАК x2, | СУММА(ЦэхЭкстракции.x3) КАК x3, | СУММА(ЦэхЭкстракции.x5) КАК x5, | СУММА(ЦэхЭкстракции.x6) КАК x6, | СУММА(ЦэхЭкстракции.x10) КАК x10, | СУММА(ЦэхЭкстракции.x8) КАК x8, | СУММА(ЦэхЭкстракции.x9) КАК x9, | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЦэхЭкстракции.OEP) КАК OEP, | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЦэхЭкстракции.qqq) КАК qqq, | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЦэхЭкстракции.qqqq) КАК qqqq, | СУММА(ЦэхЭкстракции.qwe) КАК qwe, | СУММА(ЦэхЭкстракции.qwq) КАК qwq, | СУММА(ЦэхЭкстракции.wqq) КАК wqq, | СУММА(ЦэхЭкстракции.wwq) КАК wwq |ИЗ | РегистрНакопления.ЦэхЭкстракции КАК ЦэхЭкстракции |ГДЕ | ЦэхЭкстракции.Период МЕЖДУ &НачалоДня И &КонецДня | |СГРУППИРОВАТЬ ПО | ЦэхЭкстракции.Регистратор | |УПОРЯДОЧИТЬ ПО | Регистратор |ИТОГИ | СУММА(W), | СУММА(X), | СУММА(M1), | СУММА(Z), | СУММА(Y), | СУММА(A), | СУММА(x1), | СУММА(x2), | СУММА(x3), | СУММА(x5), | СУММА(x6), | СУММА(x10), | СУММА(x8), | СУММА(x9), | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ OEP), | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ qqq), | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ qqqq), | СУММА(qwe), | СУММА(qwq), | СУММА(wqq), | СУММА(wwq) |ПО | Регистратор |АВТОУПОРЯДОЧИВАНИЕ"; Запрос.УстановитьПараметр("НачалоДня", НачалоДня(НачПериода)); Запрос.УстановитьПараметр("КонецДня", КонецДня(КонПериода)); Результат=Запрос.Выполнить(); Выборка=Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); ОбластьДанные1=ТабДок.ПолучитьОбласть("Данные1"); темп.Вывести(ОбластьДанные1); ОбластьСводка1=ТабДок.ПолучитьОбласть("Сводка1"); темп.Вывести(ОбластьСводка1); пока выборка.Следующий() цикл ОбластьРегистратор1=ТабДок.ПолучитьОбласть("Регистратор1"); ОбластьРегистратор1.Параметры.Дата=ВыборкаРегистратор.Регистратор.Дата; темп.Вывести(ОбластьРегистратор1); конеццикла; ТабФорма=Отчеты.ОбщийОтчетПоРВОПОИМЭЦ.ПолучитьФорму("ФормаТаблицы"); ТабФорма.Открыть(); ТабФорма.ЭлементыФормы.Результат.Вывести(Темп);
КонецПроцедуры
|