Как в 1с сохранить настройки отчета в
Задача: Необходим механизм, позволяющий сохранять произвольные пользовательские данные (настройки). Настройки относятся к внешней обработке, вариант с изменением конфигурации не рассматривается. План видов характеристик трогать тоже нет желания.
В рамках заметки предложено два вариант работы с настройками пользователя.
Ваиант 1
Сохранение настроек:
ИмяНастройки = "ТЕСТ" ;
ЗначениеНастройки = Новый Структура ( "Это настройки произвольного типа, к примеру структура" , "" );
СохранитьЗначение ( ИмяНастройки , ЗначениеНастройки ) ;
- ИмяНастройки - ключ настроек, тип “строка”.
- значение - значение произвольного типа, возможность заманчивая, но не стоит слишком увлекаться и сохранять все подряд.
Восстановление настроек:
ИмяНастройки = "ТЕСТ" ;
ЗначениеНастройки = ВосстановитьЗначение ( ИмяНастройки );
Если ЗначениеНастройки = Неопределено Тогда
Сообщить ( "Нет настройки с ключем ТЕСТ!" );
КонецЕсли;
- ИмяНастройки - ключ настройки, тип “строка”
- возвращает значение произвольного типа, сохраненное ранее.Если восстановить не удалось, возвращает “Неопределено”
Плюсы
- прост в использовании
- возможно сохранить настройки произвольного типа текущего пользователя в текущей информационной базе
Минусы
Только толстый клиент
Вариант 2
Использование объекта ХранилищеОбщихНастроек. Считаю этот вариант наиболее удобным и гибким.
Объект доступен в глобальном контексте. Содержит следующие методы:
Сохранение настроек:
// ключи могут быть произвольными строками
КлючОбъекта = " MIKO " ;
КлючНастроек = "ПанельТелефонии" ;
// настройки могут быть произвольного типа
Настройки = Новый Структура ( "Это настройки произвольного типа, к примеру структура" , "" );
ИмяПользователя = ИмяПользователя ();
// имя пользователя - пользователь владелец настроек, если параметр не указать,
// то настройки будут сохранены для ТЕКУЩЕГО пользователя
ИмяПользователя = ИмяПользователя ();
ХранилищеОбщихНастроек .C охранить ( КлючОбъекта , КлючНастроек , Настройки , , ИмяПользователя );
Под пользователем понимается именно пользователь информационной базы! Пример получения имени текущего пользователя:
// получим имя
ИмяТекущегоПользователя = ИмяПользователя ();
// в типовых конфигурация используется справочник "Пользователи"
// в этом справочнике в стандартном реквизите "Код" обычно
// хранят информацию по имени пользователя, пример получения имени:
ИмяПользователя = Справочники . Пользователи . НайтиПоНаименованию ( "Администратор" ). Код ;
// обычно "Код", для этого справочника - строка фиксированной длинны, потому вероятно разумно обрезать пробелы справа:
ИмяПользователя = СокрП ( ИмяПользователя );
Восстановление настроек:
КлючОбъекта = " MIKO " ;
КлючНастроек = "ПанельТелефонии" ;
ВладелецНастроек = ИмяПользователя ();
// Для восстановления настроек необходимо воспользоваться функцией Загрузить
СтруктураНастроек = Неопределено;
Попытка
СтруктураНастроек = ХранилищеОбщихНастроек . Загрузить ( КлючОбъекта , КлючНастроек ,, ВладелецНастроек );
// если настроек нет, то будет возвращено значение "Неопределено"
Исключение
Сообщить ( "Нет прав на восстановление настроек." );
КонецПопытки;
Если СтруктураНастроек = Неопределено Тогда
Сообщить ( "Не вышло восстановить настройки!" );
КонецЕсли;
ВладелецНастроек - это имя пользователя, владельца настроек. Параметр очень важный.
Настройки других пользователей могут получать ТОЛЬКО пользователи с расширенными правами.
Необходимо право "АдминистрированиеДанных".
Пробелы справа игнорируются!
Плюсы
- Возможно работать со значениями настроек других пользователей.
- Доступность: Сервер, толстый клиент, внешнее соединение.
Получение всех ключей настроек по ключу объекта
// Пример получения всех настроек по ключу объекта
КлючОбъекта = "MIKO" ;
ВладелецНастроек = ИмяПользователя ();
Попытка
// возвращает список значений
// элементы списка - ключи настроек
СтруктураНастроек = ХранилищеОбщихНастроек . ПолучитьСписок ( КлючОбъекта , ВладелецНастроек );
Исключение
Сообщить ( "Нет прав на восстановление настроек." );
КонецПопытки;
Подведем итог
В рамках этой заметки я рассказал о двух вариантах работы с настройками пользователя. Пробуйте :).
Пошаговая инструкция сохранения настройки отчета в файл.
Шаг 1. Откройте Универсальный отчет в разделе Отчеты — Стандартные отчеты — Универсальный отчет .
Шаг 2. Вызовите команду Изменить вариант отчета : кнопка ЕЩЕ — Прочее — Изменить вариант отчета…
Шаг 3. Из формы изменения варианта настройки вызовите команду Сохранить настройки : кнопка ЕЩЕ — Сохранить настройки .
Шаг 4. В форме сохранения настройки в файл укажите:
- Имя файла — название настройки, например, Переходящие договоры;
- Тип файла — Документ XML (*.xml).
Настройки Универсального отчета сохранены в файл Переходящие договоры.xml.
Загрузить настройки
Используя сохраненную в файл настройку Универсального отчета , можно загрузить на другие компьютеры и базы данных.
Пошаговая инструкция загрузки настроек Универсального отчета из файла.
Шаг 1. Откройте Универсальный отчет в разделе Отчеты — Стандартные отчеты — Универсальный отчет .
Шаг 2. Вызовите команду Изменить вариант отчета : кнопка ЕЩЕ — Прочее — Изменить вариант отчета…
Шаг 3. Из формы изменения варианта отчета вызовите команду Загрузить настройки : кнопка ЕЩЕ — Загрузить настройки .
Шаг 4. Выберите файл настройки для загрузки.
Шаг 5. Нажмите на кнопку Завершить редактирование .
Шаг 6. По кнопке Сформировать сформируйте отчет с загруженными настройками.
Для того чтобы каждый раз не пришлось загружать настройки отчета БухЭксперт8 советует сохранить настройки отчета в 1С по кнопке Сохранить вариант отчета .
После ввода наименования настройки, например Переходящие договоры нам не придется каждый раз настраивать отчет заново. По кнопке Выбрать настройки достаточно выбрать сохраненную настройку.
См. также:
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
В ЗУП 3 реализованы следующие возможности.В данной статье мы расскажем о том, как с помощью..У вас нет доступа на просмотр Чтобы получить доступ:Оформите коммерческую.
(7 оценок, среднее: 4,43 из 5)
Публикацию можно обсудить в комментариях ниже.
Обратите внимание!
В комментариях наши эксперты не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно в Личном кабинете
У меня вопрос, пока я еще на версии 2.5. У меня там настроен очень удобный универсальный отчет, который я бы хотела перенести в версию 3, когда туда перейду. А переходить намерена с нового года. Поможете?
Здравствуйте!
Постараемся. Опишите пожалуйста Ваш настроенный Универсальный отчет из 2.5 в разделе «Задать вопрос»: Личный кабинет (вкладка «Мои вопросы» — «Задать вопрос»). Постараемся подсказать на основе каких регистров настроить этот отчет в ЗУП 3.
Копирование настроек выполняется через Персональные настройки пользователя : раздел Администрирование — Настройки программы — Настройки пользователей и прав — Персональные настройки пользователей .
Копирование производится по ссылкам:
- Копирование настроек — через копирование пользовательских настроек между учетными записями;
- Настройки пользователей — через управление пользовательскими настройками отчетов.
Мы рассмотрим каждый из этих вариантов, а вы сможете выбрать тот, что больше понравится.
Копирование настроек между учетными записями
В данном варианте выбранные настройки копируются от заданного пользователя другим пользователям 1С. Копирование происходит по ссылке Копирование настроек : раздел Администрирование — Настройки программы — Настройки пользователей и прав — Персональные настройки пользователей — Копирование настроек .
В открывшейся форме указывается конкретный пользователь, настройки которого нужно передать другим пользователям.
Копирование настроек между учетными записями позволяет перенести любые настройки указанного пользователя другим пользователям 1С.
Вызов формы копирования настроек
Откройте форму Копирование настроек : раздел Администрирование — Настройки программы — Настройки пользователей и прав — Персональные настройки пользователей — Копирование настроек .
Настройка шапки формы
В форме шапки укажите:
При подборе настроек будет вызвана специальная форма выбора, в которой нужно будет отметить флажком переносимые настройки.
Копирование выбранных настроек
После заполнения формы копирования настроек нажмите кнопку Скопировать .
Проверка переноса настроек
Для проверки переноса настроек заданным пользователям перейдите в форму настроек пользователей: раздел Администрирование —Настройки программы — Настройки пользователей и прав — Персональные настройки пользователей — Настройки пользователей.
В шапке формы укажите пользователя, которому переносили настройки:
Программа автоматически построит по данному пользователю полный отчет о доступных настройках. На вкладке Настройки отчетов проверьте для пользователя Бухгалтер наличие скопированных настроек от пользователя Администратор.
Управление настройками пользователей
Управление настройками пользователей выполняется в специальной форме: раздел Администрирование — Настройки программы —Настройки пользователей и прав — Персональные настройки пользователей — Настройки пользователей , которая позволяет:
- скопировать настройки другим;
- скопировать настройки от других.
Не все пользователи знают, что можно выбрать для копирования не одну настройку, а сразу несколько. Для этого нужно отметить все нужные настройки в списке, удерживая клавишу CTRL — они будут выделены в списке желтым цветом.
Копирование настроек другим пользователям
Выполняется из формы настройки пользователей: раздел Администрирование — Настройки программы —Настройки пользователей и прав — Персональные настройки пользователей — Настройки пользователей по кнопке Скопировать другим .
Настройка шапки формы
Укажите в шапке формы пользователя, настройки которого будете копировать.
Выбор копируемых настроек
На вкладке Настройки отчетов выделите настройки для переноса другим пользователям. При множественном выборе используйте клавишу CTRL.
Выбранные настройки выделяются желтым цветом.
Копирование настроек
В форме выбора пользователей для копирования настроек выставите флажок у пользователей, которым будут копироваться указанные настройки.
Проверка переноса настроек
Для проверки переноса настроек пользователю Бухгалтер выберите этого пользователя в шапке формы. На вкладке Настройки отчетов отобразятся перенесенные пользователю настройки:
- Анализ зарплаты помесячно (исправленный) — ПРОФБУХ;
- Анализ зарплаты ПРОФБУХ.
Копирование настроек от других пользователей
Выполняется из формы настройки пользователей: раздел Администрирование — Настройки программы — Настройки пользователей и прав — Персональные настройки пользователей — Настройки пользователей по кнопке Скопировать от .
Настройка шапки формы
Укажите в шапке формы пользователя, которому переносятся настройки.
Выбор копируемых настроек
- Пользователя, от которого будете копировать настройки.
- Кому копировать — заполняется автоматически из шапки настроек пользователя и недоступно для изменения. PDF
- Что копировать — предлагаются варианты:
- Все настройки — копируются все настройки выбранного пользователя.
- Отдельные настройки — подбираются отдельные настройки выбранного пользователя. При подборе настроек вызывается специальная форма, в которой нужно отметить флажком переносимые настройки. PDF
Копирование настроек
После выбора копируемых настроек нажмите кнопку Скопировать и закрыть .
Проверка переноса настроек
Для проверки переноса настроек пользователю Администратор выберите этого пользователя в шапке формы настройки пользователей. На вкладке Настройки отчетов отобразится перенесенная настройка:
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
Минфин в Письме от 13.08.2019 N 03-11-11/61091 напомнил, что форма..Чтобы уменьшить риск потери данных информационной базы 1С 8.3, рекомендуется.Продолжим разбор ситуации из статьи Выход участника из общества и.
(4 оценок, среднее: 5,00 из 5)
Публикацию можно обсудить в комментариях ниже.
Обратите внимание!
В комментариях наши эксперты не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно в Личном кабинетеДобрый день, Ирина.
Здесь мы не отвечаем на вопросы. Задать свой вопрос вы можете здесь: Личный кабинет .Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Нажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>Изменения в 2022 году, о которых нужно знать бухгалтеру
6-НДФЛ за 1 квартал 2022 в 1С
Санкции и контрмеры: как работать организации и ее бухгалтеру в новой реальности. Часть 2
Учет малоценных ОС и запасов (ОСН)
Переход на ФСБУ 6/2020 «Основные средства» в 1С по альтернативному алгоритму
Добрый день. Отличный ресурс. Довольно часто пользовалась рубрикаторами и принимала участие в вебинарах. Для меня очень важным оказалось пояснение выполнения операций именно в конфигурации. А ещё сильная законодательная поддержка.
Укажем папку, в которую будет распаковывать файлы (можно оставить папку по умолчанию) и воспользуемся командой Извлечь .
В нашем примере будет распакован файл Анализ взносов в фонды_buhexpert.xml.
Это и есть настройки, которые дальше будут загружены в отчет.
Загрузка настроек в отчет
Откроем необходимый отчет. В нашем случае это Анализ взносов в фонды ( Налоги и взносы – Отчеты по налогам и взносам — Анализ взносов в фонды ).
Воспользуемся командой Еще – Прочее – Изменить вариант отчета .
В ЗУП 3.1.19 и более поздних версиях открыть форму Изменения варианта отчета можно по команде Настройки — Расширенный режим — Еще — Настройки для технического специалиста .
В открывшейся форме обратимся к команде Еще – Загрузить настройки .
Выберем файл с настройкой, по команде Открыть подгрузим настройки.
Сохранение настроек отчета
Сохраним настройку отчета по команде Варианты отчета – Сохранить вариант отчета .
Зададим наименование варианта отчета и укажем для кого настройка будет доступа: только для автора или для указанных пользователей.
По кнопке Далее укажем раздел, в котором будет располагаться отчет, отметив его флажком. В нашем случае оставим раздел по умолчанию – Страховые взносы . Сохраним настройки.
Использование отчета
Откроем раздел, в котором сохранили настройку и найдем наименование нужного варианта отчета.
Откроем отчет, установим необходимые отборы и сформируем отчет:
Если Вы еще не подписаны:
Активировать демо-доступ бесплатно →
или
Оформить подписку на Рубрикатор →
После оформления подписки вам станут доступны все материалы по 1С:ЗУП, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
В программе Бухгалтерия ред. 3.0 разработчиками предусмотрен типовой набор отчетов.У вас нет доступа на просмотр Чтобы получить доступ:Оформите коммерческую...
(2 оценок, среднее: 5,00 из 5)
Публикацию можно обсудить в комментариях ниже.
Обратите внимание!
В комментариях наши эксперты не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно в Личном кабинетеДобрый день.
А где найти на сайте настройки отчетов для скачивания?Здравствуйте!
Сегодня разместили запись семинара. Настройки можно скачать на его странице — [19.01.2021 ЗАПИСЬ] ОТЧЕТНОСТЬ ПО СТРАХОВЫМ ВЗНОСАМ (4-ФСС, РСВ) ЗА 2020 В 1СЗдравствуйте , при формировании анализа ОПС за 9 мес. выдает ошибку. Скрин прилагаю.
Здравствуйте!
Подскажите с какой страницы скачивали настройки и в каком релизе работаете?Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Нажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>С 1 мая — новые коды в платежках при переводе денег физлицам
Поддерживающий ЗУП за апрель 2022 + Премии в ЗУП 3.1
6-НДФЛ за 1 квартал 2022 в 1С
Исключение матвыгоды за 2021-2023 гг. из обложения НДФЛ (ЗУП 3.1.21.75 / 3.1.18.435)
Добрый день. Отличный ресурс. Довольно часто пользовалась рубрикаторами и принимала участие в вебинарах. Для меня очень важным оказалось пояснение выполнения операций именно в конфигурации. А ещё сильная законодательная поддержка.
Задача: нужно хранить настройки отчета на СКД в базе, причем у каждого поль зователя должно быть произвольное количество настроек.
Для хранения настроек отчетов в УПП существуют два метаданных. Регистр сведений "Сохраненные настройки" и одноименный справочник.
Их структура похожа, в обоих есть информация:
- О пользователе, который может использовать данную настройку
- "СохранятьАвтоматически" - сохранять настройку при закрытии
- "ИспользоватьПриОткрытии" - при открытии будет выведен отчет по настройке с данной галочкой. Галочка может стоять только у одной настройки к каждому отчету. Если ни у одной настройки галочки нет, то будет выведена типовая настройка СКД.
- Реквизит с типом "Хранилище значения" (в справочнике реквизит "ХранилищеНастроек", в регистре сведений ресурс "СохраненнаяНастройка"). В данном объекте собсвенно и хранятся настройки. Как известно хранилище значения может хранить любое значение.
В регистре сведений хранятся настройки для отчетов, построенных на универсальном отчете, в справочнике - построенных на СКД. Логично сохранять настройки в справочнике. Но после беглого взгляда возникает несколько но:
- Данный справочник содержит предопределенные элементы, имя которых совпадает с именами отчетов. Свои же отчеты туда добавить нельзя, так как в результате обновления может возникнуть коллизия, 1с добавит новые элементы и в тоже время будут существовать предопределенные элементы, добавленные пользователем.
- Справочник заточен на работу с шаблоном отчета 1с, и процедуры и функции работы с сохранением настроек выдрать из него достаточно сложно.
Регистр сведений. Как говорилось выше - в нем хранятся настройки для отчетов на универсальном отчете. Но просмотрев механизм, я решил использовать его, так как процедуры работы с сохранением и восстановлением настроек взять гораздо проще, и более того, данный механизм использован не только в отчетах, но и в типовой обработке "Универсальный журнал", код из которой, немного изменив, я и приспоспособил для решения данной задачи.
Итак. На форму надо добавить кнопки сохранения и восстановления значений настроек , добавить процедуры к ним, и написать код в процедуры "ПриОткрытии" и "ПриЗакрытии".
Процедура ДействияФормыСохранитьНастройки ( Кнопка )
Если мТекущаяНастройка <>Неопределено Тогда
СтруктураНастройки = мТекущаяНастройка ;
Иначе
СтруктураНастройки = Новый Структура ;
СтруктураНастройки . Вставить ( "ИмяОбъекта" , Строка ( ЭтотОбъект ));
СтруктураНастройки . Вставить ( "НаименованиеНастройки" , Неопределено);
СтруктураНастройки . Вставить ( "ИспользоватьПриОткрытии" , Ложь);
СтруктураНастройки . Вставить ( "СохранятьАвтоматически" , Ложь);
КонецЕсли;СтруктураНастройки . Вставить ( "Пользователь" , глЗначениеПеременной ( "глТекущийПользователь" ));
СохраненнаяНастройка = Новый ХранилищеЗначения ( КомпоновщикНастроек . ПолучитьНастройки ());
СтруктураНастройки . Вставить ( "СохраненнаяНастройка" , СохраненнаяНастройка );ВозвращаемаяСтруктура = УниверсальныеМеханизмы . СохранениеНастроек ( СтруктураНастройки );
Если ВозвращаемаяСтруктура <> Неопределено Тогда
мТекущаяНастройка = ВозвращаемаяСтруктура ;
Иначе
мТекущаяНастройка = СтруктураНастройки ;
КонецЕсли;
Процедура ДействияФормыВосстановитьНастройки ( Кнопка )
СтруктураНастройки = Новый Структура ;
СтруктураНастройки . Вставить ( "Пользователь" , глЗначениеПеременной ( "глТекущийПользователь" ));
СтруктураНастройки . Вставить ( "ИмяОбъекта" , Строка ( ЭтотОбъект ));
СтруктураНастройки . Вставить ( "НаименованиеНастройки" , ?( мТекущаяНастройка = Неопределено, Неопределено, мТекущаяНастройка . НаименованиеНастройки ));ВозвращаемаяСтруктура = УниверсальныеМеханизмы . ВосстановлениеНастроек ( СтруктураНастройки );
Если ВозвращаемаяСтруктура <> Неопределено Тогда
мТекущаяНастройка = ВозвращаемаяСтруктура ;
КомпоновщикНастроек . ЗагрузитьНастройки ( мТекущаяНастройка . СохраненнаяНастройка . Получить ());
КонецЕсли;Процедура ПриОткрытии ()
СтруктураНастройки = Новый Структура ;
СтруктураНастройки . Вставить ( "Пользователь" , глЗначениеПеременной ( "глТекущийПользователь" ));
СтруктураНастройки . Вставить ( "ИмяОбъекта" , Строка ( ЭтотОбъект ));Если УниверсальныеМеханизмы . ПолучитьНастройкуИспользоватьПриОткрытии ( СтруктураНастройки ) Тогда
мТекущаяНастройка = СтруктураНастройки ;
КомпоновщикНастроек . ЗагрузитьНастройки ( мТекущаяНастройка . СохраненнаяНастройка . Получить ());
Иначе
//установка первоначальных настроек, например периода и т.д.
КонецЕсли;
КонецПроцедурыЕсли мТекущаяНастройка <> Неопределено И мТекущаяНастройка . НаименованиеНастройки <> Неопределено
И мТекущаяНастройка . Свойство ( "СохранятьАвтоматически" ) И мТекущаяНастройка . СохранятьАвтоматически ТогдаТекПользователь = глЗначениеПеременной ( "глТекущийПользователь" );
Если ТекПользователь <> мТекущаяНастройка . Пользователь Тогда
Ответ = Вопрос ( "Вы восстановили настройку другого пользователя, сохранить ее в
|ваших настройках?" , РежимДиалогаВопрос . ДаНет );
Если Ответ = КодВозвратаДиалога . Да Тогда
Если ВвестиСтроку ( мТекущаяНастройка . НаименованиеНастройки ,
"Укажите наименование сохраняемой настройки" ) Тогда
мТекущаяНастройка . Пользователь = ТекПользователь ;
УниверсальныеМеханизмы . СохранитьНастройку ( мТекущаяНастройка );
КонецЕсли;
КонецЕсли;
Иначе
УниверсальныеМеханизмы . СохранитьНастройку ( мТекущаяНастройка );
КонецЕсли;
КонецЕсли;Данный, достаточно небольшой код, позволяет сохранять и восстанавливать настройки внешнего отчета на СКД.
Читайте также: