Разберем распространенную проблему в «1С:Розница 2» и других типовых конфигурациях на базе Библиотеки стандартных подсистем (БСП): у конкретного пользователя перестает работать выгрузка печатных форм. При попытке сохранить форму ценников, этикеток или внешнюю печатную форму в файл программа выдает исключение «Не определен список получаемых файлов». Если же попытаться отправить эту форму по электронной почте, форма создания письма открывается совершенно пустой — без прикрепленных файлов.
Выясним причину такого поведения платформы и рассмотрим по шагам, как восстановить работоспособность печати, не прибегая к полному сбросу всех пользовательских настроек.
Исключение «Не определен список получаемых файлов» является платформенным. Оно возникает при выполнении клиентских методов ПолучитьФайлы или НачатьПолучениеФайловССервера, когда в метод передается пустой массив описаний файлов.
В подсистеме печати БСП генерация файлов для сохранения и отправки по почте происходит на сервере на основании списка форматов (PDF, Excel, MXL и других), сохраненных в пользовательских настройках. Сбой возникает по следующим причинам:
ОбъектыПечати с помощью метода УправлениеПечатью.ЗадатьОбластьПечатиДокумента. В таком случае БСП не связывает сформированный табличный документ с объектом-источником и пропускает его при формировании пакета вложений.Многие администраторы первым делом удаляют папки локального кэша на клиентском компьютере (каталоги AppData\Local\1C\1cv8 и AppData\Roaming\1C\1cv8). Однако настройки форм, списков и печати хранятся не на локальном диске, а непосредственно в таблицах информационной базы (в системных таблицах настроек).
Создание нового пользователя копированием также не решает проблему, поскольку платформа 1С при интерактивном копировании дублирует все внутренние хранилища настроек пользователя-источника в новую учетную запись, перенося тем самым поврежденный профиль сохранения файлов.
Самый быстрый вариант, не требующий административных прав и сброса параметров интерфейса:
После этого платформа перезапишет битые настройки в базе данных корректными значениями, и штатная отправка по электронной почте снова начнет прикреплять сформированные файлы.
Если диалог сохранения не открывается или сразу падает в ошибку, очистим поврежденный ключ точечно, чтобы не сбрасывать рабочие параметры пользователя (колонки списков, значения по умолчанию для склада, кассы ККМ и организации):
ОбщаяФорма.СохранениеПечатныхФорм, ОбщаяФорма.ПечатьДокументов и Настройки печати табличных документов.При следующем формировании печатной формы конфигурация инициализирует параметры сохранения значениями по умолчанию.
Для администраторов и разработчиков удобнее всего выполнить точечное удаление настроек с помощью внешней обработки или через консоль кода. Посмотрим на пример вызова очистки конкретного ключа настроек печати:
ИмяПользователя1С = "ИвановИИ";
ИмяОбъектаНастройки = "ОбщаяФорма.СохранениеПечатныхФорм";
// Очищаем сохраненные настройки диалога выгрузки печатных форм
ХранилищеОбщихНастроек.Удалить(ИмяОбъектаНастройки, , ИмяПользователя1С);
ХранилищеСистемныхНастроек.Удалить(ИмяОбъектаНастройки, , ИмяПользователя1С);
Такой подход полностью устраняет ошибку у выбранного пользователя без необходимости перенастраивать его рабочий стол, видимость колонок в документах и отборы в журналах.