|
Как и всегда.Внешняя обработка. | ☑ | ||
---|---|---|---|---|
0
Slava685
09.09.16
✎
11:21
|
Никак не могу вывести форму.Я ещё чайник в 1с и поэтому прошу помощи.
Есть код. В модуле объекта Функция Печать(ТекДок) Экспорт ТекДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("Макет"); ОбластьШапки = Макет.ПолучитьОбласть("Шапка"); ОбластьШапки.Параметры.Дата = СсылкаНаОбъект.Дата; ОбластьШапки.Параметры.Номер = СсылкаНаобъект.Номер; Текдок.Вывести(ОбластьШапки); КонецФункции И всё это я экспортирую на сервер через кнопку &НаСервере Функция ПоказатьФормуНаСервере(ТекДок) ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); ОбработкаОбъект.Печать("Макет"); ТекДок.Показать("Макет"); КонецФункции &НаКлиенте Процедура ПоказатьФорму(Команда) ПоказатьФормуНаСервере("ФормаПропуск"); КонецПроцедуры Ошибка такая {ВнешняяОбработка.Пропускная.Форма.ФормаПропуск.Форма(15)}: Значение не является значением объектного типа (Показать) ТекДок.Показать("Макет"); Не пойму как вывести на сервере |
|||
1
Dmitrith
09.09.16
✎
11:24
|
На сервере некому показывать твой макет. У сервера нет глаз.
|
|||
2
Slava685
09.09.16
✎
11:27
|
Значит я так понимаю это делается на клиенте?
|
|||
3
artems
09.09.16
✎
11:28
|
Передай с сервера на клиент и покажи.
|
|||
4
Slava685
09.09.16
✎
11:32
|
В том то и дело я не понимаю как.
|
|||
5
LordCMEPTb
09.09.16
✎
11:33
|
Либо в функции модуля объекта менять входящий параметр на "ИмяМакета", который использовать при "ПолучитьМакет", а затем возвращать ТекДок, либо в вызове этой функции передавать ТекДок, а не имя макета.
Ну и надо иметь ввиду, что показать табличный документ можно только на клиенте, а формируется он на сервере. |
|||
6
Slava685
09.09.16
✎
11:33
|
&НаСервере
Функция ПоказатьФормуНаСервере(ТекДок) ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); КонецФункции &НаКлиенте Функция ПоказатьФорму(ТекДок,Команда) ПоказатьФормуНаСервере("ФормаПропуск"); ТабДок = Новый ТабличныйДокумент; КонецФункции Теперь ошибок не выдаёт,но печать не выводит)))) |
|||
7
sitex
naïve
09.09.16
✎
11:34
|
(6) в функцию то возврат то добавь. И может ты процедуру и функцию местами поменяешь в итоге
|
|||
8
sitex
naïve
09.09.16
✎
11:35
|
(6) перечитай еще раз пост (1)
|
|||
9
Slava685
09.09.16
✎
11:36
|
Секунду
|
|||
10
Slava685
09.09.16
✎
11:37
|
(7) На сервере процедура а на клиенте функция?
|
|||
11
artems
09.09.16
✎
11:38
|
Логика такая
&НаСервере Функция СформироватьТабДок() // Формируешь табличный документ .... .... Возврат ТабДок; КонецФункции &НаКлиенте Процедура ПоказатьТабДок() Табдок = СформироватьТабДок(); ТабДок.Показать(); КонецПроцедуры |
|||
12
Slava685
09.09.16
✎
11:46
|
(11) Таб.Док.Показать(Какой параметр должен здесь стоять??)
|
|||
13
Метранпаж
09.09.16
✎
11:47
|
(12) Можно никакого.
А вообще - ну прочти справку. Или тебе сюда скопировать кусок? |
|||
14
Slava685
09.09.16
✎
11:47
|
(11) Макет?Потому что значение не является объектного типа.
|
|||
15
Slava685
09.09.16
✎
11:50
|
Хочу всё таки разобраться.У нас с модуля возвращается ТекДок.Теперь мне его нужно сформировать на сервере.Потом кинуть на клиент.Я понимать понимаю а как написать не знаю.Полный булщит.Как мне сформировать на сервере?До клиента ещё рановато.Нужно разобраться с сервером.
&НаСервере Функция ПоказатьФормуНаСервере(ТекДок) ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); Возврат ТекДок; КонецФункции &НаКлиенте Функция ПоказатьФорму(ТабкДок,Команда) ТекДок = ПоказатьФормуНаСервере(Текдок); ТекДок.Показать(); КонецФункции |
|||
16
Slava685
09.09.16
✎
11:52
|
Сижу с книгой 1с но вижу огромный просто ФИГ
|
|||
17
Метранпаж
09.09.16
✎
11:54
|
&НаСервере
Функция ПоказатьФормуНаСервере(ТекДок) ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); макет = ОбработкаОбъект.ПолучиьтМакет("Макет"); табДок = Новый ТабличныйДокумент; табДок.Вывести(макет); Возврат ТабДок; КонецФункции &НаКлиенте Функция ПоказатьФорму(ТабкДок,Команда) ТабДок = ПоказатьФормуНаСервере(Текдок); ТабДок.Показать(); КонецФункции |
|||
18
Slava685
09.09.16
✎
11:58
|
(17) На клиенте при вызове серверной функции выдаёт ошибку
{ВнешняяОбработка.Пропускная.Форма.ФормаПропуск.Форма(22,34)}: Переменная не определена (Текдок) ТабДок = ПоказатьФормуНаСервере(<<?>>Текдок); (Проверка: Тонкий клиент) |
|||
19
Mankubus
09.09.16
✎
12:00
|
(18) а может подумать а не тупо копипастить?
ТабДок = ПоказатьФормуНаСервере(ТабкДок); |
|||
20
sitex
naïve
09.09.16
✎
12:01
|
(19) В это в точку!
|
|||
21
Slava685
09.09.16
✎
12:02
|
(19) Я уже подумал и переделал)) Запускаю на платформе.Теперь там уже ошибка.
{ВнешняяОбработка.Пропускная.Форма.ФормаПропуск.Форма(16)}: Ошибка при вызове метода контекста (Вывести) табДок.Вывести("Макет"); по причине: Несоответствие типов (параметр номер '1') Что это за параметр? |
|||
22
Slava685
09.09.16
✎
12:03
|
Почему типы не соответствуют.И тут и там табличные доки.
|
|||
23
Метранпаж
09.09.16
✎
12:04
|
(21) табДок.Вывести(макет);
откуда ты кавычки взял? |
|||
24
Slava685
09.09.16
✎
12:06
|
23 Упс.Привычка.
|
|||
25
Slava685
09.09.16
✎
12:11
|
Не понимаю почему но он ругается на ТабДок.Показать();
&НаКлиенте Функция ПоказатьФорму(ТабкДок,Команда) ТабДок = ПоказатьФормуНаСервере(ТабДок); ТабДок.Показать(); КонецФункции Пишет что значение не является значением объектного типа (Показать) ТабДок.Показать(ТабДок); |
|||
26
Slava685
09.09.16
✎
12:12
|
Вбивал макет но бестолку.
|
|||
27
Slava685
09.09.16
✎
12:16
|
Всё разобрался.У меня просто глаза обшиты.Спасибо большое всем вам)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |