Задание:
При сохранении печатных форм факсимиле имена файлов имеют вид:
Приходится перед отправкой клиенту переименовывать файлы.
Нужно чтобы при сохранении печатных форм вместо факсимиле указывался контрагент.
Доработку сделать через расширение конфигурации чтобы не снимать конфигурацию с поддержки.
Выполнение:
Определяем где присваиваются имена сохраняемым файлам.
Общие формы - печать документов.
Далее при нажатии на сохранить вызывается форма "ОбщаяФорма.СохранениеПечатнойФормы". В ней выбирается формат сохраняемого файла.
Затем снова в форме "Печать документов" выболняется обработкаВыбора.
Из нее вызывается процедура "ПоместитьТабличныеДокументыВоВременноеХранилище" - вот эта процедура и формирует имя выходного файла
Вот это место:
Делаем дорабоку через расширение конфигурации.
В расширение нужно скопировать общую форму "ПечатьДокументов". И переопределить ее процедуру "ОбработкаВыбора".
В обработке выбора будем вызывать не стандартную процедуру этой формы "ПоместитьТабличныеДокументыВоВременноеХранилище", а "ПоместитьТабличныеДокументыВоВременноеХранилище_расш".
Процедура ПоместитьТабличныеДокументыВоВременноеХранилище_расш - это копия процедуры основной конфигурации "ПоместитьТабличныеДокументыВоВременноеХранилище".
Вот в "ПоместитьТабличныеДокументыВоВременноеХранилище_расш" и добавим 2 строчки, где создается имя файла:
Если СоответствиеОбъектаПечатнойФорме.Ключ <> "ОбъектыПечатиНеЗаданы" Тогда ИмяФайла = ИмяФайлаПечатнойФормыОбъекта(СоответствиеОбъектаПечатнойФорме.Ключ, ОбщегоНазначения.ЗначениеИзСтрокиXML(НастройкаПечатнойФормы.ИмяФайлаПечатнойФормы)); Если ИмяФайла = Неопределено Тогда ИмяФайла = ИмяФайлаПечатнойФормыПоУмолчанию(СоответствиеОбъектаПечатнойФорме.Ключ, НастройкаПечатнойФормы.Название); //+1c-bezProblem //СоответствиеОбъектаПечатнойФорме.Ключ.контрагент.наименование - тут наименование назвКонтр=СоответствиеОбъектаПечатнойФорме.Ключ.контрагент.наименование; ИмяФайла=СтрЗаменить(ИмяФайла,"факсимиле",назвКонтр); //-1c-bezProblem КонецЕсли;
Результат:
До этой доработки пользователь перед отправкой файлов клиенту каждый раз вручную менял название файла.
Т.е. нужно было открыть файл, посмотреть контрагента, закрыть файл и переименовать его.