1с управление торговлей 11 сохранение настроек форм
Думаю не многие знаю о том что в типовых конфигурация 1С можно отключать ненужные печатные формы у всех существующих документов. На самом деле это очень удобно так как в большая часть печатных форм в большинстве случаев не используется. При необходимость можно вообще отключить возможность печати какого либо документа. Это стоить сделать и для удобства использования конфигурации, лично я рекомендую всегда отключать и убирать не нужны элементы и возможности в 1С. Тем более что сделать это очень просто, порядок действий во всех типовых конфигурация примерно одинаковы. Для примера я покажу как можно отключить лишние печатные формы в «Управление торговлей редакция 11».
Продуктам фирмы 1С я посвятил достаточно много статей, для расширения своих знаний рекомендую с ними ознакомиться вот небольшая их часть, остальные можно найти через поиск.
Как отключить не нужные печатные формы документов в 1С УТ 11
Для примера возьмём документ «Заказ клиента» видим что по умолчанию у него целых 7 печатных форм. А нам скажем из них нужна только одна или две. Логично будет убрать лишние, это хоть немного да упростит и ускорить работу так как не нужно будет искать нужную форму.
Что бы это сделать идем в раздел «НСИ и администрирование» и ищем пункт под названием «Печатные формы, отчеты и обработки».
В открывшемся окне нас интересует пункт «Подменю Печать».
Дальше откроется список всех документов у которых есть печатные формы, нам нужно найти документ «Заказ клиента», раскрываем список и снимаем галочки напротив не нужных форм, сохраняем настройки.
Открываем список документов «Заказы клиентов» и смотрим что получилось.
Если Вы все сделали правильно у вас должны остаться только отмеченные печатные формы. По аналогии можно настроить печать и в других типовых конфигурация 1С. Как видите все достаточно просто ищем нужные документы и оставляем только нужные печатные формы.
Задача: Необходим механизм, позволяющий сохранять произвольные пользовательские данные (настройки). Настройки относятся к внешней обработке, вариант с изменением конфигурации не рассматривается. План видов характеристик трогать тоже нет желания.
В рамках заметки предложено два вариант работы с настройками пользователя.
Ваиант 1
Сохранение настроек:
ИмяНастройки = "ТЕСТ" ;
ЗначениеНастройки = Новый Структура ( "Это настройки произвольного типа, к примеру структура" , "" );
СохранитьЗначение ( ИмяНастройки , ЗначениеНастройки ) ;
- ИмяНастройки - ключ настроек, тип “строка”.
- значение - значение произвольного типа, возможность заманчивая, но не стоит слишком увлекаться и сохранять все подряд.
Восстановление настроек:
ИмяНастройки = "ТЕСТ" ;
ЗначениеНастройки = ВосстановитьЗначение ( ИмяНастройки );
Если ЗначениеНастройки = Неопределено Тогда
Сообщить ( "Нет настройки с ключем ТЕСТ!" );
КонецЕсли;
- ИмяНастройки - ключ настройки, тип “строка”
- возвращает значение произвольного типа, сохраненное ранее.Если восстановить не удалось, возвращает “Неопределено”
Плюсы
- прост в использовании
- возможно сохранить настройки произвольного типа текущего пользователя в текущей информационной базе
Минусы
Только толстый клиент
Вариант 2
Использование объекта ХранилищеОбщихНастроек. Считаю этот вариант наиболее удобным и гибким.
Объект доступен в глобальном контексте. Содержит следующие методы:
Сохранение настроек:
// ключи могут быть произвольными строками
КлючОбъекта = " MIKO " ;
КлючНастроек = "ПанельТелефонии" ;
// настройки могут быть произвольного типа
Настройки = Новый Структура ( "Это настройки произвольного типа, к примеру структура" , "" );
ИмяПользователя = ИмяПользователя ();
// имя пользователя - пользователь владелец настроек, если параметр не указать,
// то настройки будут сохранены для ТЕКУЩЕГО пользователя
ИмяПользователя = ИмяПользователя ();
ХранилищеОбщихНастроек .C охранить ( КлючОбъекта , КлючНастроек , Настройки , , ИмяПользователя );
Под пользователем понимается именно пользователь информационной базы! Пример получения имени текущего пользователя:
// получим имя
ИмяТекущегоПользователя = ИмяПользователя ();
// в типовых конфигурация используется справочник "Пользователи"
// в этом справочнике в стандартном реквизите "Код" обычно
// хранят информацию по имени пользователя, пример получения имени:
ИмяПользователя = Справочники . Пользователи . НайтиПоНаименованию ( "Администратор" ). Код ;
// обычно "Код", для этого справочника - строка фиксированной длинны, потому вероятно разумно обрезать пробелы справа:
ИмяПользователя = СокрП ( ИмяПользователя );
Восстановление настроек:
КлючОбъекта = " MIKO " ;
КлючНастроек = "ПанельТелефонии" ;
ВладелецНастроек = ИмяПользователя ();
// Для восстановления настроек необходимо воспользоваться функцией Загрузить
СтруктураНастроек = Неопределено;
Попытка
СтруктураНастроек = ХранилищеОбщихНастроек . Загрузить ( КлючОбъекта , КлючНастроек ,, ВладелецНастроек );
// если настроек нет, то будет возвращено значение "Неопределено"
Исключение
Сообщить ( "Нет прав на восстановление настроек." );
КонецПопытки;
Если СтруктураНастроек = Неопределено Тогда
Сообщить ( "Не вышло восстановить настройки!" );
КонецЕсли;
ВладелецНастроек - это имя пользователя, владельца настроек. Параметр очень важный.
Настройки других пользователей могут получать ТОЛЬКО пользователи с расширенными правами.
Необходимо право "АдминистрированиеДанных".
Пробелы справа игнорируются!
Плюсы
- Возможно работать со значениями настроек других пользователей.
- Доступность: Сервер, толстый клиент, внешнее соединение.
Получение всех ключей настроек по ключу объекта
// Пример получения всех настроек по ключу объекта
КлючОбъекта = "MIKO" ;
ВладелецНастроек = ИмяПользователя ();
Попытка
// возвращает список значений
// элементы списка - ключи настроек
СтруктураНастроек = ХранилищеОбщихНастроек . ПолучитьСписок ( КлючОбъекта , ВладелецНастроек );
Исключение
Сообщить ( "Нет прав на восстановление настроек." );
КонецПопытки;
Подведем итог
В рамках этой заметки я рассказал о двух вариантах работы с настройками пользователя. Пробуйте :).
Платформа 1с8 предлагает неплохой функционал хранения настроек пользователя - хранилище настроек. Оно прекрасно справляется с сохранением данных настроек в автоматическом режиме. Пока это касается данных конкретного пользователя. Но что, если нужно хранить общие для всех пользователей настройки? Например дополнительные настройки номенклатуры, сотрудников, видов расчета? Тут у хранилища включается ограничение прав - прочитать настройки других пользователей можно лишь обладая правами "АдминистрированиеДанных". Даже включение привилегированного режима не поможет.
Можно воспользоваться функционалом дополнительных реквизитов и сведений. Или создавать свои объекты для хранения, например регистры сведений, благо с расширениями это стало гораздо проще. Или сохранять данные во внешние источники, файлы или таблицы. Все это работает, но не всегда возможно.
Я обычно использую иной путь. Он опробован на нескольких проектах, и несколько лет работает без единого сбоя как в файловых базах, так и клиент-серверных, как в среде Windows, так и Linux.
В конфигурациях на базе БСП есть отличная подсистема - "Варианты отчетов". Вот ее я и предлагаю использовать.
Создаем служебный элемент в справочнике "ВариантыОтчетов". В реквизит "КлючВарианта" помещаем строковый идентификатор нашей настройки. В дальнейшем по этому идентификатору будем читать сохраненные настройки. В реквизит "Настройки" помещаем наши настройки в виде хранилища значений. Записываем элемент в базу, предварительно сняв пометку удаления (если она есть), чтобы особо ретивые админы не удалили наши данные. При следующем обращении к элементу ищем его по ключу варианта.
Данные настроек я разбил на два раздела - общие и персональные. Персональные по идее можно хранить по старому, пусть платформа этим занимается. Но раз уж я взялся, чтобы два раза не вставать, пишу сюда и персональные тоже. Для сохранения настроек передаёте их функции СохранитьНастройки в любом удобном для вас виде (в теле функции разделаете их, как бог черепаху, уже сами) и идентификатор настройки (необязательно, если у вас только один объект настройки). Для чтения необходим только идентификатор, опять же необязательный. Если в процессе работы над проектом структура настроек претерпела изменения, можно их скорректировать после чтения в функции ПереопределитьНастройкиНовымиЗначениями.
Весь код под спойлером. Его можно вынести в общий модуль, можно в модуль отчета/обработки. Выполняется весь код на сервере. Метод зарекомендовал себя отлично, решил поделиться с сообществом.
Раньше для копирования настроек пользователей нужно было использовать внешние обработки, сейчас же этот функционал есть практически во всех типовых конфигурациях. С его помощью процесс создания и настройки пользователей очень облегчился. Так как не нужно для каждого нового пользователя вручную выбирать роли, группы, права, производить настройки интерфейса и т.д. Можно просто скопировать все это. Сегодня на примере конфигурации «Управление торговлей 11» рассмотрим этот функционал. Данная статья предназначена тем кто только начинает изучать 1С, остальные могут её не читать.
На сайте очень много статей посвященных 1С, ниже оставлю ссылки на некоторые из них.
Копирование настроек пользователя в 1C УТ 11
Для того чтобы скопировать настройки пользователя необходимо открыть раздел «НСИ и администрирование» потом найти пункт «Настройки пользователей и прав».
Далее раскрываем раздел «Персональные настройки пользователей» и выбираем пункт «Копирование настроек».
В открывшемся окне сначала необходимо выбрать пользователя у которого будут скопированы настройки, потом выбрать того кому скопированы. Выбрать кстати можно сразу нескольких.
Можно скопировать все настройки либо выбрать отдельные.
В открывшемся окне просто отмечаем те которые хотим скопировать.
Чаще всего копируются полностью все настройки. Подобным образом можно скопировать настройки во всех типовых конфигурация 1С.
Резервное копирование это очень важный момент, особенно это касается 1С. Резервные копии должны создаваться ежедневно, еженедельно и ежемесячно. Под рукой всегда должны быть копии за последние 7 дней, последние 4 недели и последний месяц, это так сказать золотое правило резервного копирования. Чаще всего резервные копии создаются на сервере где храниться база данных. Вообще существует очень много способ настроить резервное копирование. Например, в самих конфигурациях 1С есть функционал который позволять без труда создать резервную копию и при необходимость восстановить данные из неё, так же есть возможность настройки автоматическое резервного копирования по расписанию. Сегодня на примере конфигурации «Управление торговлей редакции 11» рассмотрим процесс создания бэкапа информационной базы.
Прежде чем продолжить дальше рекомендую прочитать следующие статьи касающиеся 1С.
Как настроить резервное копирование БД УТ
Для начала необходимо открыть раздел «НСИ и администрирование» найти подраздел «Администрирование» и выбрать пункт «Обслуживание».
Далее в открывшемся окне разворачиваем пункт «Резервное копирование и восстановление». Для того что бы создать резервную копию информационной базы нажимаем «Создание резервной копии», после чего указываем каталог для хранения и жмем «Сохранить резервную копию».
После чего начнется процесс создания копии, время создания бэкапа будет зависеть от размера вашей базы, технических характеристик ПК.
Для того чтобы восстановить базу из копии нужно в том же меню выбрать пункт «Восстановление из резервной копии» в открывшемся окне указать путь до архива и нажать «Восстановить данные».
После чего начнется процесс восстановления.
Для того чтобы настроить автоматическое резервное копирование, открываем пункт «Настройка резервного копирования». Первым делом отмечаем пункт «Выполнять автоматическое резервное копирование», далее выбираем вариант создания, по расписанию либо при завершении работы. Указываем каталог для хранения копий, выбираем необходимое количество хранимых копий и сохраняем настройки.
Так же можно более детально настроить расписание.
Хранить резервные копии лучше где-то в сети или на съемном жестком диске. Это самый простой способ резервного копирования информационной базы 1С УТ, который не требует особых знаний и дополнительного ПО.
Читайте также: