|
Значение не является значением объектного типа | ☑ | ||
---|---|---|---|---|
0
progaoff
17.11.16
✎
14:39
|
Макет = ПолучитьМакет("Макет");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка"); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьЗаголовок1 = Макет.ПолучитьОбласть("Заголовок1"); ОбластьДанные = Макет.ПолучитьОбласть("Данные"); ОбластьИтоги = Макет.ПолучитьОбласть("Итоги"); Выдает ошибку Значение не является значением объектного типа. Хотя ничего не менялось |
|||
1
Timon1405
17.11.16
✎
14:41
|
продолжайте наблюдения
|
|||
2
Ёпрст
17.11.16
✎
14:41
|
точное описание ошибки покажи
|
|||
3
Ёпрст
17.11.16
✎
14:42
|
и.. макет получай через
|
|||
4
Ёпрст
17.11.16
✎
14:42
|
ВнешОбработка.ПолучитьОбъект
|
|||
5
Ёпрст
17.11.16
✎
14:44
|
ну и для уф в серверной проце
РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет"); |
|||
6
progaoff
17.11.16
✎
15:02
|
(2) {Форма.ФормаОтчета.Форма(9)}: Значение не является значением объектного типа (ПолучитьОбласть)
ОбластьШапка = Макет.ПолучитьОбласть("Шапка"); |
|||
7
lera01
17.11.16
✎
15:10
|
А у тебя там нигде реквизит Макет не используется?
|
|||
8
progaoff
17.11.16
✎
15:12
|
(7) нет
|
|||
9
Ёпрст
17.11.16
✎
15:13
|
(6) обычные формы ? основной реквищит формы есть ?
|
|||
10
progaoff
17.11.16
✎
15:14
|
(9) Нашел) спасибо за полсказку (9)
|
|||
11
progaoff
17.11.16
✎
15:15
|
подсказку*
|
|||
12
progaoff
17.11.16
✎
15:17
|
Еще вопрос можно?) (9)
|
|||
13
Ёпрст
17.11.16
✎
15:20
|
спрашивайте
|
|||
14
progaoff
17.11.16
✎
15:21
|
в табличном документе в моем случае, как можно свернуть товары по группам?
|
|||
15
Ёпрст
17.11.16
✎
15:22
|
(14) дык начатьГруппировкуСтрок
|
|||
16
Ёпрст
17.11.16
✎
15:22
|
НачатьГруппуСтрок, точнее
|
|||
17
progaoff
17.11.16
✎
15:23
|
Процедура КнопкаСформироватьНажатие(Кнопка)
ТабличныйДокумент = ЭлементыФормы.ПолеТабличногоДокумента1; ТабличныйДокумент.Очистить(); Макет = ПолучитьМакет("Макет"); ОбластьШапка = Макет.ПолучитьОбласть("Шапка"); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьЗаголовок1 = Макет.ПолучитьОбласть("Заголовок1"); ОбластьДанные = Макет.ПолучитьОбласть("Данные"); ОбластьИтоги = Макет.ПолучитьОбласть("Итоги"); Запрос = Новый Запрос; Запрос.Текст ="ВЫБРАТЬ | ИнвентаризацияТовары.Номенклатура КАК Номенклатура, | СУММА(ИнвентаризацияТовары.КоличествоКнижн) КАК КоличествоКнижн, | СУММА(ИнвентаризацияТовары.СуммаКнижн) КАК СуммаКнижн, | СУММА(ИнвентаризацияТовары.КоличествоФакт) КАК КоличествоФакт, | СУММА(ИнвентаризацияТовары.СуммаФакт) КАК СуммаФакт, | СУММА(ИнвентаризацияТовары.КоличествоКнижн - ИнвентаризацияТовары.КоличествоФакт) КАК РазницаКоличество, | СУММА(ИнвентаризацияТовары.СуммаКнижн - ИнвентаризацияТовары.СуммаФакт) КАК РазницаПоСумме, | СУММА(ВЫБОР | КОГДА ИнвентаризацияТовары.КоличествоКнижн > ИнвентаризацияТовары.КоличествоФакт | ТОГДА ИнвентаризацияТовары.КоличествоКнижн - ИнвентаризацияТовары.КоличествоФакт | ИНАЧЕ 0 | КОНЕЦ) КАК Недостача, | СУММА(ВЫБОР | КОГДА ИнвентаризацияТовары.КоличествоКнижн < ИнвентаризацияТовары.КоличествоФакт | ТОГДА ИнвентаризацияТовары.КоличествоФакт - ИнвентаризацияТовары.КоличествоКнижн | ИНАЧЕ 0 | КОНЕЦ) КАК Излишки, | СУММА(ВЫБОР | КОГДА ИнвентаризацияТовары.СуммаКнижн > ИнвентаризацияТовары.СуммаФакт | ТОГДА ИнвентаризацияТовары.СуммаКнижн - ИнвентаризацияТовары.СуммаФакт | ИНАЧЕ 0 | КОНЕЦ) КАК НедостачаПоСумме, | СУММА(ВЫБОР | КОГДА ИнвентаризацияТовары.СуммаКнижн < ИнвентаризацияТовары.СуммаФакт | ТОГДА ИнвентаризацияТовары.СуммаФакт - ИнвентаризацияТовары.СуммаКнижн | ИНАЧЕ 0 | КОНЕЦ) КАК ИзлишкиПоСумме, | ИнвентаризацияТовары.Цена КАК ЦенаЗакупки, | Инвентаризация.Ссылка, | Инвентаризация.СкладКомпании |ПОМЕСТИТЬ ТабИнвентаризация |ИЗ | Документ.Инвентаризация КАК Инвентаризация | ЛЕВОЕ СОЕДИНЕНИЕ Документ.Инвентаризация.Товары КАК ИнвентаризацияТовары | ПО Инвентаризация.Ссылка = ИнвентаризацияТовары.Ссылка |ГДЕ | Инвентаризация.Ссылка = &Документ | |СГРУППИРОВАТЬ ПО | ИнвентаризацияТовары.Номенклатура, | ИнвентаризацияТовары.Цена, | Инвентаризация.Ссылка, | Инвентаризация.СкладКомпании |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ОстаткиТоваровКомпании.Номенклатура, | СУММА(ОстаткиТоваровКомпании.Количество) КАК Количество, | СУММА(ОстаткиТоваровКомпании.СуммаРозн) КАК СуммаРозн, | СУММА(0) КАК Поле1, | СУММА(0) КАК Поле2, | СУММА(0) КАК Поле3, | СУММА(0) КАК Поле4, | СУММА(0) КАК Поле5, | СУММА(0) КАК Поле6, | СУММА(0) КАК Поле7, | СУММА(0) КАК Поле8, | СУММА(0) КАК Поле9, | ОстаткиТоваровКомпании.ХозОперация |ПОМЕСТИТЬ ТабПревышения |ИЗ | РегистрНакопления.ОстаткиТоваровКомпании КАК ОстаткиТоваровКомпании |ГДЕ | ОстаткиТоваровКомпании.Период МЕЖДУ &НачалоПериода И &КонецПериода | И ОстаткиТоваровКомпании.ХозОперация = &ХозОперация | И ОстаткиТоваровКомпании.Номенклатура В ИЕРАРХИИ(&Номенклатура) | И ОстаткиТоваровКомпании.СкладКомпании = &Склад | |СГРУППИРОВАТЬ ПО | ОстаткиТоваровКомпании.Номенклатура, | ОстаткиТоваровКомпании.ХозОперация |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТабИнвентаризация.Номенклатура КАК Номенклатура, | ЕСТЬNULL(ТабИнвентаризация.КоличествоКнижн, 0) КАК КоличествоКнижн, | ЕСТЬNULL(ТабИнвентаризация.СуммаКнижн, 0) КАК СуммаКнижн, | ЕСТЬNULL(ТабИнвентаризация.КоличествоФакт, 0) КАК КоличествоФакт, | ЕСТЬNULL(ТабИнвентаризация.СуммаФакт, 0) КАК СуммаФакт, | ЕСТЬNULL(ТабИнвентаризация.РазницаКоличество, 0) КАК РазницаКоличество, | ЕСТЬNULL(ТабИнвентаризация.РазницаПоСумме, 0) КАК РазницаПоСумме, | ЕСТЬNULL(ТабПревышения.Количество, 0) КАК Количество, | ЕСТЬNULL(ТабПревышения.СуммаРозн, 0) КАК СуммаРозн, | ЕСТЬNULL(ТабИнвентаризация.Недостача, 0) КАК Недостача, | ЕСТЬNULL(ТабИнвентаризация.Излишки, 0) КАК Излишки, | ЕСТЬNULL(ТабИнвентаризация.НедостачаПоСумме, 0) КАК НедостачаПоСумме, | ЕСТЬNULL(ТабИнвентаризация.ИзлишкиПоСумме, 0) КАК ИзлишкиПоСумме, | ЕСТЬNULL(ТабИнвентаризация.ЦенаЗакупки, 0) КАК ЦенаЗакупки, | ТабИнвентаризация.Номенклатура.Родитель.Родитель КАК Группа |ИЗ | ТабИнвентаризация КАК ТабИнвентаризация | ЛЕВОЕ СОЕДИНЕНИЕ ТабПревышения КАК ТабПревышения | ПО ТабИнвентаризация.Номенклатура = ТабПревышения.Номенклатура | |СГРУППИРОВАТЬ ПО | ТабИнвентаризация.Номенклатура, | ЕСТЬNULL(ТабПревышения.Количество, 0), | ЕСТЬNULL(ТабПревышения.СуммаРозн, 0), | ТабИнвентаризация.Номенклатура.Родитель.Родитель, | ЕСТЬNULL(ТабИнвентаризация.КоличествоКнижн, 0), | ЕСТЬNULL(ТабИнвентаризация.СуммаКнижн, 0), | ЕСТЬNULL(ТабИнвентаризация.КоличествоФакт, 0), | ЕСТЬNULL(ТабИнвентаризация.СуммаФакт, 0), | ЕСТЬNULL(ТабИнвентаризация.РазницаКоличество, 0), | ЕСТЬNULL(ТабИнвентаризация.РазницаПоСумме, 0), | ЕСТЬNULL(ТабИнвентаризация.Недостача, 0), | ЕСТЬNULL(ТабИнвентаризация.Излишки, 0), | ЕСТЬNULL(ТабИнвентаризация.НедостачаПоСумме, 0), | ЕСТЬNULL(ТабИнвентаризация.ИзлишкиПоСумме, 0), | ЕСТЬNULL(ТабИнвентаризация.ЦенаЗакупки, 0) |ИТОГИ | СУММА(КоличествоКнижн), | СУММА(СуммаКнижн), | СУММА(КоличествоФакт), | СУММА(СуммаФакт), | СУММА(РазницаКоличество), | СУММА(РазницаПоСумме), | СУММА(Количество), | СУММА(СуммаРозн), | СУММА(Недостача), | СУММА(Излишки), | СУММА(НедостачаПоСумме), | СУММА(ИзлишкиПоСумме), | СУММА(ЦенаЗакупки) |ПО | | Номенклатура |АВТОУПОРЯДОЧИВАНИЕ"; СписокНоменклатуры = Новый СписокЗначений; СписокНоменклатуры.Добавить(Справочники.Номенклатура.НайтиПоКоду("00028934")); СписокНоменклатуры.Добавить(Справочники.Номенклатура.НайтиПоКоду("00020940")); СписокНоменклатуры.Добавить(Справочники.Номенклатура.НайтиПоКоду("00000029")); СписокНоменклатуры.Добавить(Справочники.Номенклатура.НайтиПоКоду("00028743")); СписокНоменклатуры.Добавить(Справочники.Номенклатура.НайтиПоКоду("00028688")); Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода); Запрос.УстановитьПараметр("КонецПериода" , КонецПериода); Запрос.УстановитьПараметр("ХозОперация" , Справочники.ХозОперации.НайтиПоКоду("020503")); Запрос.УстановитьПараметр("Номенклатура" , СписокНоменклатуры); Запрос.УстановитьПараметр("Документ" , Документ); Запрос.УстановитьПараметр("Склад" , Склад); ТабличныйДокумент.Вывести(ОбластьШапка); ТабличныйДокумент.Вывести(ОбластьЗаголовок); ТабличныйДокумент.Вывести(ОбластьЗаголовок1); Результат = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Номенклатура"); //ВыборкаОбщийИтог = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока Результат.Следующий() Цикл ТабличныйДокумент.НачатьАвтогруппировкуСтрок(); ОбластьДанные.Параметры.Номенклатура = Результат.Номенклатура; ОбластьДанные.Параметры.КоличествоКнижн = Результат.КоличествоКнижн; ОбластьДанные.Параметры.СуммаКнижн = Результат.СуммаКнижн; ОбластьДанные.Параметры.КолФакт = Результат.КоличествоФакт; ОбластьДанные.Параметры.СуммаФакт = Результат.СуммаФакт; ОбластьДанные.Параметры.КолВоИзлишки = Результат.Излишки; ОбластьДанные.Параметры.СуммаИзлишки = Результат.ИзлишкиПоСумме; ОбластьДанные.Параметры.КолВоНедостача = Результат.Недостача; ОбластьДанные.Параметры.СуммаНедостача = Результат.НедостачаПоСумме; ОбластьДанные.Параметры.КоличествоПревышения= Результат.Количество; ОбластьДанные.Параметры.СуммаПревышения = Результат.СуммаРозн; ОбластьДанные.Параметры.КоличествоИтог = Результат.КоличествоФакт; ОбластьДанные.Параметры.СуммаИтог = Результат.СуммаФакт; ТабличныйДокумент.ПоказатьУровеньГруппировокСтрок(3); ТабличныйДокумент.Вывести(ОбластьДанные,2,Истина); ТабличныйДокумент.ЗакончитьАвтогруппировкуСтрок(); КонецЦикла; ТЗ = Запрос.Выполнить().Выгрузить(); ОбластьИтоги.Параметры.ИтогКоличество = ТЗ.Итог("КоличествоФакт"); ОбластьИтоги.Параметры.ИтогСуммаФакт = ТЗ.Итог("СуммаФакт"); ОбластьИтоги.Параметры.ИтогКоличествоКнижн = ТЗ.Итог("КоличествоКнижн"); ОбластьИтоги.Параметры.ИтогСуммаКнижн = ТЗ.Итог("СуммаКнижн"); ОбластьИтоги.Параметры.ИтогКолВоИзлишки = ТЗ.Итог("Излишки"); ОбластьИтоги.Параметры.ИтогСуммаИзлишки = ТЗ.Итог("ИзлишкиПоСумме"); ОбластьИтоги.Параметры.ИтогКолВоНедостача = ТЗ.Итог("Недостача"); ОбластьИтоги.Параметры.ИтогСуммаНедостача = ТЗ.Итог("НедостачаПоСумме"); ОбластьИтоги.Параметры.ИтогКоличествоПревышения= ТЗ.Итог("Количество"); ОбластьИтоги.Параметры.ИтогСуммаПревышения = ТЗ.Итог("СуммаРозн"); ТабличныйДокумент.Вывести(ОбластьИтоги); ТабличныйДокумент.ОтображатьГруппировки = Истина; ТабличныйДокумент.ОтображатьЗаголовки = Истина; КонецПроцедуры |
|||
18
Ёпрст
17.11.16
✎
15:26
|
ну или запихать запрос в построительотчета, он сам всё выведет как надо
|
|||
19
lera01
17.11.16
✎
15:26
|
Зачем ты ее в цикл впер?
|
|||
20
progaoff
17.11.16
✎
15:45
|
Все равно не сворачивает строки
|
|||
21
Ёпрст
17.11.16
✎
15:46
|
(20) сворачивать то нечего, обходи 2 группировки в результатах, а не одну, как сейчас.
|
|||
22
progaoff
17.11.16
✎
15:51
|
(21) ? можно носом ткнуть?
|
|||
23
Timon1405
17.11.16
✎
16:02
|
(22) сделайте новую обработку, вызовите в модуле в любом месте "конструктор запроса с обработкой результата", на первой вкладке укажите "вывод в табличный документ", скопируйте туда запрос, правильно сделайте группировки, платформа сама вам сделает макет и обход результата
|
|||
24
progaoff
17.11.16
✎
16:38
|
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы"); ОбластьНоменклатура = Макет.ПолучитьОбласть("Номенклатура"); ТабДок = ЭлементыФормы.ПолеТабличногоДокумента1; ТабДок.Очистить(); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапкаТаблицы); ТабДок.НачатьАвтогруппировкуСтрок(); ВыборкаНоменклатура = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаНоменклатура.Следующий() Цикл ОбластьНоменклатура.Параметры.Заполнить(ВыборкаНоменклатура); ТабДок.Вывести(ОбластьНоменклатура, ВыборкаНоменклатура.Уровень()); КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.Вывести(ОбластьПодвалТаблицы); ТабДок.Вывести(ОбластьПодвал); |
|||
25
progaoff
17.11.16
✎
16:40
|
(23) Сделал - конструктором. все равно не чем развернуть строки
|
|||
26
Ёпрст
17.11.16
✎
16:42
|
(24)
Пока ВыборкаНоменклатура.Следующий() Цикл ОбластьНоменклатура.Параметры.Заполнить(ВыборкаНоменклатура); ТабДок.Вывести(ОбластьНоменклатура, ВыборкаНоменклатура.Уровень()); ВыборкаДетальныеЗаписи = ВыборкаНоменклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаДетальныеЗаписи.Следующий Цикл ... ТабДок.Вывести(ОбластьНоменклатура, ВыборкаДетальныеЗаписи.Уровень()); КонецЦикла; КонецЦикла; |
|||
27
progaoff
17.11.16
✎
17:20
|
||||
28
progaoff
17.11.16
✎
17:21
|
Только группы без товаров(
|
|||
29
Ёпрст
17.11.16
✎
17:56
|
(28) дык во втором цикле заполни параметры области данными из второй выборки
|
|||
30
progaoff
18.11.16
✎
18:52
|
(29) Получается что вся номенклатура и такое же количество групп
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |