| 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);
 
 конеццикла;
 
 
 ТабФорма=Отчеты.ОбщийОтчетПоРВОПОИМЭЦ.ПолучитьФорму("ФормаТаблицы");
 ТабФорма.Открыть();
 ТабФорма.ЭлементыФормы.Результат.Вывести(Темп);
 
 
 КонецПроцедуры
 
 
 |