Свойство отчета хранилище вариантов не заполнено 1с

Обновлено: 04.07.2024

РегистрационныеДанные = Новый Структура;
РегистрационныеДанные.Вставить("Вид", "ДополнительныйОтчет");
РегистрационныеДанные.Вставить("Версия", "1.0");
РегистрационныеДанные.Вставить("Наименование", "------");
РегистрационныеДанные.Вставить("БезопасныйРежим", Истина);
РегистрационныеДанные.Вставить("Информация", "");

Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Идентификатор");
Команды.Колонки.Добавить("Представление");
Команды.Колонки.Добавить("Модификатор");
Команды.Колонки.Добавить("ПоказыватьОповещение");
Команды.Колонки.Добавить("Использование");

НоваяКоманда = Команды.Добавить();
НоваяКоманда.Идентификатор = "ОткрытьФорму";
НоваяКоманда.Представление = "------";
НоваяКоманда.ПоказыватьОповещение = Истина;
НоваяКоманда.Использование = "ОткрытиеФормы";

Возврат РегистрационныеДанные;
КонецФункции

Нужно зарегистрировать этот отчет в справочнике «Варианты отчетов», чтоб включить его в рассылку для пользователей.

При сохранении не появляется вариант в справочнике вариантов, по всей видимости, я не до конца регистрирую отчет. Если судить по форме списка справочник "ВариантыОтчетов", строиться дерево с учетом справочника "ИдентификаторыОбъектовМетаданных", естественно моего отчета там нет. Но возможность должна быть, т.к. в справочнике вариантов есть отбор по доп. отчетам.
Да нет :) это очередная задача , у нас все многоплановое.
Нет, точно нет, эти параметры для другого. Нужно именно зарегистрировать вариант. Всю документацию по БСП вроде прочитала. Нужен стороний опыт.
Вопрос не столько к ЗУП, сколько к БСП , то же самое и в БУ и в Рознице.

Кусок документации.
3. Для дополнительных отчетов принять решение по поводу подключения к подсистеме «Варианты отчетов» (если подсистема внедрена в конфигурацию).
Подробнее про возможности подсистемы «Варианты отчетов». В частности, варианты дополнительного отчета, подключенного к подсистеме «Варианты отчетов», можно размещать в панелях отчетов программы, рядом с отчетами конфигурации.
Для подключения отчета к подсистеме «Варианты отчетов» в свойстве Хранилище вариантов (меню Действия, команда Свойства) следует выбрать ХранилищеВариантовОтчетов.
Резюме. Открыть обработку в конфигураторе , в правом нижнем углу кнопка «Действия» , «Свойства», «Хранилище вариантов» = «ХранилищеВариантовОтчетов». Загрузить отчет как дополнительный, регистрационные данные как обычно (пост 1). В элементе отчета появится вкладка «Варианты отчета», где указан наш вариант. После этого, отчет виден в справочнике вариантов по отбору «Дополнительные».

Хранилище вариантов отчета 1С

Свойство отчета "Хранилище вариантов" не заполнено.
Сохранение (выбор) вариантов отчета будет работать в ограниченном режиме.
Обратитесь к разработчику дополнительного (внешнего) отчета.

Ошибка Свойство отчета "Хранилище вариантов" не заполнено 1С

Ошибка при подключении внешнего отчета 1С

Для чего нужно хранилище вариантов отчета

Пример настроек вариантов отчета из типового хранилища настроек 1С

Пример сохраненных вариантов отчетов 1С

1С позаботилась о разработчиках и предоставила им возможность без лишних доработок использовать данный механизм в своих внешних отчетах.

1. Открываем палитру свойств нашего внешнего отчета как показано на картинке ниже:

Свойства внешнего отчета

2. В свойстве «Хранилище вариантов» выбираем хранилище настроек с именем «ХранилищеВариантовОтчетов»

Заполнение свойства внешнего отчета "Хранилище вариантов"

Выбираем хранилище вариантов

Сохраняем вариант отчета для других пользователей

После подключения нашего внешнего отчета в конфигурацию, открываем его. Например, вы внесли какие-то изменения в структуру отчета в пользовательском режиме и хотим поделиться этим вариантом с другими пользователями.

1. Для этого, выбираем типовую команду «Сохранить вариант отчета»:

Сохранение варианта внешнего отчета в 1С

Сохранение варианта отчета для других пользователей

Настройки варианта отчета 1С

3. Указываем раздел, в который хотим поместить нашу настройку отчета, например, «Кадры». Пишем описание для варианта отчета, если надо и сохраняем.

Раздел для варианта отчета 1С

4. Теперь наш вариант отчета доступен другим пользователям как в самом отчете:

Выбр варианта отчета 1С из хранилища

Пример выбора настройки внешнего отчета 1С

Так и в разделе «Отчеты» в ветке «Кадры»

Расположение настройки внешнего отчета из хранилища вариантов в разделе отчеты

Вариант внешнего отчета 1С в разделе Отчеты

Итоги

После нехитрых настроек наш внешний отчет теперь может работать с типовым хранилищем вариантов отчетов. Это позволит сохранять различные настройки внешнего отчета в хранилище и давать доступ к ним для других пользователей 1С.

Дата публикации 03.09.2019

Использован релиз 1.6.18

Если отчет с собственными настройками будет использоваться в дальнейшей работе, сохраните свой вариант отчета.

  1. Раздел: Продажи (или CRM, Закупки, Работы, Производство, Деньги, Зарплата) – Отчеты.
  2. Откройте нужный отчет и выполните необходимые настройки (подробнее об этом здесь).
  3. Кнопка "Запомнить настройки".
  4. Сохранить свой вариант отчета с выполненными настройками можно либо под именем уже существующего отчета (в этом случае существующий отчет будет заменен на отчет с новыми настройками), либо под новым именем (в этом случае будет создан новый отчет).
  5. Для сохранения отчета с выполненными настройками под именем уже существующего отчета используйте кнопку "Сохранить" (рис. 1). В этом случае у существующего отчета обновятся только его настройки (оформление, группировка и отбор данных и др.). Остальные параметры отчета (доступ к отчету, доступность в разделах, документах и элементах справочников, описание отчета и др.) останутся неизменными.

Изменение предопределенных отчетов программы со значком невозможно (например, отчет "Продажи" ) (рис. 1). Можно обновить настройки только для ранее созданных пользователем отчетов.

  1. Для сохранения отчета с выполненными настройками c новым названием введите новое название в поле "Наименование отчета" и по кнопке "Далее" продолжите настройку параметров нового отчета (рис. 2).

Настройка параметров поиска отчета и доступа к нему (рис. 3):

Настройка возможности открытия отчета из документа или справочника (рис. 4):

  • По ссылке "Добавить привязку" в блоке "Контекстное открытие отчета" можно выбрать из списка документы и справочники, в которых на вкладке "Отчеты" будет доступно использование данного отчета (рис. 5).

Сохраните настройки поиска, доступа и использования нового отчета по кнопке "Сохранить".

  1. После сохранения настроек отчет будет доступен для использования в программе.

Смотрите также

Длительные операции на сервере

Область применения: управляемое приложение.

1. При разработке конфигураций следует избегать длительных вызовов из клиентского кода в серверный. Все длительные серверные вызовы, которые могут выполняться более 8 секунд в обычных сценариях работы пользователя, следует выполнять асинхронно, с помощью фонового задания.

К таким операциям относятся: формирование отчета, групповая обработка объектов, загрузка или выгрузка данных в другое приложение, заполнение больших табличных частей и т.п.

В противном случае такие вызовы могут привести к потере работоспособности приложения или затруднению работы с ним:

  • браузер может предложить прекратить длительно выполняющийся сценарий, после чего приложение станет неработоспособным;
  • веб сервер может прервать длительное обращение к серверу 1С:Предприятия и вернуть ошибку 504 (шлюз не отвечает);
  • в случае длительного выполнения операции, у пользователя нет возможности отменить ее.

2.1. Общий подход к асинхронному выполнению длительных серверных операций с помощью фонового задания:

    Код, выполняющий длительную обработку данных, располагается в модуле менеджера объекта* или в общем модуле. Результат своей работы он помещает во временное хранилище;


а для прочих мест – выводится блокирующая форма ( РежимОткрытияОкна = БлокироватьОкноВладельца ), на которой размещена декорация с анимированной картинкой и кнопка «Отмена» :

2.2. Асинхронное формирование отчета требуется только для тех отчетов, которые

  • разработаны без использования СКД или с использованием СКД, но с переопределенной процедурой формирования отчета (переопределен обработчик кнопки «Сформировать» или в обработчике модуля отчета ПриКомпоновкеРезультата устанавливается СтандартнаяОбработка = Ложь ).
  • и формирование которых, как правило, занимает длительное время.

Поведение таких отчетов должно быть максимально похожим на поведение отчетов на базе СКД, а именно:

  • форму отчета не следует блокировать на время его формирования;
  • пользователь может изменить настройки и переформировать отчет, не дожидаясь окончания его формирования;
  • при закрытии формы отчета, формирование отчета прерывается.

3. При использовании в конфигурации Библиотеки стандартных подсистем в распоряжении разработчика имеются вспомогательные функции и процедуры общих модулей ДлительныеОперации , ДлительныеОперацииКлиент , а также процедура УстановитьСостояниеПоляТабличногоДокумента общего модуля ОбщегоНазначенияКлиентСервер .

Пример выполнения функции в фоновом задании при использовании в конфигурации Библиотеки стандартных подсистем. В модуле менеджера объекта размещена функция, которая выполняет поиск настроек и возвращает их:

Функция ОпределитьНастройкиУчетнойЗаписи(АдресЭлектроннойПочты, Пароль) Экспорт
.
Возврат Настройки;
КонецФункции

В форме объекта выполняется вызов этой функции в фоновом задании в три этапа:
1) запуск фонового задания на сервере,
2) подключение обработчика завершения фонового задания на клиенте,
3) обработка результата выполнения фонового задания.

&НаКлиенте
Процедура НастроитьПараметрыПодключенияАвтоматически()
// 1. Запуск фонового задания на сервере.
ДлительнаяОперация = НачатьПоискНастроекУчетнойЗаписи();

