Имя: Пароль:
1C
 
V8: подкинуть имя файла на печать при сохранении текста формы
0 andrewrocker
 
naïve
12.07.25
21:50
Добрый день, использую конструктор печати, но не могу передать при сохранении типизированное имя файла.

Как в тексте команды, так и в тексте процедуры печать в модуле менеджера пишу:

ТабДок.ИспользуемоеИмяФайла = "Мое Имя Файл"

Это при сохранении не подскакивает.

Процедура ПечатьСчет(ТабДок, Ссылка) Экспорт

	Если Не Ссылка[0].Проведен Тогда
		Сообщить("Печать непроведенного документа невозможна!");
		Возврат;
	КонецЕсли;	

	ТабДок.ИспользуемоеИмяФайла = Лев(Ссылка[0],СтрДлина(Ссылка[0])-9) + Строка(" г.");

.....

КонецПроцедуры;


&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
	//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
	ТабДок = Новый ТабличныйДокумент;
	Печать(ТабДок, ПараметрКоманды);

	ТабДок.ОтображатьСетку = Ложь;
	ТабДок.Защита = Ложь;
	ТабДок.ТолькоПросмотр = Ложь;
	ТабДок.ОтображатьЗаголовки = Ложь;
    ТабДок.ИспользуемоеИмяФайла = (Лев(ПараметрКоманды[0],СтрДлина(ПараметрКоманды[0])-9) + Строка(" г."));
		ТабДок.Показать(Лев(ПараметрКоманды[0],СтрДлина(ПараметрКоманды[0])-9) + Строка(" г."));
	//}}
КонецПроцедуры
1 andrewrocker
 
naïve
13.07.25
19:41
Коллеги, нет идей? Конфигурация 1с:Нетленка
2 Sneer
 
14.07.25
10:11
(1) Не понятна связь между выводом на печать и сохранением. Похоже печатная форма просто выводится на экран, а потом пользователь нажимает Файл-Сохранить и туда должно подставится имя файла, так что ли?
3 maxab72
 
14.07.25
10:19
ТабличныйДокумент (SpreadsheetDocument)
Показать (Show)
Синтаксис:
Показать(<Заголовок>, <ИмяФайла>, <Активизация>)
Параметры:
<Заголовок> (необязательный)
Тип: Строка.
Заголовок окна табличного документа.
<ИмяФайла> (необязательный)
Тип: Строка.
Имя файла для сохранения табличного документа. Если значение не пустое, то при закрытии окна, если документ был изменен, будет предложено сохранить табличный документ в указанный файл.
<Активизация> (необязательный)
Тип: Булево.
Определяет активизацию открываемого окна табличного документа.
Истина - активизировать окно; Ложь - открывать окно без активизации.
Значение по умолчанию: Истина.
Описание:
Открывает окно для показа и редактирования табличного документа.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
Если табличный документ является реквизитом управляемой формы, то вызов метода приводит к возникновению исключения.
Пример:
ТабДок.Показать("Заявки от покупателей", "Заявки.mxl");
См. также:
ТабличныйДокумент, метод Скрыть
Использование в версии:
Доступен, начиная с версии 8.1.
4 andrewrocker
 
naïve
14.07.25
21:08
(2) да, всё верно
5 andrewrocker
 
naïve
14.07.25
21:12
(3) Вы знаете, этот способ тоже не работает. Система начинает искать на жестком диске этот файл, не находит и расстраивается.


&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
	//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
	ТабДок = Новый ТабличныйДокумент;
	Печать(ТабДок, ПараметрКоманды);

	ТабДок.ОтображатьСетку = Ложь;
	ТабДок.Защита = Ложь;
	ТабДок.ТолькоПросмотр = Ложь;
	ТабДок.ОтображатьЗаголовки = Ложь;
	ИмяФайлаДляСохранения = (Лев(ПараметрКоманды[0],СтрДлина(ПараметрКоманды[0])-9) + Строка(" г."));
	ТабДок.ИспользуемоеИмяФайла = ИмяФайлаДляСохранения;
	ТабДок.Показать(ИмяФайлаДляСохранения, Строка(ИмяФайлаДляСохранения) + Строка(".PDF"));
	//}}
КонецПроцедуры

&НаСервере
Процедура Печать(ТабДок, ПараметрКоманды)
	
	Документы.СделкаПродажаЗапчастиИСервис.ПечатьСчет(ТабДок, ПараметрКоманды);
	
КонецПроцедуры
6 Волшебник
 
14.07.25
21:27
(5) Нет доступа к файлу от учётки сервера 1с.
Ваш Кэп.
* Кэп — это Капитан Очевидность, если Вы не поняли
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший