Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
08 дек 2022, 02:47

Изменить процедуру сохранения печатных форм

Автор Andra, 20 окт 2022, 10:22

0 Пользователей и 1 гость просматривают эту тему.

Andra

Здравствуйте, подскажите пожалуйста. Конфигурация Комплексная автоматизация 2.5. Есть задача: изменить функционал кнопки "Сохранить" в выводе печатной формы. Нужно, чтобы с наименованием выводились дата+номер, как это сделать я знаю. Два вопроса: в каком месте конфигурации это менять(есть общая форма ПечатьДокумента, но процедуры формирования имени файла не нашел) и можно ли это реализовать расширением? Заранее спасибо.

LexaK

Andra, Посмотрите процедуру Печать... нужного документа или внешней печатной формы, если она такая
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
 
то задать имя файла очень просто, прямо в ней, и не надо общие формы трогать.


// Сформировать печатные формы объектов
//
// ВХОДЯЩИЕ:
//   ИменаМакетов    - Строка    - Имена макетов, перечисленные через запятую
//   МассивОбъектов  - Массив    - Массив ссылок на объекты которые нужно распечатать
//
// ИСХОДЯЩИЕ:
//   КоллекцияПечатныхФорм - Таблица значений - Сформированные табличные документы
//   ПараметрыВывода       - Структура        - Параметры сформированных табличных документов
//
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

СтруктураТипов = ОбщегоНазначенияУТ.СоответствиеМассивовПоТипамОбъектов(МассивОбъектов);

Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СборочныйЛист") Тогда

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

//формирование имени файла
лкДок = МассивОбъектов[0];//формируем имя файла по первому документу (может быть несколько)
ИмяФайла = лкДок.Метаданные().Синоним + " № " + лкДок.Номер + " от " + Лев(лкДок.Дата,10);//или измените на свой формат даты
КоллекцияПечатныхФорм[КоллекцияПечатныхФорм.Количество()-1].ИмяФайлаПечатнойФормы = ИмяФайла;

КонецЕсли;

КонецПроцедуры // Печать()
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск