Свойство отчета хранилище вариантов не заполнено 1с
РегистрационныеДанные = Новый Структура;
РегистрационныеДанные.Вставить("Вид", "ДополнительныйОтчет");
РегистрационныеДанные.Вставить("Версия", "1.0");
РегистрационныеДанные.Вставить("Наименование", "------");
РегистрационныеДанные.Вставить("БезопасныйРежим", Истина);
РегистрационныеДанные.Вставить("Информация", "");
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Идентификатор");
Команды.Колонки.Добавить("Представление");
Команды.Колонки.Добавить("Модификатор");
Команды.Колонки.Добавить("ПоказыватьОповещение");
Команды.Колонки.Добавить("Использование");
НоваяКоманда = Команды.Добавить();
НоваяКоманда.Идентификатор = "ОткрытьФорму";
НоваяКоманда.Представление = "------";
НоваяКоманда.ПоказыватьОповещение = Истина;
НоваяКоманда.Использование = "ОткрытиеФормы";
Возврат РегистрационныеДанные;
КонецФункции
Нужно зарегистрировать этот отчет в справочнике «Варианты отчетов», чтоб включить его в рассылку для пользователей.
При сохранении не появляется вариант в справочнике вариантов, по всей видимости, я не до конца регистрирую отчет. Если судить по форме списка справочник "ВариантыОтчетов", строиться дерево с учетом справочника "ИдентификаторыОбъектовМетаданных", естественно моего отчета там нет. Но возможность должна быть, т.к. в справочнике вариантов есть отбор по доп. отчетам.Да нет :) это очередная задача , у нас все многоплановое.
Нет, точно нет, эти параметры для другого. Нужно именно зарегистрировать вариант. Всю документацию по БСП вроде прочитала. Нужен стороний опыт.
Вопрос не столько к ЗУП, сколько к БСП , то же самое и в БУ и в Рознице.
Кусок документации.
3. Для дополнительных отчетов принять решение по поводу подключения к подсистеме «Варианты отчетов» (если подсистема внедрена в конфигурацию).
Подробнее про возможности подсистемы «Варианты отчетов». В частности, варианты дополнительного отчета, подключенного к подсистеме «Варианты отчетов», можно размещать в панелях отчетов программы, рядом с отчетами конфигурации.
Для подключения отчета к подсистеме «Варианты отчетов» в свойстве Хранилище вариантов (меню Действия, команда Свойства) следует выбрать ХранилищеВариантовОтчетов.
Резюме. Открыть обработку в конфигураторе , в правом нижнем углу кнопка «Действия» , «Свойства», «Хранилище вариантов» = «ХранилищеВариантовОтчетов». Загрузить отчет как дополнительный, регистрационные данные как обычно (пост 1). В элементе отчета появится вкладка «Варианты отчета», где указан наш вариант. После этого, отчет виден в справочнике вариантов по отбору «Дополнительные».
Свойство отчета "Хранилище вариантов" не заполнено.
Сохранение (выбор) вариантов отчета будет работать в ограниченном режиме.
Обратитесь к разработчику дополнительного (внешнего) отчета.
Ошибка при подключении внешнего отчета 1С
Для чего нужно хранилище вариантов отчета
Пример сохраненных вариантов отчетов 1С
1С позаботилась о разработчиках и предоставила им возможность без лишних доработок использовать данный механизм в своих внешних отчетах.
1. Открываем палитру свойств нашего внешнего отчета как показано на картинке ниже:
2. В свойстве «Хранилище вариантов» выбираем хранилище настроек с именем «ХранилищеВариантовОтчетов»
Выбираем хранилище вариантов
Сохраняем вариант отчета для других пользователей
После подключения нашего внешнего отчета в конфигурацию, открываем его. Например, вы внесли какие-то изменения в структуру отчета в пользовательском режиме и хотим поделиться этим вариантом с другими пользователями.
1. Для этого, выбираем типовую команду «Сохранить вариант отчета»:
Сохранение варианта отчета для других пользователей
3. Указываем раздел, в который хотим поместить нашу настройку отчета, например, «Кадры». Пишем описание для варианта отчета, если надо и сохраняем.
4. Теперь наш вариант отчета доступен другим пользователям как в самом отчете:
Пример выбора настройки внешнего отчета 1С
Так и в разделе «Отчеты» в ветке «Кадры»
Вариант внешнего отчета 1С в разделе Отчеты
Итоги
После нехитрых настроек наш внешний отчет теперь может работать с типовым хранилищем вариантов отчетов. Это позволит сохранять различные настройки внешнего отчета в хранилище и давать доступ к ним для других пользователей 1С.
Дата публикации 03.09.2019
Использован релиз 1.6.18
Если отчет с собственными настройками будет использоваться в дальнейшей работе, сохраните свой вариант отчета.
- Раздел: Продажи (или CRM, Закупки, Работы, Производство, Деньги, Зарплата) – Отчеты.
- Откройте нужный отчет и выполните необходимые настройки (подробнее об этом здесь).
- Кнопка "Запомнить настройки".
- Сохранить свой вариант отчета с выполненными настройками можно либо под именем уже существующего отчета (в этом случае существующий отчет будет заменен на отчет с новыми настройками), либо под новым именем (в этом случае будет создан новый отчет).
- Для сохранения отчета с выполненными настройками под именем уже существующего отчета используйте кнопку "Сохранить" (рис. 1). В этом случае у существующего отчета обновятся только его настройки (оформление, группировка и отбор данных и др.). Остальные параметры отчета (доступ к отчету, доступность в разделах, документах и элементах справочников, описание отчета и др.) останутся неизменными.
Изменение предопределенных отчетов программы со значком невозможно (например, отчет "Продажи" ) (рис. 1). Можно обновить настройки только для ранее созданных пользователем отчетов.
- Для сохранения отчета с выполненными настройками c новым названием введите новое название в поле "Наименование отчета" и по кнопке "Далее" продолжите настройку параметров нового отчета (рис. 2).
Настройка параметров поиска отчета и доступа к нему (рис. 3):
Настройка возможности открытия отчета из документа или справочника (рис. 4):
- По ссылке "Добавить привязку" в блоке "Контекстное открытие отчета" можно выбрать из списка документы и справочники, в которых на вкладке "Отчеты" будет доступно использование данного отчета (рис. 5).
Сохраните настройки поиска, доступа и использования нового отчета по кнопке "Сохранить".
- После сохранения настроек отчет будет доступен для использования в программе.
Смотрите также
Длительные операции на сервере
Область применения: управляемое приложение.
1. При разработке конфигураций следует избегать длительных вызовов из клиентского кода в серверный. Все длительные серверные вызовы, которые могут выполняться более 8 секунд в обычных сценариях работы пользователя, следует выполнять асинхронно, с помощью фонового задания.
К таким операциям относятся: формирование отчета, групповая обработка объектов, загрузка или выгрузка данных в другое приложение, заполнение больших табличных частей и т.п.
В противном случае такие вызовы могут привести к потере работоспособности приложения или затруднению работы с ним:
- браузер может предложить прекратить длительно выполняющийся сценарий, после чего приложение станет неработоспособным;
- веб сервер может прервать длительное обращение к серверу 1С:Предприятия и вернуть ошибку 504 (шлюз не отвечает);
- в случае длительного выполнения операции, у пользователя нет возможности отменить ее.
2.1. Общий подход к асинхронному выполнению длительных серверных операций с помощью фонового задания:
-
Код, выполняющий длительную обработку данных, располагается в модуле менеджера объекта* или в общем модуле. Результат своей работы он помещает во временное хранилище;
а для прочих мест – выводится блокирующая форма ( РежимОткрытияОкна = БлокироватьОкноВладельца ), на которой размещена декорация с анимированной картинкой и кнопка «Отмена» :
2.2. Асинхронное формирование отчета требуется только для тех отчетов, которые
- разработаны без использования СКД или с использованием СКД, но с переопределенной процедурой формирования отчета (переопределен обработчик кнопки «Сформировать» или в обработчике модуля отчета ПриКомпоновкеРезультата устанавливается СтандартнаяОбработка = Ложь ).
- и формирование которых, как правило, занимает длительное время.
Поведение таких отчетов должно быть максимально похожим на поведение отчетов на базе СКД, а именно:
- форму отчета не следует блокировать на время его формирования;
- пользователь может изменить настройки и переформировать отчет, не дожидаясь окончания его формирования;
- при закрытии формы отчета, формирование отчета прерывается.
3. При использовании в конфигурации Библиотеки стандартных подсистем в распоряжении разработчика имеются вспомогательные функции и процедуры общих модулей ДлительныеОперации , ДлительныеОперацииКлиент , а также процедура УстановитьСостояниеПоляТабличногоДокумента общего модуля ОбщегоНазначенияКлиентСервер .
Пример выполнения функции в фоновом задании при использовании в конфигурации Библиотеки стандартных подсистем. В модуле менеджера объекта размещена функция, которая выполняет поиск настроек и возвращает их:
Функция ОпределитьНастройкиУчетнойЗаписи(АдресЭлектроннойПочты, Пароль) Экспорт
.
Возврат Настройки;
КонецФункции
В форме объекта выполняется вызов этой функции в фоновом задании в три этапа:
1) запуск фонового задания на сервере,
2) подключение обработчика завершения фонового задания на клиенте,
3) обработка результата выполнения фонового задания.
&НаКлиенте
Процедура НастроитьПараметрыПодключенияАвтоматически()
// 1. Запуск фонового задания на сервере.
ДлительнаяОперация = НачатьПоискНастроекУчетнойЗаписи();
// 2. Подключение обработчика завершения фонового задания.
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
Оповещение = Новый ОписаниеОповещения("ПриЗавершенииПоискаНастроек", ЭтотОбъект);
ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, Оповещение, ПараметрыОжидания);
КонецПроцедуры
&НаСервере
Функция НачатьПоискНастроекУчетнойЗаписи()
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияФункции(УникальныйИдентификатор);
Возврат ДлительныеОперации.ВыполнитьФункцию(ПараметрыВыполнения, "Справочники.УчетныеЗаписиЭлектроннойПочты.ОпределитьНастройкиУчетнойЗаписи",
АдресЭлектроннойПочты, Пароль);
КонецФункции
// 3. Обработка результата выполнения фонового задания.
&НаКлиенте
Процедура ПриЗавершенииПоискаНастроек(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда // Пользователь отменил задание.
Возврат;
КонецЕсли;
Если Результат.Статус = "Ошибка" Тогда
ВызватьИсключение Результат.КраткоеПредставлениеОшибки;
КонецЕсли;
Настройки = ПолучитьИзВременногоХранилища(Результат.АдресРезультата);
УдалитьИзВременногоХранилища(Результат.АдресРезультата);
УстановитьНастройкиУчетнойЗаписи(Настройки);
Методическая рекомендация (полезный совет)
3.1. При каждом выполнении фонового задания его результат помещается во временное хранилище на время жизни формы:
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияФункции(УникальныйИдентификатор);
ДлительныеОперации.ВыполнитьФункцию(ПараметрыВыполнения, ПараметрФоновогоЗадания);
Если длительная операция выполняется пользователем многократно, пока эта форма открыта, то временные хранилища накапливаются, что вызывает рост потребления памяти. Поэтому для уменьшения расхода оперативной памяти в большинстве случаев рекомендуется очищать временное хранилище сразу после получения результата фонового задания:
Настройки = ПолучитьИзВременногоХранилища(Результат.АдресРезультата);
УдалитьИзВременногоХранилища(Результат.АдресРезультата); // Данные во временном хранилище больше не требуются.
Если же результат фонового задания требуется сохранять на протяжении нескольких серверных вызовов, то необходимо передавать фиксированный адрес заранее инициализированного временного хранилища:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ)
АдресРезультатаФоновогоЗадания = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор); // Резервируем адрес временного хранилища
КонецПроцедуры
&НаСервере
Функция НачатьПоискНастроекУчетнойЗаписи()
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияФункции(УникальныйИдентификатор);
ПараметрыВыполнения.АдресРезультата = АдресРезультатаФоновогоЗадания; // всегда используем одно и то же временное хранилище
Возврат ДлительныеОперации.ВыполнитьФункцию(ПараметрыВыполнения,
"Справочники.УчетныеЗаписиЭлектроннойПочты.ОпределитьНастройкиУчетнойЗаписи",
АдресЭлектроннойПочты, Пароль);
КонецФункции
4. Если в конфигурации реализуются алгоритмы, инициирующие запуск фоновых заданий или запись данных информационной базы без участия пользователя (например, регулярное обновление информации в открытой форме), то в них следует проверять, что в текущем сеансе не установлен монопольный режим. В противном случае, следует блокировать попытки выполнения таких действий. Например:
Если МонопольныйРежим() Тогда
Возврат;
КонецЕсли;
5. В некоторых случаях возникает необходимость в выполнении длительных операций, требующих установки монопольного режима доступа к информационной базе. Например:
Обновление данных ИБ при первом интерактивном запуске программы после обновления конфигурации; Выгрузка данных информационной базы в файл для перехода в сервис; Использования монопольного режима для снижения времени выполнения массовых операций по изменению данных;При этом необходимо сначала устанавливать монопольный режим, а затем выполнять запуск фонового задания, которое реализует саму длительную операцию. В этом случае фоновым заданием будет унаследован монопольный режим, ранее установленный из пользовательского сеанса (см. документацию к платформе).
На время выполнения этого фонового задания следует блокировать весь интерфейс приложения, открывая форму ожидания завершения операции в режиме РежимОткрытияОкна = БлокироватьВесьИнтерфейс. Блокировать интерфейс приложения требуется потому, что на время выполнения задания полноценная работа пользователя с приложением уже невозможна:
- Если пользователь(*) попытается записать какой-либо объект, это приведет к ошибке (из-за установленного монопольного режима);
- В ряде случаев могут запускаться фоновые задания в качестве реакции на действия пользователя случае (при поиске в динамическом списке, при вводе по строке, формировании отчетов и пр.), которые также завершатся с ошибкой.
Кроме того, на самой форме ожидания длительной операции не следует размещать элементы управления, которые могут приводить к запуску таких фоновых заданий. Например: поля ввода, динамические списки и отчеты.
* Примечание: ошибки записи также возникают в тех случаях, когда объекты записываются программно, например, из обработчиков ожидания. В них также следует проверять монопольный режим согласно п.5.
Читайте также: