|
Как в построитель отчета засунуть менеджер временных таблиц? | ☑ | ||
---|---|---|---|---|
0
Anchel74
22.03.12
✎
12:25
|
В общем, необходимо сделать отчет на базе универсального отчета.
Проблема в том, что необходимо было преобразовать значение из строки в число, что в запросе невозможно. Поэтому решили сначала отдельно преобразовать нужные значения с созданием ТЗ, а далее помещать ее в запрос. Но в построителе отчета никак не пойму как сделать менеджер временных таблиц. Подскажите, плиз, решение) вот текущий код: ТекстЗапроса = " Выбрать | Значение(Справочник.СерииНоменклатуры.ПустаяСсылка) как СерияНоменклатуры, | ВЫРАЗИТЬ(0 КАК ЧИСЛО(15, 8)) как НомерСерии | ПОМЕСТИТЬ ТаблицаСерий; | |ВЫБРАТЬ РАЗРЕШЕННЫЕ | ВложенныйЗапрос.Период, | ВложенныйЗапрос.Регистратор, | ВложенныйЗапрос.Склад, | ВложенныйЗапрос.Номенклатура, | ВложенныйЗапрос.Качество, | ВложенныйЗапрос.ХарактеристикаНоменклатуры, | ВложенныйЗапрос.СерияНоменклатуры, | ВложенныйЗапрос.КоличествоНачальныйОстаток, | ВложенныйЗапрос.КоличествоПриход, | ВложенныйЗапрос.КоличествоРасход, | ВложенныйЗапрос.КоличествоОборот, | ВложенныйЗапрос.КоличествоКонечныйОстаток, | ВложенныйЗапрос.КоличествоНачальныйОстатокВШт, | ВложенныйЗапрос.КоличествоПриходВШт, | ВложенныйЗапрос.КоличествоРасходВШт, | ВложенныйЗапрос.КоличествоОборотВШт, | ВложенныйЗапрос.КоличествоКонечныйОстатокВШт, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕНЬ) КАК ПериодДень, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, НЕДЕЛЯ) КАК ПериодНеделя, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕКАДА) КАК ПериодДекада, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, МЕСЯЦ) КАК ПериодМесяц, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, КВАРТАЛ) КАК ПериодКвартал, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ГОД) КАК ПериодГод |ИЗ | (ВЫБРАТЬ | ТоварыНаСкладахОстаткиИОбороты.Период КАК Период, | ТоварыНаСкладахОстаткиИОбороты.Регистратор КАК Регистратор, | ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад, | ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, | ТоварыНаСкладахОстаткиИОбороты.Качество КАК Качество, | ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ТоварыНаСкладахОстаткиИОбороты.СерияНоменклатуры КАК СерияНоменклатуры, | СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, | СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток, | СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот) КАК КоличествоОборот, | СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход, | СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход, | СУММА(ВЫБОР | КОГДА ЕСТЬNULL(ТаблицаСерий.НомерСерии, 0) > 0 | ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток / ТаблицаСерий.НомерСерии | ИНАЧЕ 0 | КОНЕЦ) КАК КоличествоНачальныйОстатокВШт, | СУММА(ВЫБОР | КОГДА ЕСТЬNULL(ТаблицаСерий.НомерСерии, 0) > 0 | ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток / ТаблицаСерий.НомерСерии | ИНАЧЕ 0 | КОНЕЦ) КАК КоличествоКонечныйОстатокВШт, | СУММА(ВЫБОР | КОГДА ЕСТЬNULL(ТаблицаСерий.НомерСерии, 0) > 0 | ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот / ТаблицаСерий.НомерСерии | ИНАЧЕ 0 | КОНЕЦ) КАК КоличествоОборотВШт, | СУММА(ВЫБОР | КОГДА ЕСТЬNULL(ТаблицаСерий.НомерСерии, 0) > 0 | ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход / ТаблицаСерий.НомерСерии | ИНАЧЕ 0 | КОНЕЦ) КАК КоличествоПриходВШт, | СУММА(ВЫБОР | КОГДА ЕСТЬNULL(ТаблицаСерий.НомерСерии, 0) > 0 | ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход / ТаблицаСерий.НомерСерии | ИНАЧЕ 0 | КОНЕЦ) КАК КоличествоРасходВШт | ИЗ | РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор {(&Периодичность)}, ДвиженияИГраницыПериода, ) КАК ТоварыНаСкладахОстаткиИОбороты | ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаСерий КАК ТаблицаСерий | ПО ТоварыНаСкладахОстаткиИОбороты.СерияНоменклатуры = ТаблицаСерий.СерияНоменклатуры | | СГРУППИРОВАТЬ ПО | ТоварыНаСкладахОстаткиИОбороты.Склад, | ТоварыНаСкладахОстаткиИОбороты.Номенклатура, | ТоварыНаСкладахОстаткиИОбороты.Регистратор, | ТоварыНаСкладахОстаткиИОбороты.Качество, | ТоварыНаСкладахОстаткиИОбороты.СерияНоменклатуры, | ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры, | ТоварыНаСкладахОстаткиИОбороты.Период) КАК ВложенныйЗапрос |ИТОГИ ПО | ОБЩИЕ"; |
|||
1
le_
22.03.12
✎
12:32
|
Через ОписаниеИсточникаДанных можно попробовать ТЗ построителю передать.
|
|||
2
Anchel74
23.03.12
✎
08:47
|
сделала через источник данных, но при формировании отчета не выводятся показатели по измерениям, ставлю "показывать детальные записи" в истина, выводятся. Делала все стандартно, как нужно формировать универсальный отчет. Может при использовании источника данных нужны еще какие то специальные настройки?
|
|||
3
Anchel74
23.03.12
✎
09:36
|
вот код:
Процедура УстановитьНачальныеНастройки(ДополнительныеПараметры = Неопределено) Экспорт УниверсальныйОтчет.мНазваниеОтчета = СокрЛП(ЭтотОбъект.Метаданные().Синоним); УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь; Если УниверсальныйОтчет.ДатаНач=Дата(0001,01,01) Тогда УниверсальныйОтчет.ДатаНач=НачалоМесяца(ТекущаяДата()); КонецЕсли; ТаблицаСерий=Новый ТаблицаЗначений; Массив = Новый Массив; Массив.Добавить(Тип("СправочникСсылка.СерииНоменклатуры")); ТаблицаСерий.Колонки.Добавить("Серия", Новый ОписаниеТипов(Массив)); Массив.Очистить(); Массив.Добавить(Тип("Число")); КЧ = Новый КвалификаторыЧисла(15,8); ТаблицаСерий.Колонки.Добавить("НомерСерии", Новый ОписаниеТипов(Массив,,,КЧ)); Запр=Новый Запрос("ВЫБРАТЬ | ВложенныйЗапрос.СерияНоменклатуры КАК СерияНоменклатуры, | ВложенныйЗапрос.Склад КАК Склад, | ВложенныйЗапрос.Номенклатура КАК Номенклатура, | ВложенныйЗапрос.Качество КАК Качество, | ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ВложенныйЗапрос.СерияНоменклатуры.СерийныйНомер КАК СерийныйНомер |ИЗ | (ВЫБРАТЬ | ТоварыНаСкладахОстаткиИОбороты.СерияНоменклатуры КАК СерияНоменклатуры, | ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад, | ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, | ТоварыНаСкладахОстаткиИОбороты.Качество КАК Качество, | ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры | ИЗ | РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, ДвиженияИГраницыПериода, ) КАК ТоварыНаСкладахОстаткиИОбороты | ГДЕ | ТоварыНаСкладахОстаткиИОбороты.СерияНоменклатуры <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)) КАК ВложенныйЗапрос |ГДЕ | ВложенныйЗапрос.СерияНоменклатуры.СерийныйНомер <> """""); Запр.УстановитьПараметр("ДатаНач", УниверсальныйОтчет.ДатаНач); Запр.УстановитьПараметр("ДатаКон", УниверсальныйОтчет.ДатаКон); Выборка=Запр.Выполнить().Выбрать(); //Выборка=Справочники.СерииНоменклатуры.Выбрать(); Пока Выборка.Следующий() цикл Если ЗначениеЗаполнено(Выборка.СерийныйНомер) Тогда Попытка НовСтр=ТаблицаСерий.Добавить(); НовСтр.Серия=Выборка.СерияНоменклатуры; НовСтр.НомерСерии=Число(Выборка.СерийныйНомер); //сообщить(Выборка.СерияНоменклатуры); Исключение КонецПопытки; КонецЕсли; КонецЦикла; Запрос=Новый Запрос; Запрос.МенеджерВременныхТаблиц=новый МенеджерВременныхТаблиц; Запрос.УстановитьПараметр("ВнТаб", ТаблицаСерий); Запрос.УстановитьПараметр("ДатаНач", УниверсальныйОтчет.ДатаНач); Запрос.УстановитьПараметр("ДатаКон", УниверсальныйОтчет.ДатаКон); ТекстЗапроса = "ВЫБРАТЬ | ТабСерий.Серия КАК СерияНоменклатуры, | ТабСерий.НомерСерии КАК НомерСерии |ПОМЕСТИТЬ ТаблицаСерий |ИЗ | &ВнТаб КАК ТабСерий |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | ВложенныйЗапрос.Период КАК Период, | ВложенныйЗапрос.Регистратор КАК Регистратор, | ВложенныйЗапрос.Склад КАК Склад, | ВложенныйЗапрос.Номенклатура КАК Номенклатура, | ВложенныйЗапрос.Качество КАК Качество, | ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ВложенныйЗапрос.СерияНоменклатуры КАК СерияНоменклатуры, | ВложенныйЗапрос.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, | ВложенныйЗапрос.КоличествоПриход КАК КоличествоПриход, | ВложенныйЗапрос.КоличествоРасход КАК КоличествоРасход, | ВложенныйЗапрос.КоличествоОборот КАК КоличествоОборот, | ВложенныйЗапрос.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, | ВложенныйЗапрос.КоличествоНачальныйОстатокВШт КАК КоличествоНачальныйОстатокВШт, | ВложенныйЗапрос.КоличествоПриходВШт КАК КоличествоПриходВШт, | ВложенныйЗапрос.КоличествоРасходВШт КАК КоличествоРасходВШт, | ВложенныйЗапрос.КоличествоОборотВШт КАК КоличествоОборотВШт, | ВложенныйЗапрос.КоличествоКонечныйОстатокВШт КАК КоличествоКонечныйОстатокВШт, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕНЬ) КАК ПериодДень, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, НЕДЕЛЯ) КАК ПериодНеделя, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕКАДА) КАК ПериодДекада, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, МЕСЯЦ) КАК ПериодМесяц, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, КВАРТАЛ) КАК ПериодКвартал, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ГОД) КАК ПериодГод |{ВЫБРАТЬ | Склад.*, | Номенклатура.*, | Качество.*, | ХарактеристикаНоменклатуры.*, | СерияНоменклатуры.*, | Регистратор.*, | Период, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод, | КоличествоНачальныйОстаток, | КоличествоПриход, | КоличествоРасход, | КоличествоОборот, | КоличествоКонечныйОстаток, | КоличествоНачальныйОстатокВШт, | КоличествоПриходВШт, | КоличествоРасходВШт, | КоличествоОборотВШт, | КоличествоКонечныйОстатокВШт} |ИЗ | (ВЫБРАТЬ | ТоварыНаСкладахОстаткиИОбороты.Период КАК Период, | ТоварыНаСкладахОстаткиИОбороты.Регистратор КАК Регистратор, | ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад, | ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, | ТоварыНаСкладахОстаткиИОбороты.Качество КАК Качество, | ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ТоварыНаСкладахОстаткиИОбороты.СерияНоменклатуры КАК СерияНоменклатуры, | СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, | СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток, | СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот) КАК КоличествоОборот, | СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход, | СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход, | СУММА(ВЫБОР | КОГДА ЕСТЬNULL(ТаблицаСерий.НомерСерии, 0) > 0 | ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток / ТаблицаСерий.НомерСерии | ИНАЧЕ 0 | КОНЕЦ) КАК КоличествоНачальныйОстатокВШт, | СУММА(ВЫБОР | КОГДА ЕСТЬNULL(ТаблицаСерий.НомерСерии, 0) > 0 | ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток / ТаблицаСерий.НомерСерии | ИНАЧЕ 0 | КОНЕЦ) КАК КоличествоКонечныйОстатокВШт, | СУММА(ВЫБОР | КОГДА ЕСТЬNULL(ТаблицаСерий.НомерСерии, 0) > 0 | ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот / ТаблицаСерий.НомерСерии | ИНАЧЕ 0 | КОНЕЦ) КАК КоличествоОборотВШт, | СУММА(ВЫБОР | КОГДА ЕСТЬNULL(ТаблицаСерий.НомерСерии, 0) > 0 | ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход / ТаблицаСерий.НомерСерии | ИНАЧЕ 0 | КОНЕЦ) КАК КоличествоПриходВШт, | СУММА(ВЫБОР | КОГДА ЕСТЬNULL(ТаблицаСерий.НомерСерии, 0) > 0 | ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход / ТаблицаСерий.НомерСерии | ИНАЧЕ 0 | КОНЕЦ) КАК КоличествоРасходВШт | ИЗ | РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор {(&Периодичность)}, ДвиженияИГраницыПериода, ) КАК ТоварыНаСкладахОстаткиИОбороты | ПОЛНОЕ СОЕДИНЕНИЕ ТаблицаСерий КАК ТаблицаСерий | ПО ТоварыНаСкладахОстаткиИОбороты.СерияНоменклатуры = ТаблицаСерий.СерияНоменклатуры | | СГРУППИРОВАТЬ ПО | ТоварыНаСкладахОстаткиИОбороты.Регистратор, | ТоварыНаСкладахОстаткиИОбороты.СерияНоменклатуры, | ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры, | ТоварыНаСкладахОстаткиИОбороты.Качество, | ТоварыНаСкладахОстаткиИОбороты.Период, | ТоварыНаСкладахОстаткиИОбороты.Номенклатура, | ТоварыНаСкладахОстаткиИОбороты.Склад) КАК ВложенныйЗапрос |{ГДЕ | ВложенныйЗапрос.Склад.*, | ВложенныйЗапрос.Номенклатура.*, | ВложенныйЗапрос.Качество.*, | ВложенныйЗапрос.ХарактеристикаНоменклатуры.*, | ВложенныйЗапрос.СерияНоменклатуры.*, | ВложенныйЗапрос.КоличествоНачальныйОстаток, | ВложенныйЗапрос.КоличествоПриход, | ВложенныйЗапрос.КоличествоРасход, | ВложенныйЗапрос.КоличествоОборот, | ВложенныйЗапрос.КоличествоКонечныйОстаток, | ВложенныйЗапрос.КоличествоНачальныйОстатокВШт, | ВложенныйЗапрос.КоличествоПриходВШт, | ВложенныйЗапрос.КоличествоРасходВШт, | ВложенныйЗапрос.КоличествоОборотВШт, | ВложенныйЗапрос.КоличествоКонечныйОстатокВШт, | ВложенныйЗапрос.Период, | (НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕНЬ)) КАК ПериодДень, | (НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, НЕДЕЛЯ)) КАК ПериодНеделя, | (НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕКАДА)) КАК ПериодДекада, | (НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, МЕСЯЦ)) КАК ПериодМесяц, | (НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, КВАРТАЛ)) КАК ПериодКвартал, | (НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ПОЛУГОДИЕ)) КАК ПериодПолугодие, | (НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ГОД)) КАК ПериодГод} |{УПОРЯДОЧИТЬ ПО | Склад.*, | Номенклатура.*, | Качество.*, | ХарактеристикаНоменклатуры.*, | СерияНоменклатуры.*, | КоличествоНачальныйОстаток, | КоличествоПриход, | КоличествоРасход, | КоличествоОборот, | КоличествоКонечныйОстаток, | КоличествоНачальныйОстатокВШт, | КоличествоПриходВШт, | КоличествоРасходВШт, | КоличествоОборотВШт, | КоличествоКонечныйОстатокВШт, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод} |ИТОГИ | СУММА(КоличествоНачальныйОстаток), | СУММА(КоличествоПриход), | СУММА(КоличествоРасход), | СУММА(КоличествоОборот), | СУММА(КоличествоКонечныйОстаток), | СУММА(КоличествоНачальныйОстатокВШт), | СУММА(КоличествоПриходВШт), | СУММА(КоличествоРасходВШт), | СУММА(КоличествоОборотВШт), | СУММА(КоличествоКонечныйОстатокВШт) |ПО | ОБЩИЕ |{ИТОГИ ПО | Склад.*, | Номенклатура.*, | Качество.*, | ХарактеристикаНоменклатуры.*, | СерияНоменклатуры.*, | Регистратор.*, | Период, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод}"; Запрос.Текст=ТекстЗапроса; Рез=Запрос.Выполнить(); Таблица=Рез.Выгрузить(); //УниверсальныйОтчет.ПостроительОтчета.Текст = ТекстЗапроса; ИсточникДанных=Новый ОписаниеИсточникаДанных(Таблица); ИсточникДанных.Колонки.Склад.Измерение = истина; ИсточникДанных.Колонки.Номенклатура.Измерение = истина; ИсточникДанных.Колонки.ХарактеристикаНоменклатуры.Измерение = истина; ИсточникДанных.Колонки.СерияНоменклатуры.Измерение = истина; ИсточникДанных.Колонки.Качество.Измерение = истина; УниверсальныйОтчет.ПостроительОтчета.ИсточникДанных=ИсточникДанных; УниверсальныйОтчет.ПостроительОтчета.ЗаполнитьНастройки(); УниверсальныйОтчет.ПостроительОтчета.ПолучитьЗапрос().УстановитьПараметр("ВнешТаб", ТаблицаСерий); УниверсальныйОтчет.ПостроительОтчета.РазмещениеИтоговВСтроках=ТипРазмещенияИтогов.Заголовок; УниверсальныйОтчет.ПостроительОтчета.РазмещениеИзмеренийВСтроках=ТипРазмещенияИзмерений.Вместе; УниверсальныйОтчет.ПостроительОтчета.ИзмеренияСтроки.Очистить(); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Склад", "Склад"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Номенклатура", "Номенклатура"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ХарактеристикаНоменклатуры", "Характеристика номенклатуры"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("СерияНоменклатуры", "Серия номенклатуры"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Качество", "Качество"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Регистратор", "Документ движения(регистратор)"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КоличествоНачальныйОстаток", "Количество (в базовых единицах) (нач. ост.)"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КоличествоПриход", "Количество (в базовых единицах) (приход)"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КоличествоРасход", "Количество (в базовых единицах) (расход)"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КоличествоКонечныйОстаток", "Количество (в базовых единицах) (кон. ост.)"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КоличествоОборот", "Количество (в базовых единицах) (оборот)"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КоличествоНачальныйОстатокВШт", "Количество (в шт.) (нач. ост.)"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КоличествоПриходВШт", "Количество (в шт.) (приход)"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КоличествоРасходВШт", "Количество (в шт.) (расход)"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КоличествоКонечныйОстатокВШт", "Количество (в шт.) (кон. ост.)"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КоличествоОборотВШт", "Количество (в шт.) (оборот)"); УниверсальныйОтчет.ДобавитьПоказатель("КоличествоНачальныйОстаток", "Начальный остаток", Истина, "ЧЦ=15; ЧДЦ=3", "КолБазовыхЕд", "Количество (в базовых единицах)"); УниверсальныйОтчет.ДобавитьПоказатель("КоличествоПриход", "Приход", Истина, "ЧЦ=15; ЧДЦ=3", "КолБазовыхЕд", "Количество (в базовых единицах)"); УниверсальныйОтчет.ДобавитьПоказатель("КоличествоРасход", "Расход", Истина, "ЧЦ=15; ЧДЦ=3", "КолБазовыхЕд", "Количество (в базовых единицах)"); УниверсальныйОтчет.ДобавитьПоказатель("КоличествоКонечныйОстаток", "Конечный остаток", Истина, "ЧЦ=15; ЧДЦ=3", "КолБазовыхЕд", "Количество (в базовых единицах)"); УниверсальныйОтчет.ДобавитьПоказатель("КоличествоОборот", "Оборот", Ложь, "ЧЦ=15; ЧДЦ=3", "КолБазовыхЕд", "Количество (в базовых единицах)"); УниверсальныйОтчет.ДобавитьПоказатель("КоличествоНачальныйОстатокВШт", "Начальный остаток", Истина, "ЧЦ=15; ЧДЦ=3", "КолБазовыхЕдВШт", "Количество (в шт.)"); УниверсальныйОтчет.ДобавитьПоказатель("КоличествоПриходВШт", "Приход", Истина, "ЧЦ=15; ЧДЦ=3", "КолБазовыхЕдВШт", "Количество (в шт.)"); УниверсальныйОтчет.ДобавитьПоказатель("КоличествоРасходВШт", "Расход", Истина, "ЧЦ=15; ЧДЦ=3", "КолБазовыхЕдВШт", "Количество (в шт.)"); УниверсальныйОтчет.ДобавитьПоказатель("КоличествоКонечныйОстатокВШт", "Конечный остаток", Истина, "ЧЦ=15; ЧДЦ=3", "КолБазовыхЕдВШт", "Количество (в шт.)"); УниверсальныйОтчет.ДобавитьПоказатель("КоличествоОборотВШт", "Оборот", Ложь, "ЧЦ=15; ЧДЦ=3", "КолБазовыхЕдВШт", "Количество (в шт.)"); УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Склад"); УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Номенклатура"); УниверсальныйОтчет.ДобавитьОтбор("Склад"); УниверсальныйОтчет.ДобавитьОтбор("Номенклатура"); // Установка представлений полей УниверсальныйОтчет.УстановитьПредставленияПолей(УниверсальныйОтчет.мСтруктураПредставлениеПолей, УниверсальныйОтчет.ПостроительОтчета); // Установка типов значений свойств в отборах отчета УниверсальныйОтчет.УстановитьТипыЗначенийСвойствДляОтбора(); // Заполнение начальных настроек универсального отчета УниверсальныйОтчет.УстановитьНачальныеНастройки(Ложь); КонецПроцедуры // УстановитьНачальныеНастройки() может что то неправильно делаю? |
|||
4
le_
23.03.12
✎
10:08
|
1.
ТаблицаСерий.Колонки.Добавить("Серия", Новый ОписаниеТипов("СправочникСсылка.СерииНоменклатуры"));
2. Все это дело можно перенести в запрос: Пока Выборка.Следующий() цикл
3. Для чего создается МенеджерВременныхТаблиц? 4. Добавьте Итоги в колонки описания источника данных. Поиск в СП: КолонкаОписанияИсточникаДанных. v8: Построитель запроса с источником данных ТаблицаЗапроса |
|||
5
Anchel74
23.03.12
✎
11:37
|
(4) к п.2 и 3: Т.к в запросе невозможно привести строку к числу, для этого осуществляем преобразование отдельно, и потому и создаем менеджер временных таблиц
к п. 4: вот именно это и помогло, надо было для каждого показателя такую вот строчку писать: ИсточникДанных.Колонки.КоличествоНачальныйОстаток.Итог = "СУММА(КоличествоНачальныйОстаток)"; |
|||
6
le_
23.03.12
✎
11:55
|
(5) Просто, всё можно сделать в одном запросе (пусть, с временной таблицей), без менеджера временных таблиц.
Менеджер временных таблиц нужен, когда разные запросы к какой-то временной таблице обращаются. Он хранит ВТ до тех пор, пока не будет уничтожен или закрыт. СП: Если временная таблица создается, используется и уничтожается в рамках одного пакета запросов, менеджер временных таблиц создавать не нужно. |
|||
7
Anchel74
23.03.12
✎
12:17
|
(6) подскажите тогда, как сделать проще? просто первый раз работаю с временными таблицами
|
|||
8
le_
23.03.12
✎
12:51
|
(7) Ну, вот пример простого пакетного запроса с временными таблицами без использования менеджера временных таблиц:
ВЫБРАТЬ//это первый пакет
|
|||
9
Anchel74
23.03.12
✎
12:58
|
(8) ну это то я знаю, но мне то надо чтобы извне таблица значений помещалась во временную таблицу, а кроме как менеджера я не знаю как это сделать
|
|||
10
le_
23.03.12
✎
13:05
|
(9) Пример:
Процедура КнопкаВыполнитьНажатие(Кнопка)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |