|
Помогите с отчетом на 8.2 | ☑ | ||
---|---|---|---|---|
0
irlandets1980
20.01.11
✎
13:18
|
Нужно научится делать отчеты в 8.2 вручную без СКД
пишу так: &НаКлиенте Процедура Сформировать(Команда) ТабДок = ТабДок;//поле табличного документа Отчет1(ТабДок); КонецПроцедуры &Насервере Процедура Отчет1(ТабДок) Экспорт //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Макет = Отчеты.Отчет.ПолучитьМакет("Макет1"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОстаткиМатериалов.Материал, | ОстаткиМатериалов.Количество |ИЗ | РегистрНакопления.ОстаткиМатериалов КАК ОстаткиМатериалов"; Результат = Запрос.Выполнить(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы"); ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали"); ТабДок.Очистить(); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапкаТаблицы); ТабДок.НачатьАвтогруппировкуСтрок(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи); ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень()); КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.Вывести(ОбластьПодвалТаблицы); ТабДок.Вывести(ОбластьПодвал); //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА КонецПроцедуры получаю ошибку: {Отчет.Отчет.Форма.ФормаОтчета.Форма(34)}: Значение не является значением объектного типа (Очистить) ТабДок.Очистить() Что делать? |
|||
1
Dmitriy_76
20.01.11
✎
13:22
|
ТабДок = ТабДок;//поле табличного документа
это че за строка ? |
|||
2
irlandets1980
20.01.11
✎
13:46
|
упс... описался
ТабДок = Элементы.ТабДОк; и ошибка теперь: {Отчет.Отчет.Форма.ФормаОтчета.Форма(7)}: Ошибка при вызове метода контекста (Отчет1) Элементы.Табдок = Отчет1(ТабДок1); по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Запись значения свойства 'param': форма: Элемент имя: {http://v8.1c.ru/8.2/managed-application/modules}param по причине: Ошибка отображения типов: Отсутствует отображение для типа 'ПолеФормы' |
|||
3
Ns33
20.01.11
✎
13:52
|
ТабДок = Отчет1();
|
|||
4
irlandets1980
20.01.11
✎
13:55
|
не понял.
Но синтаксис проверку не проходит Отчет.Отчет.Форма.ФормаОтчета.Форма(6,11)}: Недостаточно фактических параметров (Отчет1) ТабДок = <<?>>Отчет1(); (Проверка: Тонкий клиент) |
|||
5
Ns33
20.01.11
✎
14:00
|
Сделай процедуру функцией без параметров, в ней
ТабДок=Новый ТабличныйДокумент; и верни его в конце. |
|||
6
Бубр
20.01.11
✎
14:07
|
ТабДок = Новый ТабличныйДокумент;//поле табличного документа
|
|||
7
irlandets1980
20.01.11
✎
14:18
|
&НаКлиенте
Процедура Сформировать(Команда) ТабДок = Отчет1(); //Отчет1(ТабДок); КонецПроцедуры &Насервере Функция Отчет1() Экспорт //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! ТабДок=Новый ТабличныйДокумент; Макет = Отчеты.Отчет.ПолучитьМакет("Макет1"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОстаткиМатериалов.Материал, | ОстаткиМатериалов.Количество |ИЗ | РегистрНакопления.ОстаткиМатериалов КАК ОстаткиМатериалов"; Результат = Запрос.Выполнить(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы"); ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали"); ТабДок.Очистить(); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапкаТаблицы); ТабДок.НачатьАвтогруппировкуСтрок(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи); ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень()); КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.Вывести(ОбластьПодвалТаблицы); ТабДок.Вывести(ОбластьПодвал); Возврат ТабДок //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА КонецФункции запрос не выводится |
|||
8
Wobland
20.01.11
✎
14:23
|
ТабДок.Показать()?
|
|||
9
irlandets1980
20.01.11
✎
14:25
|
уря! получилось )
&НаКлиенте Процедура Сформировать(Команда) ТабДок = Отчет1(); ТабДок.Показать() КонецПроцедуры Огромное спасибо) |
|||
10
irlandets1980
20.01.11
✎
14:29
|
но есть но запрос выводится в новый таб док.Это конечно вариант но хотелось бы вывести не в новый а в табличный документ который в форме отчета
|
|||
11
Wobland
20.01.11
✎
14:31
|
ТабДок=ЭлементыФормы.<КудаНадо> - это 8.1
|
|||
12
Wobland
20.01.11
✎
14:32
|
(11) это вместо Новый ТабличныйДокумент. а у тебя ж на сервере формируется...
|
|||
13
Wobland
20.01.11
✎
14:33
|
передавать на сервер элемент формы? туговато у меня с 8.2
|
|||
14
irlandets1980
20.01.11
✎
14:34
|
да в 8.1 у меня бы не было вопросов но эти управляемые формы......
все решил): &НаКлиенте Процедура Сформировать(Команда) ТабДок = Отчет1(); //ТабДок.Показать() //Отчет1(ТабДок); КонецПроцедуры &Насервере Функция Отчет1() Экспорт //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! //ТабДок=Новый ТабличныйДокумент; ТабДок=ТД;//реквизит отчета с типом табличный документ Макет = Отчеты.Отчет.ПолучитьМакет("Макет1"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОстаткиМатериалов.Материал, | ОстаткиМатериалов.Количество |ИЗ | РегистрНакопления.ОстаткиМатериалов КАК ОстаткиМатериалов"; Результат = Запрос.Выполнить(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы"); ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали"); ТабДок.Очистить(); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапкаТаблицы); ТабДок.НачатьАвтогруппировкуСтрок(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи); ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень()); КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.Вывести(ОбластьПодвалТаблицы); ТабДок.Вывести(ОбластьПодвал); Возврат ТабДок //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА КонецФункции Спасибо!) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |