ТабДок.Показать() в управляемом приложении

1. Новичок1с 4 15.12.16 19:41 Сейчас в теме
Доброго времени суток.
Конфигурация- управление ЖКХ, управляемое приложение.
Есть стандартный отчёт, где данные выводятся в табличный документ.

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	Сформировать(ДокументРезультат);
КонецПроцедуры
//это работает- ТабДокумент выводиться
Процедура Сформировать(ТабДокумент)
Макет = ПолучитьМакет("Макет");
	ТабДокумент.Очистить();   

......//различные запросы для вывода данных

ТабДокумент.Вывести(ОбластьПодвал);

Показать


Пытаюсь сделать на клиенте ТабДокумент.Показать(), к сожалению вообще ничего не получается.
//это не получается
&НаКлиенте
Процедура Печать1()
	ТабДокумент = Новый ТабличныйДокумент;

	Сформировать(ТабДокумент);

	ТабДокумент.Показать("Тест");
КонецПроцедуры
Показать

Хотелось бы иметь возможность редактировать печатную форму табличного документа.

Подскажите пожалуйста, как правильно обратиться к этому табличному документу из другой процедуры или функции

Благодарю за помощь.
По теме из базы знаний
Найденные решения
13. antz 16.12.16 14:43 Сейчас в теме
Формируйте табличный документ на сервере в функции и возвращайте на клиент, делов-то.


&НаКлиенте
Процедура Сформировать(Команда)
	
	Табдок().Показать()
	
КонецПроцедуры

&НаСервере
Функция ТабДок()
	
	Результат = Новый ТабличныйДокумент;
	Результат.Область(1,1,1,1).Текст = "Ура, получилось!";
	Возврат Результат
	
КонецФункции //()
Показать
Alex_Iz; cefey-kurgan; deathogre; Diamante; user712426; mvl_dimir; CratosX; denmon88; +8 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
14. ЧерныйКот 16.12.16 14:53 Сейчас в теме
(1) Примечание:

Если табличный документ является реквизитом управляемой формы, то вызов метода приводит к возникновению исключения.

У вас ТабДокумент - это реквизит формы и то же имя имеет локальная переменная процедуры Печать1()!?

Просто судя по "Процедура ПриКомпоновкеРезультата" - есть такой реквизит формы?
15. Новичок1с 4 16.12.16 15:05 Сейчас в теме
(14) Андрей Белов,
Поле табличного документа с именем результат- реквизит формы.

antz Петров (antz), сейчас попробую Ваш метод, благодарю за вариант


16. antz 16.12.16 15:20 Сейчас в теме
(15)
antz Петров (antz), сейчас попробую Ваш метод, благодарю за вариант


Только раз есть реквизит формы с именем Результат, переменную в функции по-другому обзовите, а то опять ругаться будет.
2. uncle_Vasya 15.12.16 19:53 Сейчас в теме
Либо вызовите контекст НаСервере и сформируйте Табличный документ там, либо попробуйте запихнуть во временное хранилище, вынуть и показать то, что вынули)
3. Alex_E 2355 15.12.16 21:03 Сейчас в теме
Сформируйте ТабДок как Вам хочется, вот только .Показать(); не нужно - и так покажет)))) Последняя строчка лишняя - сформируйтие до неё как нужно и всё увидите
4. Новичок1с 4 16.12.16 06:36 Сейчас в теме
(3) Алексей, дело в том, что отчёт и так показывается.
(без использования процедуры Процедура Печать1()

Иногда бухгалтера редактируют вручную данные, и хотелось бы, чтобы была возможность редактирования табличного документа в 1с-ке, без сохранения.

5. Alex_E 2355 16.12.16 07:02 Сейчас в теме
(4) Ну так
чтобы была возможность редактирования табличного документа в 1с-ке, без сохранения.
этиа возможность и так есть для любого отчета или печатной формы. Если совсем универсально то: Главное меню - Таблица - Вид - Редактирование позволяет включит или отключить эту возможность.
6. ImHunter 315 16.12.16 07:11 Сейчас в теме
Попробуйте перед показом выполнить
ТабДок.ТолькоПросмотр = Ложь;
7. Новичок1с 4 16.12.16 08:26 Сейчас в теме
(6)
ТабДок.ТолькоПросмотр = Ложь;


К сожалению, тоже не получается..
смотрю тут https://helpf.pro/faq/view/1409.html вроде всё также делаю, только к сожалению нельзя редактировать- только просмотр...
8. ImHunter 315 16.12.16 08:29 Сейчас в теме
Еще раз тогда уточняю, правильно ли я понял.
ТабДок как-то формируется. И просто при его показе методом Показать(), он недоступен для редактирования. Так?
9. Новичок1с 4 16.12.16 12:55 Сейчас в теме
(8)
ImHunter, Вы верно меня поняли:
отчёт формируется, только нельзя редактировать.
Отчёт в конфигурации (не внешний), код в модуле объекта.

Я сейчас продублирую код, может быть дело в том, что не верно вызываю
//#Область СлужебныеПроцедурыИФункции

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	Сформировать2(ДокументРезультат);
КонецПроцедуры
//#КонецОбласти

//Эта процедура не срабатывает
&НаКлиенте
Процедура Сформировать()
	ТабДокумент = Новый ТабличныйДокумент;
	Сформировать2(ТабДокумент);
	ТабДокумент.ТолькоПросмотр = Ложь;
	ТабДокумент.Показать();
 Сообщить("Сформировать сработала");	
 КонецПроцедуры

 &НаСервере
 Процедура Сформировать2(ТабДокумент)
	
	ТабДокумент.АвтоМасштаб = Истина;
	Макет = ПолучитьМакет("Макет");
	.....
	ТабДокумент.Вывести(ОбластьПодвал); 
	
КонецПроцедуры 
Показать

11. starik-2005 3039 16.12.16 13:35 Сейчас в теме
(9) в модуле объекта нет клиентских процедур в принципе (для УФ).

Хотите сформировать отчет и показать форму в режиме редактирования - вызывайте функцию модуля объекта из формы, а потом уже отображайте.
10. ImHunter 315 16.12.16 13:34 Сейчас в теме
А попробуйте сначала закомментить вызов Сформировать2() - то как оно получится? Откроется пустой ТабДок. Что будет в нем насчет возможности редактирования?
12. Новичок1с 4 16.12.16 14:23 Сейчас в теме
(10)
Вот в этом моменте я и запуталась :(
я закомментировала процедуру Сформировать2()
В итоге- ничего :(

13. antz 16.12.16 14:43 Сейчас в теме
Формируйте табличный документ на сервере в функции и возвращайте на клиент, делов-то.


&НаКлиенте
Процедура Сформировать(Команда)
	
	Табдок().Показать()
	
КонецПроцедуры

&НаСервере
Функция ТабДок()
	
	Результат = Новый ТабличныйДокумент;
	Результат.Область(1,1,1,1).Текст = "Ура, получилось!";
	Возврат Результат
	
КонецФункции //()
Показать
Alex_Iz; cefey-kurgan; deathogre; Diamante; user712426; mvl_dimir; CratosX; denmon88; +8 Ответить
18. Новичок1с 4 19.12.16 07:22 Сейчас в теме
(13)
Решила создать новую обработку, и постепенно разбираться.
Ваше решение помогло, благодарю за идею.
17. Новичок1с 4 16.12.16 15:45 Сейчас в теме
Благодарю за помощь, сейчас буду пробовать.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот