|
Обработка команды, модуль команды, как посмотреть табличный документ? | ☑ | ||
---|---|---|---|---|
0
VenikUltra Green
03.10.22
✎
14:07
|
Коллеги, добрый день.
Есть документ и у него есть команда. В модуле команды &НаКлиенте Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) ТабДок = Новый ТабличныйДокумент; ИмяФайла = "";//ВидПланаРабот.Наименование; Печать(ТабДок, ПараметрКоманды,ИмяФайла); Далее &НаСервере Процедура Печать(ТабДок, ПараметрКоманды,ИмяФайла) Процедура Печать формирует некий табличный документ, который потом записывает в файл эксель. А мне нужно, чтобы этот ТабДок показало мне на экране. Ну я пишу ТабДок.Показать(). Мне пишет нет такого на сервере. Я такой ну ок пишу вызов процедуры ПоказатьНаКлиенте(ТабДок) Дальше пишу &НаКлиенте Процедура ПоказатьНаКлиенте(ТабДок) ТабДок.Показать() КонецПроцедуры Пишет, что процедура ПоказатьНаКлиенте не определена. И всё тут. Пробовал с Экспорт - один буй не видит. В чём секрет этого модуля команды? Как вывести ТабДок на посмотреть? |
|||
1
PR
03.10.22
✎
14:36
|
(0) Все как насрали, мозг сломаешь, что там у тебя где
А по факту ты с сервера пытаешься вызвать клиент |
|||
2
VenikUltra Green
03.10.22
✎
14:39
|
ну да, так и есть. А как мне тогда посмотреть ТабДок?
Хочу вот так &НаСервере Процедура Печать() ПоказатьНаКлиенте(ТабДок) КонецПроцедуры &НаКлиенте Процедура ПоказатьНаКлиенте(ТабДок) ТабДок.Показать() КонецПроцедуры |
|||
3
Kassern
03.10.22
✎
14:41
|
(2) бедаа...
Должно быть так &НаКлиенте Процедура ПоказатьТабДок(ТабДок) ТабДок=ПолучитьТабдокНаСервере(); ТабДок.Показать(); КонецПроцедуры |
|||
4
VenikUltra Green
03.10.22
✎
14:42
|
Хотя находятся в одном модуле, пишет
{Документ.ПланРабот.Команда.Печать1.МодульКоманды(58,3)}: Процедура или функция с указанным именем не определена (ПоказатьНаКлиенте) <<?>>ПоказатьНаКлиенте(ТабДок,ИмяФайла); (Проверка: Сервер) |
|||
5
Kassern
03.10.22
✎
14:42
|
Запомните, что нельзя с сервера вызывать клиент, можно только наоборот.
|
|||
6
Kassern
03.10.22
✎
14:43
|
(4) см -> (5)
|
|||
7
VenikUltra Green
03.10.22
✎
14:44
|
беда и грусть...
|
|||
8
VenikUltra Green
03.10.22
✎
14:47
|
(5) это относится только к модулю команды или вообще ко всем модулям?
Директива &НаКлиентеНаСервере может помочь? |
|||
9
Мультук
гуру
03.10.22
✎
14:48
|
(8)
&НаКлиенте Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) ТабДок = Новый ТабличныйДокумент; ИмяФайла = "";//ВидПланаРабот.Наименование; Печать(ТабДок, ПараметрКоманды,ИмяФайла); ТабДок.Показать(); |
|||
10
Kassern
03.10.22
✎
14:48
|
(7) никакой беды нет, все логично и просто. Откуда серверу знать, что и куда выводить (Да и не умеет он)? У вас сервер 1, а клиентов может быть множество.
Поэтому вы на клиенте управляете сервером, а не наоборот. |
|||
11
Kassern
03.10.22
✎
14:48
|
(8) Вообще, просто запомните, сервер не вызывает клиент.
|
|||
12
Kassern
03.10.22
✎
14:49
|
+Но может возвращать результат своей работы на клиент, в виде реквизитов формы, либо в переменные.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |