Формирование имени файла печатной формы при сохранении.

1. SuhoffGV 17.10.17 23:47 Сейчас в теме
Подскажите пожалуйста - как, при создании внешней печатной формы, переопределить заголовок формы "Печать документа" в которую 1с выводит сформированный во внешней печатной форме документ?

И второй вопрос, Сделал внешнюю печатную форму для заказа клиента (конфигурация КА2) "Заявка". При попытке сохранить сформированный доукумент из формы "Печать документа" (в которую 1с выводит табдокумент из внешней печатной формы) 1с присваивает ей файлу имя "Заявка" (без номера и даты). Типовые печатные формы, встроенные в конфу, 1с сохраняет в файлы правильно, с номером и датой документа в названии файла.
Как, во внешней печатной форме, заставить 1с давать файлу имя с датой и номером документа?


Конфигурация Комплексная автоматизация 2.2, на БСП 2.3
MrEvilSkotch; COMPER; +2 Ответить
По теме из базы знаний
Найденные решения
2. SuhoffGV 20.10.17 19:59 Сейчас в теме
Сам спросил - сам ответил
Решение с мисты:

    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
                        КоллекцияПечатныхФорм,

                        "СчетНаОплатуПокупателю", ИмяФайлаКотороеНужноПолучить,
                        СформироватьПечатнуюФормуСчетНаОплату(МассивОбъектов, ПараметрыПечати,КоллекцияПечатныхФорм, ОбъектыПечати));
poyson; z.snega; A4ymet; payta; pbazeliuk; SagittariusA; +6 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. SuhoffGV 20.10.17 19:59 Сейчас в теме
Сам спросил - сам ответил
Решение с мисты:

    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
                        КоллекцияПечатныхФорм,

                        "СчетНаОплатуПокупателю", ИмяФайлаКотороеНужноПолучить,
                        СформироватьПечатнуюФормуСчетНаОплату(МассивОбъектов, ПараметрыПечати,КоллекцияПечатныхФорм, ОбъектыПечати));
poyson; z.snega; A4ymet; payta; pbazeliuk; SagittariusA; +6 Ответить
3. ArCtic 3 17.09.19 14:34 Сейчас в теме
4. SuhoffGV 17.09.19 15:07 Сейчас в теме
(3) это у вас должно быть во внешней ПФ. Почитайте ссылку, там достаточно понятно всё https://forum.mista.ru/topic.php?id=767375
9. MrEvilSkotch 17.07.24 14:55 Сейчас в теме
(2) На текущий момент ответ не до конца правильный. Для полноценного указания имени сохраняемого файла надо использовать параметр ИмяФайлаПечатнойФормы (7-й по счету). Третьим параметром процедуры указывается не имя файла, а синоним макета. Он используется при сохранении файла, если не указан седьмой. Но при этом после синонима может добавится дополнительная информация (например, номер и дата документа). И в случае если нужно указать свой вид номера или даты, то такой вариант не подойдет.

// Добавляет табличный документ в коллекцию печатных форм.
// Процедура предназначена для использования только внутри процедуры Печать.
//
// Параметры:
//  КоллекцияПечатныхФорм - ТаблицаЗначений - служебный параметр, переданный в процедуру Печать;
//  ИмяМакета             - Строка - имя макета;
//  СинонимМакета         - Строка - представление макета;
//  ТабличныйДокумент     - ТабличныйДокумент - печатная форма документа;
//  Картинка              - Картинка - пиктограмма печатной формы;
//  ПолныйПутьКМакету     - Строка - путь к макету в дереве метаданных, например
//                                   "Документ.СчетНаОплатуПокупателю.ПФ_MXL_СчетЗаказ".
//                                   Если не указывать этот параметр, то редактирование макета пользователем будет
//                                   недоступно в форме ПечатьДокументов.
//  ИмяФайлаПечатнойФормы - Строка - имя, используемое при сохранении печатной формы в файл;
//                        - Соответствие из КлючИЗначение:
//                           * Ключ     - ЛюбаяСсылка - ссылка на объект печати;
//                           * Значение - Строка - имя файла.
//
Процедура ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, ИмяМакета, СинонимМакета, ТабличныйДокумент,
	Картинка = Неопределено, ПолныйПутьКМакету = "", ИмяФайлаПечатнойФормы = Неопределено) Экспорт
	
	ОписаниеПечатнойФормы = КоллекцияПечатныхФорм.Найти(ВРег(ИмяМакета), "ИмяВРЕГ");
	Если ОписаниеПечатнойФормы <> Неопределено Тогда
		ОписаниеПечатнойФормы.ТабличныйДокумент = ТабличныйДокумент;
		ОписаниеПечатнойФормы.СинонимМакета = СинонимМакета;
		ОписаниеПечатнойФормы.Картинка = Картинка;
		ОписаниеПечатнойФормы.ПолныйПутьКМакету = ПолныйПутьКМакету;
		ОписаниеПечатнойФормы.ИмяФайлаПечатнойФормы = ИмяФайлаПечатнойФормы;
	КонецЕсли;
	
КонецПроцедуры
Показать
SuhoffGV; +1 Ответить
5. user1036607 10.03.23 12:28 Сейчас в теме
А если ПФ типовая? Вот тут вопрос))
6. zavsom 109 24.11.23 00:08 Сейчас в теме
Если ОбъектПечати.Значение.Ссылка.Метаданные().Имя = "АктСверкиВзаиморасчетов" Тогда
ПредставлениеДокументаДляПечатнойФормы = ОбъектПечати.Значение.Контрагент.Наименование + " " + ПредставлениеДокументаДляПечатнойФормы;
КонецЕсли;
7. zavsom 109 24.11.23 00:11 Сейчас в теме
все го то и надо , что добавить в общий модуль ОбщегоНазначенияБП в процедуру УстановитьИмяСохраняемогоФайла

Процедура УстановитьИмяСохраняемогоФайла(ОбъектыПечати, КоллекцияПечатныхФорм, ИмяФайлаПоВходящимНомерам)

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

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

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

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

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

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

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

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

КонецЦикла;

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

КонецПроцедуры
8. zavsom 109 24.11.23 00:11 Сейчас в теме
это я для актов сверки делал
Оставьте свое сообщение

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