// 2. Подключение обработчика завершения фонового задания.
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
Оповещение = Новый ОписаниеОповещения("ПриЗавершенииПоискаНастроек", ЭтотОбъект);
ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, Оповещение, ПараметрыОжидания);
КонецПроцедуры

&НаСервере
Функция НачатьПоискНастроекУчетнойЗаписи()
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияФункции(УникальныйИдентификатор);
Возврат ДлительныеОперации.ВыполнитьФункцию(ПараметрыВыполнения, "Справочники.УчетныеЗаписиЭлектроннойПочты.ОпределитьНастройкиУчетнойЗаписи",
АдресЭлектроннойПочты, Пароль);
КонецФункции

// 3. Обработка результата выполнения фонового задания.
&НаКлиенте
Процедура ПриЗавершенииПоискаНастроек(Результат, ДополнительныеПараметры) Экспорт

Если Результат = Неопределено Тогда // Пользователь отменил задание.
Возврат;
КонецЕсли;

Если Результат.Статус = "Ошибка" Тогда
ВызватьИсключение Результат.КраткоеПредставлениеОшибки;
КонецЕсли;

Настройки = ПолучитьИзВременногоХранилища(Результат.АдресРезультата);
УдалитьИзВременногоХранилища(Результат.АдресРезультата);
УстановитьНастройкиУчетнойЗаписи(Настройки);

Методическая рекомендация (полезный совет)

3.1. При каждом выполнении фонового задания его результат помещается во временное хранилище на время жизни формы:

ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияФункции(УникальныйИдентификатор);
ДлительныеОперации.ВыполнитьФункцию(ПараметрыВыполнения, ПараметрФоновогоЗадания);

Если длительная операция выполняется пользователем многократно, пока эта форма открыта, то временные хранилища накапливаются, что вызывает рост потребления памяти. Поэтому для уменьшения расхода оперативной памяти в большинстве случаев рекомендуется очищать временное хранилище сразу после получения результата фонового задания:

Настройки = ПолучитьИзВременногоХранилища(Результат.АдресРезультата);
УдалитьИзВременногоХранилища(Результат.АдресРезультата); // Данные во временном хранилище больше не требуются.

Если же результат фонового задания требуется сохранять на протяжении нескольких серверных вызовов, то необходимо передавать фиксированный адрес заранее инициализированного временного хранилища:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ)
АдресРезультатаФоновогоЗадания = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор); // Резервируем адрес временного хранилища
КонецПроцедуры

&НаСервере
Функция НачатьПоискНастроекУчетнойЗаписи()
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияФункции(УникальныйИдентификатор);
ПараметрыВыполнения.АдресРезультата = АдресРезультатаФоновогоЗадания; // всегда используем одно и то же временное хранилище

Возврат ДлительныеОперации.ВыполнитьФункцию(ПараметрыВыполнения,
"Справочники.УчетныеЗаписиЭлектроннойПочты.ОпределитьНастройкиУчетнойЗаписи",
АдресЭлектроннойПочты, Пароль);
КонецФункции

4. Если в конфигурации реализуются алгоритмы, инициирующие запуск фоновых заданий или запись данных информационной базы без участия пользователя (например, регулярное обновление информации в открытой форме), то в них следует проверять, что в текущем сеансе не установлен монопольный режим. В противном случае, следует блокировать попытки выполнения таких действий. Например:

Если МонопольныйРежим() Тогда
Возврат;
КонецЕсли;

5. В некоторых случаях возникает необходимость в выполнении длительных операций, требующих установки монопольного режима доступа к информационной базе. Например:

Обновление данных ИБ при первом интерактивном запуске программы после обновления конфигурации; Выгрузка данных информационной базы в файл для перехода в сервис; Использования монопольного режима для снижения времени выполнения массовых операций по изменению данных;

При этом необходимо сначала устанавливать монопольный режим, а затем выполнять запуск фонового задания, которое реализует саму длительную операцию. В этом случае фоновым заданием будет унаследован монопольный режим, ранее установленный из пользовательского сеанса (см. документацию к платформе).

На время выполнения этого фонового задания следует блокировать весь интерфейс приложения, открывая форму ожидания завершения операции в режиме РежимОткрытияОкна = БлокироватьВесьИнтерфейс. Блокировать интерфейс приложения требуется потому, что на время выполнения задания полноценная работа пользователя с приложением уже невозможна:

  • Если пользователь(*) попытается записать какой-либо объект, это приведет к ошибке (из-за установленного монопольного режима);
  • В ряде случаев могут запускаться фоновые задания в качестве реакции на действия пользователя случае (при поиске в динамическом списке, при вводе по строке, формировании отчетов и пр.), которые также завершатся с ошибкой.
    Кроме того, на самой форме ожидания длительной операции не следует размещать элементы управления, которые могут приводить к запуску таких фоновых заданий. Например: поля ввода, динамические списки и отчеты.

* Примечание: ошибки записи также возникают в тех случаях, когда объекты записываются программно, например, из обработчиков ожидания. В них также следует проверять монопольный режим согласно п.5.

Читайте также: