Как восстановить настройки 1с
В статье показаны способы восстановления базы 1С с помощью встроенных в программу инструментов или сторонних приложений . Как создать и восстановить резервную копию базы данных. Для большинства пользователей продуктов компании 1С , повреждение или утеря базы «1С: Предприятие» есть тем, о чём даже боятся говорить. Для них, задача по восстановлению базы данных кажется просто нереальной, а её утеря страшной трагедией.
На самом деле, продукты компании 1С являются таким же программным обеспечением, как и любое другое. Информация, которую пользователи вносят в свои базы данных сохраняется в файлах, из которых можно создавать резервные копии или восстанавливать в случае повреждения или удаления. Часто для этого достаточно встроенных в «1С: Предприятие» инструментов, но и о стороннем программном обеспечении также забывать не стоит.
Файлы базы данных 1С
Для лучшего понимания того, каким образом происходит восстановление повреждённых или утерянных баз 1С, давайте ознакомимся с файлами, в которых они сохраняются.
По умолчанию, каталогом информационной базы, в котором кроме файла самой базы 1С сохраняются все файлы, которые имеют к ней отношение, является папка в Документах пользователя:
C:\Users\Имя Пользователя\Documents\InfoBase
В этой папке хранятся все файлы, которые имеют отношение к данной базе данных.
К таким файлам относятся:
- *.1CD – файл самой базы данных, который по умолчанию имеет название 1Cv8.1CD. Данный файл включает в себя все данные, которые внесены в базу данных, а также их конфигурацию;
- *.cf, *.cfu (*.cfl), *.dt, *.epf (*.erf) – конфигурационные файлы базы данных;
- *.log, *.lgf, *.lgp, *.elf – лог файлы;
- *.cdn – файл блокировки базы данных 1С;
- *.efd – архивный файл 1С;
- *.mft – вспомогательный файл конфигурации шаблона;
- *.st – файл шаблонов текстов
- *.mxl – файл печатных форм базы данных 1С;
- *.grs – файл графических схем базы данных 1С;
- *.geo – файл географических схем базы данных 1С.
Признаки и причины повреждения базы 1С
Причины повреждения базы 1С могут быть физического или логического происхождения.
Последствия физических причин повреждения баз банных самые тяжелые, так как связаны с повреждением носителя информации, на котором хранятся данные. Это может быть повреждение внешнего или встроенного жесткого диска, оптического носителя информации, флешки или карты памяти. В данном случае, чтобы иметь возможность восстановить базу 1С, необходимо вернуть работоспособность носителю информации.
Логические повреждения баз происходят в результате сбоев в работе программного обеспечения, неправильного или внезапного отключения компьютера или носителя информации, неправильная работа сетевого оборудования, а также вирусы и деятельность вредоносных программ.
Задача: Необходим механизм, позволяющий сохранять произвольные пользовательские данные (настройки). Настройки относятся к внешней обработке, вариант с изменением конфигурации не рассматривается. План видов характеристик трогать тоже нет желания.
В рамках заметки предложено два вариант работы с настройками пользователя.
Ваиант 1
Сохранение настроек:
ИмяНастройки = "ТЕСТ" ;
ЗначениеНастройки = Новый Структура ( "Это настройки произвольного типа, к примеру структура" , "" );
СохранитьЗначение ( ИмяНастройки , ЗначениеНастройки ) ;
- ИмяНастройки - ключ настроек, тип “строка”.
- значение - значение произвольного типа, возможность заманчивая, но не стоит слишком увлекаться и сохранять все подряд.
Восстановление настроек:
ИмяНастройки = "ТЕСТ" ;
ЗначениеНастройки = ВосстановитьЗначение ( ИмяНастройки );
Если ЗначениеНастройки = Неопределено Тогда
Сообщить ( "Нет настройки с ключем ТЕСТ!" );
КонецЕсли;
- ИмяНастройки - ключ настройки, тип “строка”
- возвращает значение произвольного типа, сохраненное ранее.Если восстановить не удалось, возвращает “Неопределено”
Плюсы
- прост в использовании
- возможно сохранить настройки произвольного типа текущего пользователя в текущей информационной базе
Минусы
Только толстый клиент
Вариант 2
Использование объекта ХранилищеОбщихНастроек. Считаю этот вариант наиболее удобным и гибким.
Объект доступен в глобальном контексте. Содержит следующие методы:
Сохранение настроек:
// ключи могут быть произвольными строками
КлючОбъекта = " MIKO " ;
КлючНастроек = "ПанельТелефонии" ;
// настройки могут быть произвольного типа
Настройки = Новый Структура ( "Это настройки произвольного типа, к примеру структура" , "" );
ИмяПользователя = ИмяПользователя ();
// имя пользователя - пользователь владелец настроек, если параметр не указать,
// то настройки будут сохранены для ТЕКУЩЕГО пользователя
ИмяПользователя = ИмяПользователя ();
ХранилищеОбщихНастроек .C охранить ( КлючОбъекта , КлючНастроек , Настройки , , ИмяПользователя );
Под пользователем понимается именно пользователь информационной базы! Пример получения имени текущего пользователя:
// получим имя
ИмяТекущегоПользователя = ИмяПользователя ();
// в типовых конфигурация используется справочник "Пользователи"
// в этом справочнике в стандартном реквизите "Код" обычно
// хранят информацию по имени пользователя, пример получения имени:
ИмяПользователя = Справочники . Пользователи . НайтиПоНаименованию ( "Администратор" ). Код ;
// обычно "Код", для этого справочника - строка фиксированной длинны, потому вероятно разумно обрезать пробелы справа:
ИмяПользователя = СокрП ( ИмяПользователя );
Восстановление настроек:
КлючОбъекта = " MIKO " ;
КлючНастроек = "ПанельТелефонии" ;
ВладелецНастроек = ИмяПользователя ();
// Для восстановления настроек необходимо воспользоваться функцией Загрузить
СтруктураНастроек = Неопределено;
Попытка
СтруктураНастроек = ХранилищеОбщихНастроек . Загрузить ( КлючОбъекта , КлючНастроек ,, ВладелецНастроек );
// если настроек нет, то будет возвращено значение "Неопределено"
Исключение
Сообщить ( "Нет прав на восстановление настроек." );
КонецПопытки;
Если СтруктураНастроек = Неопределено Тогда
Сообщить ( "Не вышло восстановить настройки!" );
КонецЕсли;
ВладелецНастроек - это имя пользователя, владельца настроек. Параметр очень важный.
Настройки других пользователей могут получать ТОЛЬКО пользователи с расширенными правами.
Необходимо право "АдминистрированиеДанных".
Пробелы справа игнорируются!
Плюсы
- Возможно работать со значениями настроек других пользователей.
- Доступность: Сервер, толстый клиент, внешнее соединение.
Получение всех ключей настроек по ключу объекта
// Пример получения всех настроек по ключу объекта
КлючОбъекта = "MIKO" ;
ВладелецНастроек = ИмяПользователя ();
Попытка
// возвращает список значений
// элементы списка - ключи настроек
СтруктураНастроек = ХранилищеОбщихНастроек . ПолучитьСписок ( КлючОбъекта , ВладелецНастроек );
Исключение
Сообщить ( "Нет прав на восстановление настроек." );
КонецПопытки;
Подведем итог
В рамках этой заметки я рассказал о двух вариантах работы с настройками пользователя. Пробуйте :).
Один из пороков программ - забывчивость. Пользователь настраивал настраивал под себя интерфейс, закрыл форму, открыл и вуаля. настраивай все заново. Так можно и монитор сломать. Проблему усугубляет отсутствие стандартного механизма сохранения/восстановления настроек динамических списков. Под катом решение проблемы.
Идея не моя, я ее только докрутил под себя. Вычитал основу тут.
Основные моменты и предпосылки:
1) Преобразуем настройки списков так, чтобы их можно было сохранять
2) в 95% случаев при открытии формы нам нужно, чтобы восстановилось последнее состояние формы, а не по умолчанию или список выбора сохраненной настройки(которую еще и сохранить до этого нужно было)
3) Списки в основном учавствуют в формах списка и выбора, где нет других полей к сохранению, поэтому к стандартному механизму с методами ПриСохраненииДанныхВНастройкахНаСервере и ПриЗагрузкеДанныхИзНастроекНаСервере больно то не подрубишся
После небольшой работы мозгами получилось следующее:
в форме пишем такой код:
&НаСервере
Процедура ПриСозданииНаСервере ( Отказ , СтандартнаяОбработка )
ксНастройкиСервер . ВосстановитьНастройкиСписка ( ЭтаФорма );
&НаКлиенте
Процедура ПриЗакрытии ()
ксНастройкиСервер . СохранитьНастройкиСписка ( ЭтаФорма );
или аналогично внедряем в методы ПриСохраненииДанныхВНастройкахНаСервере и ПриЗагрузкеДанныхИзНастроекНаСервере одноименные процедуры.
Внедряем в конфигурацию общий модуль ксНастройкаСервер с таким содержанием:
Процедура СохранитьНастройкиСписка ( пФорма , пИмяСписка = "" ) Экспорт
Настройки = Новый Соответствие ;
ПриСохраненииДанныхВНастройках ( Настройки , пФорма , пИмяСписка );
ХранилищеНастроекДанныхФорм . Сохранить ( пФорма . ИмяФормы ,, Настройки );
Процедура ВосстановитьНастройкиСписка ( пФорма , пИмяСписка = "" ) Экспорт
Настройки = ХранилищеНастроекДанныхФорм . Загрузить ( пФорма . ИмяФормы );
Если ТипЗнч ( Настройки ) = Тип ( "Соответствие" ) Тогда
ПриЗагрузкеДанныхИзНастроек ( Настройки , пФорма , пИмяСписка );
Процедура ПриСохраненииДанныхВНастройках ( Настройки , пФорма , пИмяСписка = "" ) Экспорт
Если ЗначениеЗаполнено ( пИмяСписка ) Тогда
УстановитьНастройкиДинСпискаВСоответствиие ( Настройки , пФорма [ имяСписка ], пИмяСписка );
Процедура УстановитьНастройкиДинСпискаВСоответствиие ( пСоответствие , пСписок , пИмяСписка = "" )
префиксКлюча = ПрефиксКлючаНастроекСписка ( пИмяСписка );
пСоответствие . Вставить ( префиксКлюча + "Группировка" , СериализоватьГруппировки ( пСписок . Группировка ) );
пСоответствие . Вставить ( префиксКлюча + "Отбор" , СериализоватьОтбор ( пСписок . Отбор ) );
пСоответствие . Вставить ( префиксКлюча + "Порядок" , СериализоватьПорядок ( пСписок . Порядок ) );
пСоответствие . Вставить ( префиксКлюча + "УсловноеОформление" , СериализоватьУсловноеОформление ( пСписок . УсловноеОформление ) );
Функция ПрефиксКлючаНастроекСписка ( пИмяСписка )
Если ЗначениеЗаполнено ( пИмяСписка ) Тогда
префиксКлюча = пИмяСписка + "_" ;
Процедура ПриЗагрузкеДанныхИзНастроек ( Настройки , пФорма , пИмяСписка = "" ) Экспорт
Если ЗначениеЗаполнено ( пИмяСписка ) Тогда
УстановитьНастройкиИзСоответствияВДинСписок ( Настройки , пФорма [ имяСписка ], пИмяСписка );
Процедура УстановитьНастройкиИзСоответствияВДинСписок ( пСоответствие , пСписок , пИмяСписка = "" )
префиксКлюча = ПрефиксКлючаНастроекСписка ( пИмяСписка );
ДесериализоватьГруппировки ( пСоответствие [ префиксКлюча + "Группировка" ] , пСписок . Группировка );
ДесериализоватьОтбор ( пСоответствие [ префиксКлюча + "Отбор" ] , пСписок . Отбор );
ДесериализоватьПорядок ( пСоответствие [ префиксКлюча + "Порядок" ] , пСписок . Порядок );
ДесериализоватьУсловноеОформление ( пСоответствие [ префиксКлюча + "УсловноеОформление" ] , пСписок . УсловноеОформление );
// Группировки
Функция СериализоватьГруппировки ( пГруппировки )
ЗаписьXML = Новый ЗаписьXML ();
ЗаписьXML . УстановитьСтроку ();
ЗаписьXML . ЗаписатьНачалоЭлемента ( "Группировки" );
Для Каждого цЭлементГруппировки Из пГруппировки . Элементы Цикл
СериализаторXDTO . ЗаписатьXML ( ЗаписьXML , цЭлементГруппировки );
КонецЦикла;
ЗаписьXML . ЗаписатьКонецЭлемента ();
Возврат ЗаписьXML . Закрыть ();
Процедура ДесериализоватьГруппировки ( пНастройки_Группировка , пГруппировка )
пГруппировка . Элементы . Очистить ();
Если пНастройки_Группировка <> Неопределено Тогда
ЧтениеXML = Новый ЧтениеXML ();
ЧтениеXML . УстановитьСтроку ( пНастройки_Группировка );
ЧтениеXML . ПерейтиКСодержимому ();
Если ЧтениеXML . ТипУзла = ТипУзлаXML . НачалоЭлемента И ЧтениеXML . Имя = "Группировки" Тогда
ЧтениеXML . Прочитать ();
Пока ЧтениеXML . ТипУзла <> ТипУзлаXML . КонецЭлемента И ЧтениеXML . Имя <> "Группировки" Цикл
ПолеГруппировкиXML = СериализаторXDTO . ПрочитатьXML ( ЧтениеXML );
ПолеГруппировки = пГруппировка . Элементы . Добавить ( Тип ( "ПолеГруппировкиКомпоновкиДанных" ));
ЗаполнитьЗначенияСвойств ( ПолеГруппировки , ПолеГруппировкиXML );
КонецЦикла;
КонецЕсли;
КонецЕсли;
Функция СериализоватьПорядок ( пПорядок )
ЗаписьXML = Новый ЗаписьXML ();
ЗаписьXML . УстановитьСтроку ();
ЗаписьXML . ЗаписатьНачалоЭлемента ( "Порядок" );
Для Каждого цЭлементПорядка Из пПорядок . Элементы Цикл
СериализаторXDTO . ЗаписатьXML ( ЗаписьXML , цЭлементПорядка );
КонецЦикла;
ЗаписьXML . ЗаписатьКонецЭлемента ();
Возврат ЗаписьXML . Закрыть ();
Функция ДесериализоватьПорядок ( пНастройки_Порядок , пПорядок )
пПорядок . Элементы . Очистить ();
Если пНастройки_Порядок <> Неопределено Тогда
ЧтениеXML = Новый ЧтениеXML ();
ЧтениеXML . УстановитьСтроку ( пНастройки_Порядок );
ЧтениеXML . ПерейтиКСодержимому ();
Если ЧтениеXML . ТипУзла = ТипУзлаXML . НачалоЭлемента И ЧтениеXML . Имя = "Порядок" Тогда
ЧтениеXML . Прочитать ();
Пока ЧтениеXML . ТипУзла <> ТипУзлаXML . КонецЭлемента И ЧтениеXML . Имя <> "Порядок" Цикл
ПолеПорядкаXML = СериализаторXDTO . ПрочитатьXML ( ЧтениеXML );
ПолеПорядка = пПорядок . Элементы . Добавить ( ТипЗнч ( ПолеПорядкаXML ));
ЗаполнитьЗначенияСвойств ( ПолеПорядка , ПолеПорядкаXML );
КонецЦикла;
КонецЕсли;
КонецЕсли;
Функция СериализоватьОтбор ( пОтбор )
ЗаписьXML = Новый ЗаписьXML ();
ЗаписьXML . УстановитьСтроку ();
ЗаписьXML . ЗаписатьНачалоЭлемента ( "Отборы" );
Для Каждого цЭлементОтбора Из пОтбор . Элементы Цикл
СериализаторXDTO . ЗаписатьXML ( ЗаписьXML , цЭлементОтбора );
КонецЦикла;
ЗаписьXML . ЗаписатьКонецЭлемента ();
Возврат ЗаписьXML . Закрыть ();
Процедура ДесериализоватьОтбор ( пНастройки_Отбор , пОтбор )
пОтбор . Элементы . Очистить ();
Если пНастройки_Отбор <> Неопределено Тогда
ЧтениеXML = Новый ЧтениеXML ();
ЧтениеXML . УстановитьСтроку ( пНастройки_Отбор );
ЧтениеXML . ПерейтиКСодержимому ();
Если ЧтениеXML . ТипУзла = ТипУзлаXML . НачалоЭлемента И ЧтениеXML . Имя = "Отборы" Тогда
ЧтениеXML . Прочитать ();
Пока ЧтениеXML . ТипУзла <> ТипУзлаXML . КонецЭлемента И ЧтениеXML . Имя <> "Отборы" Цикл
ПолеОтбораXML = СериализаторXDTO . ПрочитатьXML ( ЧтениеXML );
ПолеОтбора = пОтбор . Элементы . Добавить ( ТипЗнч ( ПолеОтбораXML ));
СкопироватьЭлементыОтбораРекурсивно ( ПолеОтбораXML , ПолеОтбора );
//ПолеОтбора.Поле = ПолеОтбораXML.Поле;
КонецЦикла;
КонецЕсли;
КонецЕсли;
Процедура СкопироватьЭлементыОтбораРекурсивно ( пОтборОткуда , пОтборКуда );
ЗаполнитьЗначенияСвойств ( пОтборКуда , пОтборОткуда );
Если ТипЗнч ( пОтборОткуда ) = Тип ( "ГруппаЭлементовОтбораКомпоновкиДанных" ) Тогда
Для Каждого ЭлементОтбора Из пОтборОткуда . Элементы Цикл
НовыйЭлементОтбора = пОтборКуда . Элементы . Добавить ( ТипЗнч ( ЭлементОтбора ));
СкопироватьЭлементыОтбораРекурсивно ( ЭлементОтбора , НовыйЭлементОтбора );
КонецЦикла;
КонецЕсли;
Функция СериализоватьУсловноеОформление ( пУсловноеОформление )
ЗаписьXML = Новый ЗаписьXML ();
ЗаписьXML . УстановитьСтроку ();
ЗаписьXML . ЗаписатьНачалоЭлемента ( "УсловноеОформление" );
Для Каждого цЭлементУсловногоОформления Из пУсловноеОформление . Элементы Цикл
СериализаторXDTO . ЗаписатьXML ( ЗаписьXML , цЭлементУсловногоОформления );
КонецЦикла;
ЗаписьXML . ЗаписатьКонецЭлемента ();
Возврат ЗаписьXML . Закрыть ();
Функция ДесериализоватьУсловноеОформление ( пНастройки_УсловноеОформление , пУсловноеОформление )
пУсловноеОформление . Элементы . Очистить ();
Если пНастройки_УсловноеОформление <> Неопределено Тогда
ЧтениеXML = Новый ЧтениеXML ();
ЧтениеXML . УстановитьСтроку ( пНастройки_УсловноеОформление );
ЧтениеXML . ПерейтиКСодержимому ();
Если ЧтениеXML . ТипУзла = ТипУзлаXML . НачалоЭлемента И ЧтениеXML . Имя = "УсловноеОформление" Тогда
ЧтениеXML . Прочитать ();
Пока ЧтениеXML . ТипУзла <> ТипУзлаXML . КонецЭлемента И ЧтениеXML . Имя <> "УсловноеОформление" Цикл
ПолеУсловногоОформленияXML = СериализаторXDTO . ПрочитатьXML ( ЧтениеXML );
ПолеУсловногоОформления = пУсловноеОформление . Элементы . Добавить ();
ЗаполнитьЗначенияСвойств ( ПолеУсловногоОформления , ПолеУсловногоОформленияXML );
Для Индекс = 0 по ПолеУсловногоОформленияXML . Оформление . ДоступныеПараметры . Элементы . Количество ()- 1 Цикл
ЗаполнитьЗначенияСвойств ( ПолеУсловногоОформления . Оформление . ДоступныеПараметры . Элементы [ Индекс ],
ПолеУсловногоОформленияXML . Оформление . ДоступныеПараметры . Элементы [ Индекс ]);
КонецЦикла;
Для Индекс = 0 по ПолеУсловногоОформленияXML . Оформление . Элементы . Количество ()- 1 Цикл
ЗаполнитьЗначенияСвойств ( ПолеУсловногоОформления . Оформление . Элементы [ Индекс ],
ПолеУсловногоОформленияXML . Оформление . Элементы [ Индекс ]);
КонецЦикла;
Для каждого ЭлементОтбораXML ИЗ ПолеУсловногоОформленияXML . Отбор . Элементы Цикл
ЭлементОтбора = ПолеУсловногоОформления . Отбор . Элементы . Добавить ( ТипЗнч ( ЭлементОтбораXML ));
СкопироватьЭлементыОтбораРекурсивно ( ЭлементОтбораXML , ЭлементОтбора );
КонецЦикла;
Для каждого ПолеXML ИЗ ПолеУсловногоОформленияXML . Поля . Элементы Цикл
Поле = ПолеУсловногоОформления . Поля . Элементы . Добавить ();
ЗаполнитьЗначенияСвойств ( Поле , ПолеXML );
КонецЦикла;
КонецЦикла;
КонецЕсли;
КонецЕсли;
В конфигурации 1С заложен гибкий механизм настройки внешнего вида программы: пользователи могут самостоятельно перестраивать расположение панелей разделов, скрывать неиспользуемые пункты или добавлять новые.
Что делать, если в процессе работы 1С пропало главное меню или возникли другие проблемы с интерфейсом? Восстановить прежний вид программы или настроить ее «под себя» помогут рекомендации из этой статьи.
Типовой интерфейс программы
В программах 1С прописаны стандартные настройки интерфейса, которые определяются по умолчанию при установке. Разберем первоначальный вид окна программы на примере 1С:Предприятия 8.3.17.1549 с конфигурацией Бухгалтерия 3.0.67.54.
В верхней части расположена Главная панель , которая содержит (слева направо):
- имя текущего пользователя;
- меню Сервис и настройки — аналог главного меню предыдущих версий. Новый вид меню приобрело с версии 8.3.15. До изменения кнопка меню располагалась в начале главной панели после логотипа
По умолчанию в рабочей области закреплены две панели: Панель открытых и Панель разделов . Изменить состав и расположение можно в редакторе панелей.
В нижней части программы отображаются показатели производительности: текущие и накопленные вызовы. Для обычных пользователей эта информация бесполезна. Отключаются в параметрах ( Сервис и настройки — Настройки — Параметры ) снятием флага у поля Отображать показатели производительности .
Настройка и восстановление внешнего вида 1С
В процессе разработки новых версий разработчики 1С совершенствуют не только функционал, но и интерфейс: добавляют/удаляют новые элементы, изменяют расположение панелей/разделов/пунктов меню.
Например, после обновления платформы до версии 8.3.15 пользователи обращались в техподдержку 1С с вопросом: куда пропало главное меню в 1С 8.3? В новом релизе разработчики сменили значок меню, переименовали его в Сервис и настройки , перенесли вправо и переработали содержание.
А еще в новых версиях пункт Все функции был переименован в Функции технического специалиста .
Заголовок программы
Изменить заголовок программы 1С может только пользователь с правами администратора.
Чтобы задать другой заголовок:
- перейдите в меню Администрирование — Общие настройки ;
- в поле Заголовок программы укажите новое наименование.
Меню избранных объектов
Для быстрого доступа к документам\справочникам\отчетам\обработкам, чтобы не искать их каждый раз в разделах меню, используют инструмент Избранное . Объект добавляется в окно Избранное после отметки его звездочкой.
Редактор панелей
Редактор панелей позволяет разместить в рабочей области программы:
- Панель открытых — текущие открытые окна;
- Панель разделов — список подсистем конфигурации;
- Панель функций текущего раздела — объединяет все объекты и команды подсистемы в один компактный список;
- Панель избранного — содержит часто используемые элементы, отмеченные пользователем специальным знаком в виде звезды;
- Панель истории — хранит объекты/отчеты/команды/обработки, которые пользователь открывал ранее.
Состав списка панелей закреплен на уровне платформы и не изменяется.
Рассмотрим Редактор панелей на примере. Настроим постоянное отображение Панели избранного :
- Выберите пункт Сервис и настройки — Настройки — Настройка панелей .
- Откроется окно Редактор панелей с эскизом текущего расположения разделов в программе. В нижней части на сером фоне перечислены неиспользуемые разделы. Захватите Панель избранного и перетащите в удобное место. Панели можно объединять или размещать в свободном пространстве, которое выделено пунктиром.
- Для просмотра результата нажмите Применить и оцените удобство добавленной панели в программе.
Если в процессе настройки в 1С пропала верхняя панель открытых окно (или любая другая), вернуться к первоначальному виду интерфейса можно с помощью кнопки Стандартные в окне Редактора панелей .
А что если в 1С пропала Панель функций — как вернуть ее на прежнее место? Действия будут аналогичны настройке Панели избранного .
Использование Панели функций текущего раздела влияет на внешний вид программы: все подпункты разделов компактно размещаются на панели функций, которая всегда вида в процессе работы. Но при этом сокращается свободное пространство для отображения данных.
Механизм редактирования интерфейса через редактор панелей идентичен во всех конфигурациях последних версий.
Настройка панели разделов
Разберем настройку разделов на примере конфигурации 1С:Бухгалтерия 3.0, где они по умолчанию расположены слева, а каждый пункт представлен в виде картинки и наименования.
Для изменения списка разделов перейдите в меню Сервис и настройки — Настройки — Настройка панели разделов .
В правом окне перечислены отображаемые разделы. Список корректируется кнопками Добавить и Удалить . Также можно сменить представление в поле Показывать . Например, пользователи с хорошим знанием иконок разделов могут установить настройку Показывать в вариант Картинка , это позволит освободить дополнительное место для рабочего процесса.
Как в 1С вернуть панель меню к первоначальному виду и составу? Из подменю кнопки Еще выполнить команду Установить стандартные настройки .
Если в 1С панель разделов отсутствует или пропала, воспользуйтесь одним из вариантов решения:
- Проверьте настройки расположения панелей в Редакторе панелей . Панель разделов должна быть закреплена на рабочем поле, в противном случае ее следует туда переместить из области доступных панелей (подсвечена серым цветом). Месторасположение панели в программе не имеет значения.
- Если в окне Настройка панели разделов в 1С 8.3 пустая область Выбранные разделы , то панель считается бесполезной и скрывается программой по умолчанию. Для отображения должен присутствовать хотя бы один выбранный пункт. Разделы добавляются одноименной кнопкой путем перемещения из списка доступных в левом части окна.
- Проверьте, что включена видимость всех панелей. В меню Сервис и настройки — Настройки у пункта Скрыть все панели не должно стоять отметки.
- После выпуска версии платформы 8.3.15.1747 в ней были обнаружены неисправности, одна из которых связана с панелью разделов: при попытке настроить, панель пропадала. Восстановить первоначальный вид можно только через пересоздание текущего пользователя 1С, а изменить ее вид или содержание в этом релизе невозможно.
Кроме панели разделов проблемы возникали с панелью навигации и панелью действий. Для корректной работы следует обновить платформу до версии 8.3.15.1778 и выше. Чтобы выяснить, какой релиз платформы установлен сейчас, перейдите в меню Сервис и настройки — О программе .
Когда на панели не хватает положенных разделов и они отсутствуют в окне настройки разделов:
- отображение разделов ограничено функциональностью программы. Для переключения перейдите в Главное — Функциональность программы , на вкладке Главное выберите Полная ;
- отключен интерфейс Такси — основной для конфигурации 1С:Бухгалтерия с версии 3.0.52.Настройка включения/выключения хранится в константе Интерфейс Такси . Найти ее можно в списке функций: Сервис и настройки — Функции технического специалиста .Для включения поставьте флажок и перезагрузите программу.
Не путайте константу с настройкой внешнего вида в параметрах, флаг у пункта Такси не влияет на константу Интерфейс Такси и с ней не связан.
Простой и удобный механизм настройки интерфейса дает возможность пользователям самостоятельно перестраивать рабочее окно программы без привлечения специалиста 1С. Последние версии конфигурации, работающие на платформе 1С:Предприятие, имеют интерфейс Такси со сходными инструментами настройки. Поэтому освоив работу в одной конфигурации, вы сможете быстрее сориентироваться в другой.
См. также:
Если Вы еще не подписаны:
Активировать демо-доступ бесплатно →
или
Оформить подписку на Рубрикатор →
После оформления подписки вам станут доступны все материалы по 1С:Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
В программах «1С» реализованы механизмы, позволяющие отслеживать изменения в базах различными способами:
- С помощью журнала регистрации. Платформенный механизм, позволяющий узнать кто и когда менял объект, без возможности детально отследить изменившиеся значения объектов;
- Через платформенный механизм ИсторияДанных. Отметим, что данный механизм появился в платформе 8.3.11 и позволяет работать с версионированием через встроенные механизмы платформы, что является несомненным плюсом.
- Через версионирование объектов (активируется самостоятельно). Данный механизм обеспечивается наличием в конфигурации подсистемы БСП «Версионирование объектов». Соответственно присутствует во всех современных типовых конфигурациях, разработанных на основе БСП (Библиотека стандартных подсистем).
Версионирование – это хранение истории изменений объектов. В отличие от журнала регистрации, в котором может храниться история изменения объектов, механизм версионирования позволяет пользователю:
- Увидеть изменения, внесенные пользователями;
- Просматривать любые версии объектов;
- Сравнивать версии объектов между собой;
- Восстановить предыдущую версию объекта.
Рассмотрим настройку подсистемы БСП «Версионирования объектов» в 1С 8.3 Бухгалтерия.
Как включить или отключить версионирование объектов
Настройку можно включать не только для всего объекта целиком, но и выборочно – для его отдельных составных частей, включая реквизиты табличных частей, и тем самым экономить место.
Чтобы механизм компактно хранил историю изменения данных пользователя, и не вышло так, что история изменения объектов занимает больше места, чем сами объекты, и в результате функционал приводит к замедлению работы программы, необходимо правильно выполнить настройку этого механизма.
Включить механизм может разработчик в конфигураторе (его лучше использовать в случаях, когда история данных потребуется во всех режимах работы программы), а также и сам пользователь: в пользовательском интерфейсе в режиме «1С:Предприятие» включить версионирование объектов можно в пункте меню «Администрирование-Общие настройки-История изменений».
Рис.1 Администрирование
Рис.2 Общие настройки
«Включение» версионирования заключается в настройке объектов конфигурации, для которых будет вестись учет изменений. При этом ведение истории можно включать не только для всего объекта, но и для его отдельных составных частей. Установив галочку «Хранить историю изменений», переходим по гиперссылке «Настройки хранения».
С помощью кнопки «Установить когда сохранять версии» мы можем установить когда сохранять версию – «Никогда», «При записи», «При проведении» или «По умолчанию». Настройка «По умолчанию» предполагает рекомендуемые настройки: для справочников – «Никогда» не создавать версии, для документов – «Создавать версии при проведении», для бизнес-процессов – «Создавать версии при старте». Настройка выполняется для всех объектов, но целесообразнее выполнить настройку отдельно для каждого объекта в списке.
Рис.3 Выбор варианта хранения версии
Рис.4 Окно настройки сохранения версии
Следующий параметр – «Установить срок хранения версий».
Рис.5 Меню настройки срока хранения версий
После активации данной настройки у объекта появляется дополнительный пункт в меню – «История изменений» (кнопка «Еще» в журнале документов), а также кнопка на панели инструментов «Перейти к отчету по версиям объектов».
Рис.6 Настройки хранения истории изменений
Рис.7 Возможность просмотра истории изменений в журнале документов
Эти же пункты будут доступны и из самого документа.
Рис.8 Возможность просмотра истории изменений из документа
История изменений выглядит следующим образом: в открывшейся форме выводится список всех изменений объекта. Версию можно открыть или сравнить с любой из списка. Выбрать несколько строк можно с помощью кнопок «Shift» и «Ctrl».
Рис.9 История изменений документа «Счет»
Рис.10 Просмотр версии объекта
Рис.11 Формирование сравнительного отчета изменений между версиями
Рис.12 Сравнение версий объекта
И в случае необходимости через кнопку «Перейти на версию» мы попадаем на выделенную (нужную) версию документа. Изменения, внесенные после этой версии, будут отменены.
Рис.13 Переход на другую версию объекта
Рассмотренный нами механизм может быть очень полезен. С его помощью можно следить за историей изменения документов и справочников. Он хранит не только данные о пользователе, изменившем объект, но и позволяет увидеть, какие были произведены изменения, сравнить версии и при необходимости восстановить один из вариантов.
Читайте также: