Тип: Строка. Наименование элемента пакета отображаемых документов. При сохранении пакета отображаемых документов в формате XLS, XLSX, ODS значение данного поля используется в качестве имени листа итогового документа. Следующие символы при записи будут заменены на символ подчеркивания "_": ":", "/", "\", "?", "*", "[", "]", "`".
Полное описание, параметры и ограничения
ЭлементПакетаОтображаемыхДокументов.Наименование (RepresentableDocumentBatchItem.Title)
ЭлементПакетаОтображаемыхДокументов (RepresentableDocumentBatchItem)
Наименование (Title)
Доступен, начиная с версии 8.3.12.
Использование:
Чтение и запись.
Описание:
Тип: Строка.
Наименование элемента пакета отображаемых документов. При сохранении пакета отображаемых документов в формате XLS, XLSX, ODS значение данного поля используется в качестве имени листа итогового документа.
Следующие символы при записи будут заменены на символ подчеркивания "_":
":", "/", "\", "?", "*", "[", "]", "`".
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
Если длина значения превышает 31 символ, при записи она будет сокращена до 31 символа.
Использование в версии:
Доступен, начиная с версии 8.3.12.
Методическая информация
Практические примеры
Дождаться записи PDF перед очисткой временных данных
Ждать отделяет запуск асинхронной записи от её завершения. До завершения кнопка не запускает вторую операцию.
Где и как запускать
Полный модуль собственной управляемой формы; толстый клиент Windows. Временные документы принадлежат только этой форме.
Подготовка
Собственная отдельная конфигурация УчебнаяКонфигурацияСинтаксиса, платформа 8.5.1.1343. Создайте внешнюю обработку с пустой управляемой формой, командой Выполнить и её кнопкой.
Откройте обработку в толстом клиенте Windows. Вставьте полный модуль одного урока. При наличии Асинх используйте асинхронную процедуру из примера, не убирайте Ждать.
Серверная функция создаёт только две собственные формы: Книга / 3 и Ручка / 1. Временное хранилище привязано к УникальныйИдентификатор этой формы, адреса сохраняются в собственном массиве.
Пока выполняется запись, форму не закрывайте. После завершения очищаются только адреса, созданные этим модулем. Файл оставляется для ручной проверки и удаления пользователем.
Запись выбирает новое временное имя на машине клиента. Существующий файл не перезаписывается. Для файла печати используется расширение print: это внутренний файл печати, не PDF и не текстовый отчёт.
Урок печати требует строковые реквизиты УчебныйПринтер и Подтверждение. Введите точное имя собственного тестового устройства и фразу ПЕЧАТАЮ ТОЛЬКО УЧЕБНЫЕ ДАННЫЕ.
При создании руководства печать, сохранение и запуск 1С не выполнялись. Для PDF вручную проверьте обе учебные формы; ненулевой размер файла сам по себе не доказывает содержимое.
Перем УчебныйПакет;
Перем УчебныеАдреса;
Перем Занято;
&НаКлиенте
Асинх Процедура Выполнить(Команда)
Если Занято = Истина Тогда
ВызватьИсключение "Дождитесь завершения собственной предыдущей операции";
КонецЕсли;
Если УчебныеАдреса <> Неопределено Тогда
ВызватьИсключение "Предыдущие учебные данные ещё не освобождены; закройте только учебную форму и откройте заново";
КонецЕсли;
Созданные = СоздатьСобственныйПакет();
УчебныйПакет = Созданные.Пакет;
УчебныеАдреса = Созданные.Адреса;
Занято = Истина;
Попытка
Имя = НовоеСобственноеИмя("pdf");
Сообщить(УчебныйПакет.Состав.Количество() = 2);
Ждать УчебныйПакет.ЗаписатьАсинх(Имя, ТипФайлаПакетаОтображаемыхДокументов.PDF);
ПроверитьСобственныйФайл(Имя);
Исключение
ОшибкаОперации = ОписаниеОшибки();
Занято = Ложь;
ОсвободитьСобственныйПакет();
ВызватьИсключение ОшибкаОперации;
КонецПопытки;
Занято = Ложь;
ОсвободитьСобственныйПакет();
КонецПроцедуры
&НаСервере
Функция СоздатьСобственныйПакет()
Адреса = Новый Массив;
Пакет = Новый ПакетОтображаемыхДокументов;
Пакет.Заголовок = "guide-owned: Книга и Ручка";
Пакет.Вывод = ИспользованиеВывода.Разрешить;
Пакет.КоличествоЭкземпляров = 1;
Для Номер = 1 По 2 Цикл
Документ = Новый ТабличныйДокумент;
Если Номер = 1 Тогда
Название = "Книга";
Количество = "3";
Иначе
Название = "Ручка";
Количество = "1";
КонецЕсли;
Документ.Область(1, 1).Текст = "Только собственный учебный товар";
Документ.Область(2, 1).Текст = Название;
Документ.Область(2, 2).Текст = Количество;
Документ.Область(, 1, , 1).ШиринаКолонки = 30;
Документ.КоличествоЭкземпляров = 7;
Адрес = ПоместитьВоВременноеХранилище(Документ, ЭтаФорма.УникальныйИдентификатор);
Адреса.Добавить(Адрес);
Элемент = Пакет.Состав.Добавить(Адрес);
Элемент.Наименование = Название;
КонецЦикла;
Возврат Новый Структура("Пакет,Адреса", Пакет, Адреса);
КонецФункции
&НаСервере
Процедура УдалитьСобственныеАдреса(Адреса)
Для Каждого Адрес Из Адреса Цикл
УдалитьИзВременногоХранилища(Адрес);
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ОсвободитьСобственныйПакет()
Если УчебныеАдреса <> Неопределено Тогда
УдалитьСобственныеАдреса(УчебныеАдреса);
УчебныеАдреса = Неопределено;
КонецЕсли;
УчебныйПакет = Неопределено;
КонецПроцедуры
&НаКлиенте
Функция НовоеСобственноеИмя(Расширение)
Имя = ПолучитьИмяВременногоФайла(Расширение);
Проверка = Новый Файл(Имя);
Если Проверка.Существует() Тогда
ВызватьИсключение "Новый путь уже занят; файл не перезаписываем";
КонецЕсли;
Возврат Имя;
КонецФункции
&НаКлиенте
Процедура ПроверитьСобственныйФайл(Имя)
Файл = Новый Файл(Имя);
Если Файл.Существует() Тогда
Сообщить(Файл.Размер() > 0);
Сообщить("Файл появился; вручную проверьте содержимое: " + Имя);
Иначе
Сообщить("По собственному локальному пути файла нет, успешную запись не утверждаем: " + Имя);
КонецЕсли;
КонецПроцедурыРазбор по шагам
Подготовить собственный пакет и установить флаг Занято.
Получить новый путь и вызвать ЗаписатьАсинх с Ждать внутри Асинх Процедура.
Только после ожидания проверять файл. Не трактовать само Обещание как успешное сохранение.
При успехе или исключении снять флаг и освободить собственные временные адреса. Сам файл остаётся для ручной проверки.
Как проверить результат
Состав содержит два элемента; при появлении файла его размер больше нуля.
Пока Ждать не закончился, повторное нажатие получает просьбу дождаться операции. PDF вручную проверяется по двум товарам.
Ожидаемый результат
Практический асинхронный экспорт с управляемым временем жизни пакета.
На что обратить внимание
Удаление адресов сразу после вызова без Ждать может лишить операцию исходных документов.
Не закрывайте форму во время ожидания: её закрытие удаляет привязанное временное хранилище.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Обработать завершение двух видов записи пакета
Сначала PDF, затем отдельным запуском внутренний файл печати. Обратный вызов различает Истина, Ложь и Неопределено.
Где и как запускать
Полный модуль собственной управляемой формы; толстый клиент Windows. Временные документы принадлежат только этой форме.
Подготовка
Собственная отдельная конфигурация УчебнаяКонфигурацияСинтаксиса, платформа 8.5.1.1343. Создайте внешнюю обработку с пустой управляемой формой, командой Выполнить и её кнопкой.
Откройте обработку в толстом клиенте Windows. Вставьте полный модуль одного урока. При наличии Асинх используйте асинхронную процедуру из примера, не убирайте Ждать.
Серверная функция создаёт только две собственные формы: Книга / 3 и Ручка / 1. Временное хранилище привязано к УникальныйИдентификатор этой формы, адреса сохраняются в собственном массиве.
Пока выполняется запись, форму не закрывайте. После завершения очищаются только адреса, созданные этим модулем. Файл оставляется для ручной проверки и удаления пользователем.
Запись выбирает новое временное имя на машине клиента. Существующий файл не перезаписывается. Для файла печати используется расширение print: это внутренний файл печати, не PDF и не текстовый отчёт.
Урок печати требует строковые реквизиты УчебныйПринтер и Подтверждение. Введите точное имя собственного тестового устройства и фразу ПЕЧАТАЮ ТОЛЬКО УЧЕБНЫЕ ДАННЫЕ.
При создании руководства печать, сохранение и запуск 1С не выполнялись. Для PDF вручную проверьте обе учебные формы; ненулевой размер файла сам по себе не доказывает содержимое.
Перем УчебныйПакет;
Перем УчебныеАдреса;
Перем Занято;
&НаКлиенте
Процедура Выполнить(Команда)
Если Занято = Истина Тогда
ВызватьИсключение "Дождитесь завершения собственной предыдущей операции";
КонецЕсли;
Если УчебныеАдреса <> Неопределено Тогда
ВызватьИсключение "Предыдущие учебные данные ещё не освобождены; закройте только учебную форму и откройте заново";
КонецЕсли;
Созданные = СоздатьСобственныйПакет();
УчебныйПакет = Созданные.Пакет;
УчебныеАдреса = Созданные.Адреса;
Занято = Истина;
ФайлДляПечати = Ложь;
Попытка
Если ФайлДляПечати Тогда
Имя = НовоеСобственноеИмя("print");
Иначе
Имя = НовоеСобственноеИмя("pdf");
КонецЕсли;
Состояние = Новый Структура("Маркер,Путь", "guide-owned-package", Имя);
Оповещение = Новый ОписаниеОповещения("УчебныйПакетЗаписан", ЭтотОбъект, Состояние,
"УчебныйПакетОшибка", ЭтотОбъект);
Если ФайлДляПечати Тогда
УчебныйПакет.НачатьЗаписьФайлаДляПечати(Оповещение, Имя);
Иначе
УчебныйПакет.НачатьЗапись(Оповещение, Имя, ТипФайлаПакетаОтображаемыхДокументов.PDF);
КонецЕсли;
Исключение
Сообщить("Ошибка начала записи: " + ОписаниеОшибки());
Сообщить("При неопределённом состоянии начала не удаляем адреса автоматически; закрытие учебной формы освободит её хранилище.");
ВызватьИсключение;
КонецПопытки;
Сообщить("Операция началась. Результат смотрите в обратном вызове, форму пока не закрывайте.");
КонецПроцедуры
&НаКлиенте
Процедура УчебныйПакетЗаписан(Результат, Состояние) Экспорт
Если Состояние.Маркер <> "guide-owned-package" Тогда
ВызватьИсключение "Неизвестный учебный обратный вызов";
КонецЕсли;
Если Результат = Истина Тогда
Сообщить("Запись подтверждена обратным вызовом.");
ИначеЕсли Результат = Ложь Тогда
Сообщить("Обратный вызов сообщил, что запись не завершена.");
ИначеЕсли Результат = Неопределено Тогда
Сообщить("Результат неизвестен; скачивание браузером ещё не доказывает получения файла.");
Иначе
ВызватьИсключение "Неожиданный результат записи";
КонецЕсли;
Занято = Ложь;
ПроверитьСобственныйФайл(Состояние.Путь);
ОсвободитьСобственныйПакет();
КонецПроцедуры
&НаКлиенте
Процедура УчебныйПакетОшибка(ИнформацияОбОшибке, Состояние, СтандартнаяОбработка) Экспорт
СтандартнаяОбработка = Истина;
Занято = Ложь;
Сообщить("Ошибка учебного пакета: " + ИнформацияОбОшибке.Описание);
Сообщить("Только собственный путь для проверки: " + Состояние.Путь);
ОсвободитьСобственныйПакет();
КонецПроцедуры
&НаСервере
Функция СоздатьСобственныйПакет()
Адреса = Новый Массив;
Пакет = Новый ПакетОтображаемыхДокументов;
Пакет.Заголовок = "guide-owned: Книга и Ручка";
Пакет.Вывод = ИспользованиеВывода.Разрешить;
Пакет.КоличествоЭкземпляров = 1;
Для Номер = 1 По 2 Цикл
Документ = Новый ТабличныйДокумент;
Если Номер = 1 Тогда
Название = "Книга";
Количество = "3";
Иначе
Название = "Ручка";
Количество = "1";
КонецЕсли;
Документ.Область(1, 1).Текст = "Только собственный учебный товар";
Документ.Область(2, 1).Текст = Название;
Документ.Область(2, 2).Текст = Количество;
Документ.Область(, 1, , 1).ШиринаКолонки = 30;
Документ.КоличествоЭкземпляров = 7;
Адрес = ПоместитьВоВременноеХранилище(Документ, ЭтаФорма.УникальныйИдентификатор);
Адреса.Добавить(Адрес);
Элемент = Пакет.Состав.Добавить(Адрес);
Элемент.Наименование = Название;
КонецЦикла;
Возврат Новый Структура("Пакет,Адреса", Пакет, Адреса);
КонецФункции
&НаСервере
Процедура УдалитьСобственныеАдреса(Адреса)
Для Каждого Адрес Из Адреса Цикл
УдалитьИзВременногоХранилища(Адрес);
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ОсвободитьСобственныйПакет()
Если УчебныеАдреса <> Неопределено Тогда
УдалитьСобственныеАдреса(УчебныеАдреса);
УчебныеАдреса = Неопределено;
КонецЕсли;
УчебныйПакет = Неопределено;
КонецПроцедуры
&НаКлиенте
Функция НовоеСобственноеИмя(Расширение)
Имя = ПолучитьИмяВременногоФайла(Расширение);
Проверка = Новый Файл(Имя);
Если Проверка.Существует() Тогда
ВызватьИсключение "Новый путь уже занят; файл не перезаписываем";
КонецЕсли;
Возврат Имя;
КонецФункции
&НаКлиенте
Процедура ПроверитьСобственныйФайл(Имя)
Файл = Новый Файл(Имя);
Если Файл.Существует() Тогда
Сообщить(Файл.Размер() > 0);
Сообщить("Файл появился; вручную проверьте содержимое: " + Имя);
Иначе
Сообщить("По собственному локальному пути файла нет, успешную запись не утверждаем: " + Имя);
КонецЕсли;
КонецПроцедурыРазбор по шагам
Для первого запуска ФайлДляПечати = Ложь. Для второго в отдельной копии урока поменять на Истина: выбирается другое новое имя и другой метод.
Создать оповещение с маркером/путём и двумя экспортными обработчиками. Сохранить пакет в переменной формы до обратного вызова.
Вызвать НачатьЗапись или НачатьЗаписьФайлаДляПечати. Возврат из начала операции не подтверждает файл.
В обработчике разобрать три статуса и проверить только собственный путь. Затем освободить собственные адреса. Ошибка начала с неопределённым состоянием не вызывает автоматической преждевременной очистки.
Как проверить результат
После запуска ожидается сообщение о начале, не об успехе.
Сохранение и ненулевой размер проверяются в обратном вызове. PDF и внутренний print-файл — разные форматы; print нельзя проверять PDF-просмотрщиком.
Ожидаемый результат
Полный пример начала, завершения и ошибки с двумя реальными API записи.
На что обратить внимание
Неопределено — неизвестный результат, а не успешность и не отмена.
Для браузера локальный путь не доказывает место скачанного файла; урок запускается в толстом клиенте.
После ошибки начала закройте только учебную форму для освобождения её хранилища; не чистите весь временный каталог.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.