|
Печать табличной части внешней обработки | ☑ | ||
---|---|---|---|---|
0
tabarigen
01.09.15
✎
13:58
|
Есть внешняя обработка, на ней имеется табличная часть.
Пробую вывести ее на печать. Создал Макет во внешней обработке. гугл подсказал примерно следующее. &НаСервере Функция ПолучитьМакетНаСервере() Возврат РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет"); КонецФункции &НаСервере Процедура ПечатьНаСервере() // Вставить содержимое обработчика. ТабДокумент = Новый ТабличныйДокумент; Макет = ПолучитьМакетНаСервере(); ОбластьШапки = Макет.ПолучитьОбласть("Шапка"); ОбластьДанные = Макет.ПолучитьОбласть("Данные"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьШапки.Параметры.ДокументПоступления = Строка(ДокументПоступления); ТабДокумент.Вывести(ОбластьШапки); ТабДокумент.Показать(); КонецПроцедуры &НаКлиенте Процедура Печать(Команда) ПечатьНаСервере(); КонецПроцедуры Но данный код не выполняется, выдается ошибка {Форма.Форма.Форма(139)}: Ошибка при вызове метода контекста (Показать) ТабДокумент.Показать(); по причине: Метод недоступен на сервере Вопрос, есть ли ссылке по теме?? С радостью почитал бы документацию или посмотрел бы примерчик. Где выполняется печать?? На сервере или Наклиенте? |
|||
1
Cyberhawk
01.09.15
✎
13:59
|
Серверную процедуру замени на функцию, возвращающую ТабДок. Показывай его на клиенте
|
|||
2
Cyberhawk
01.09.15
✎
14:00
|
А на вопрос "Где выполняется печать?? На сервере или Наклиенте?" отвечу "Печать выполняется на принтере"
|
|||
3
tabarigen
01.09.15
✎
14:13
|
Парни извиняюсь, за нубский вопрос.
Как то так, получаться начало. &НаСервере Функция ПолучитьМакетНаСервере() Табдок = новый ТабличныйДокумент; ТекОбъект = РеквизитФормыВЗначение("Объект"); Макет = ТекОбъект.ПолучитьМакет("Макет"); ОбластьШапки = Макет.ПолучитьОбласть("Шапка"); ОбластьДанные = Макет.ПолучитьОбласть("Данные"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); //Возврат РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет"); ОбластьШапки.Параметры.ДокументПоступления = Строка(ДокументПоступления); ТабДок.Вывести(ОбластьШапки); Возврат Табдок; КонецФункции &НаКлиенте Процедура Печать(Команда) ТабДок = ПолучитьМакетНаСервере(); ТабДок.Показать(); КонецПроцедуры |
|||
4
tabarigen
01.09.15
✎
14:14
|
(1) Так и сделал
|
|||
5
tabarigen
01.09.15
✎
14:53
|
Ребят помогите добить обработку.
При выводе строк выводится только последняя строка. &НаСервере Функция ПолучитьМакетНаСервере() Табдок = новый ТабличныйДокумент; ТекОбъект = РеквизитФормыВЗначение("Объект"); Макет = ТекОбъект.ПолучитьМакет("Макет"); ОбластьШапки = Макет.ПолучитьОбласть("Шапка"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); //Возврат РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет"); ОбластьШапки.Параметры.ДокументПоступления = Строка(ДокументПоступления); ОбластьШапки.Параметры.Входящийномер = Строка(ДокументПоступления.НомерВходящегоДокумента); ОбластьШапки.Параметры.Организация = Строка(ДокументПоступления.Организация); ОбластьШапки.Параметры.Менеджер = ПолучитьТекущегоПользователя() ; ТабДок.Вывести(ОбластьШапки); ОбластьДанные = Макет.ПолучитьОбласть("Данные"); Для Каждого СтрокаТЧ ИЗ Объект.Товары Цикл ОбластьДанные.Параметры.Номер = СтрокаТЧ.Номер; ОбластьДанные.Параметры.Номенклатура = СтрокаТЧ.Номенклатура; ОбластьДанные.Параметры.Количество = СтрокаТЧ.Количество; //ОбластьДанные.Параметры.КоличествоФакт = СтрокаТЧ.КоличествоФакт; //ОбластьДанные.Параметры.Отклонение = СтрокаТЧ.Количество - СтрокаТЧ.КоличествоФакт; КонецЦикла; ТабДок.Вывести(ОбластьДанные); Возврат Табдок; КонецФункции |
|||
6
Kondarat
01.09.15
✎
14:56
|
ТабДок.Вывести(ОбластьДанные); - вставь в цикл
|
|||
7
tabarigen
01.09.15
✎
15:14
|
(6) упс.. Первую форму делаю, потому и наступаю на все грабли, которые быть могут.
Ну и наверное последний вопрос. На данный момент я вывожу данные ТЧ Объект.Товары. В этой ТЧ содержатся данные Документа поступления. Мне же нужно вывести данные ТЧ расположенные на форме, которая также содержит реквизиты введенные пользователями КоличествоПоФакту. |
|||
8
tabarigen
01.09.15
✎
17:47
|
Ну помогите народ, насколько я понял мне нужно передать данные с клиента на сервер (данные с формы), и потом обратно вывести на клиент?
|
|||
9
Мимохожий Однако
01.09.15
✎
17:58
|
Убери комментарий у строки
//ОбластьДанные.Параметры.КоличествоФакт = СтрокаТЧ.КоличествоФакт; |
|||
10
tabarigen
01.09.15
✎
19:14
|
(9)
{Форма.Форма.Форма(139)}: Поле объекта не обнаружено (КоличествоФакт) ОбластьДанные.Параметры.КоличествоФакт = СтрокаТЧ.КоличествоФакт; |
|||
11
tabarigen
01.09.15
✎
19:18
|
Упс.. Реквизит в ТЧ назывался КоличествоПоФакту, а в на форме просто КоличествоФакт, от того и была ошибка.
Тема закрыта, всем спасибо. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |