Как изменить название файла при сохранении внешней печатной формы

1. AndKovalchuk 195 10.11.18 10:44 Сейчас в теме
Есть конфигурация типовая БП 3.0 Есть внешняя печатная форма акта в документу "Поступление Товаров, услуг". Хочется чтобы пари сохранении этой формы название было бы уникальным. Скажем "Акт_услуг_Иванов_Договор4_10_11_2018.docx"

Ну а вместо этого имя файла получается "Внешняя печатная форма поступления № БП-1 от 31.03.2017.docx".

Как можно изменить его при сохранение файла.

Пытался так в модуле внешней обработки

СтрокаИмениФайла="Акт_приемки_услуг_"+Контрагент+"_"+Договор­+"_"+Формат(ДатаАкта, "ДФ=yyyyMMdd");
ТабличныйДокумент.ИспользуемоеИмяФайла(СтрокаИмениФайла);
Возврат ТабличныйДокумент;



не проходит. Пишет метод объекта не обнаружен "ИспользуемоеИмяФайла"
хотя ТабличныйДокумент прописан как

ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
ТабличныйДокумент.КлючПараметровПечати = СтруктураПараметровПечати.ИмяПараметровПечати;
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
2. AndKovalchuk 195 12.11.18 15:20 Сейчас в теме
Разобрался. КоллекцияПечатныхФорм - это таблица значений. И у нее есть колонка "ИмяФайлаПечатнойФормы". Достаточно переопределить эту колонку

УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "АКТ", УказатьНаименованиеВнешнейПечатнойФормы(),
		ПечатьАктаОбОказанииУслуг(ТаблицаСведенийАктаОбОказанииУслуг, ОбъектыПечати, СтруктураПараметровПечати));
	КонецЕсли;

	ИмяФайлаПечатнойФормы="";
	Если СтруктураПараметровПечати.Свойство("ИмяФайлаПечатнойФормы", 
                ИмяФайлаПечатнойФормы) Тогда
		Для Каждого Строка Из КоллекцияПечатныхФорм Цикл
			Строка.ИмяФайлаПечатнойФормы=ИмяФайлаПечатнойФормы;
		КонецЦикла;
        КонецЕсли;

Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. AndKovalchuk 195 12.11.18 15:20 Сейчас в теме
Разобрался. КоллекцияПечатныхФорм - это таблица значений. И у нее есть колонка "ИмяФайлаПечатнойФормы". Достаточно переопределить эту колонку

УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "АКТ", УказатьНаименованиеВнешнейПечатнойФормы(),
		ПечатьАктаОбОказанииУслуг(ТаблицаСведенийАктаОбОказанииУслуг, ОбъектыПечати, СтруктураПараметровПечати));
	КонецЕсли;

	ИмяФайлаПечатнойФормы="";
	Если СтруктураПараметровПечати.Свойство("ИмяФайлаПечатнойФормы", 
                ИмяФайлаПечатнойФормы) Тогда
		Для Каждого Строка Из КоллекцияПечатныхФорм Цикл
			Строка.ИмяФайлаПечатнойФормы=ИмяФайлаПечатнойФормы;
		КонецЦикла;
        КонецЕсли;

Показать
3. zavsom 105 24.11.23 09:31 Сейчас в теме
// Процедура формирует имя сохраняемого файла путем формирования представления документа и удаления из него символов "точка"
Процедура УстановитьИмяСохраняемогоФайла(ОбъектыПечати, КоллекцияПечатныхФорм, ИмяФайлаПоВходящимНомерам)

Если НЕ КоллекцияПечатныхФорм.Количество() = 1 Тогда
Возврат;
КонецЕсли;

ПечатнаяФорма = КоллекцияПечатныхФорм[0];
Если ЗначениеЗаполнено(ПечатнаяФорма.ИмяФайлаПечатнойФормы) Тогда
// Имя файла уже задано ранее, не меняем его.
Возврат;
КонецЕсли;

ИмяФайлаПечатнойФормы = Новый Соответствие;

Для Каждого ОбъектПечати Из ОбъектыПечати Цикл

ПредставлениеДокументаДляПечатнойФормы = СформироватьЗаголовокПервичногоДокумента(
ОбъектПечати.Значение, ПечатнаяФорма.СинонимМакета, ИмяФайлаПоВходящимНомерам);

ПредставлениеДокументаДляПечатнойФормы = СтрЗаменить(ПредставлениеДокументаДляПечатнойФормы, ".", "");

//*** ШО 2023-11-23
Если ОбъектПечати.Значение.Ссылка.Метаданные().Имя = "АктСверкиВзаиморасчетов" Тогда
ПредставлениеДокументаДляПечатнойФормы = ОбъектПечати.Значение.Контрагент.Наименование + " " + ПредставлениеДокументаДляПечатнойФормы;
КонецЕсли;
//*** шо 2023-11-23

ИмяФайлаПечатнойФормы.Вставить(ОбъектПечати.Значение, ПредставлениеДокументаДляПечатнойФормы);

КонецЦикла;

ПечатнаяФорма.ИмяФайлаПечатнойФормы = ИмяФайлаПечатнойФормы;

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


В БП 83 общий модуль общегоназначенияБП
Оставьте свое сообщение

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