Слетают роли в конфигураторе 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), добавляем пользователю этот профиль (см. рис.3) и. ничего не происходит, как-будто у этого пользователя не добавлена наша роль. Заходим в конфигуратор, администрирование, пользователи, заходим в пользователя, смотрим "доступные роли" и видим, что у нашего пользователя не выбрана наша роль (см. рис.4).
Почему так происходит? Всё очень просто, разработчики сделали так, что если пользователь "администратор", то есть у него полные права, то собственно говоря, зачем же ему ещё какие-то роли? Ведь у него же и так полные права!
В целом вполне логично и кстати если пользователь не администратор, то всё работает корректно (см. рис.5 и рис.6). Сложности возникают только в том случае, если мы хотим добавить нашу роль/роли пользователю с полными правами. Можно конечно просто в конфигураторе выбрать у пользователя нашу роль/роли, но всё будет работать ровно до тех пор, пока кто-нибудь не решит перезаписать в режиме предприятия права доступа у этого пользователя, после этого "галочка" у добавленной роли "слетит".
Что же делать и где это происходит?
Идём в общие модули - "УправлениеДоступомСлужебный", находим процедуру "ОбновитьРолиПользователей". В ней есть следующий код:
"НовыеРоли" это Таблица значений, в которой выбраны все роли пользователя, которые мы ему назначили в режиме предприятия (включая "наши" роли). Как видно далее по коду, эта таблица очищается, в неё добавляются "ОбязательныеРолиАдминистратора" (Администратор системы, Полные права) и если выбрано, "ДополнительныеРолиАдминистратора" (Интерактивное открытие внешних отчетов и обработок).
Как мне показалось, самый простой и очевидный вариант, это добавить "наши" роли в таблицу "НовыеРоли". Для этого нам надо как-то отделить эти роли от всех остальных, поэтому у всех добавленных нами в конфигураторе ролей, делаем префикс "Доп_". Те "наши" роли, которые мы выбрали для пользователя, собираем в массив "ВыбранныеДополнительныеРоли" и далее из этого массива добавляем роли в таблицу значений "НовыеРоли". Ниже представлен код:
В заключение добавлю, процедура "ОбновитьРолиПользователей" абсолютна одинакова у многих конфигураций (благодаря "унификации" 1С), смотрел в УНФ 1.6, Бухгалтерия предприятия 3.0, Управление торговлей 11.4 (все конфигурации в нескольких версиях), поэтому сделал расширение, которое по идее должно работать на многих конфигурациях на управляемых формах. Можете скачать и добавить его себе, но предварительно не забудьте, что все добавленные роли должны иметь префикс "Доп_". Расширение написано на версии платформы: 8.3.12.1685. В расширение добавлен один общий модуль "УправлениеДоступомСлужебный", в котором только одна процедура "ОбновитьРолиПользователей" (&Вместо) с добавленным, по описанию выше, кодом. При добавлении расширения, не забываем снять галочки "безопасный режим" и "защита от опасных действий".
Текст ошибки говорит сам за себя. Разделим его на 2 части: первая — « нет прав », вторая связана с « видом клиента », т. е. режимом запуска.
Это уведомление появляется в процессе входа в информационную базу 1С. Когда вы уже ввели свои имя пользователя и пароль.
При попытке открытия базы программа проверяет ваши полномочия (права) и отказывает, если вашему пользователю явно не разрешен тип клиента, с которого вы входите.
Закономерный вопрос, даже два:
- Где находятся эти разрешения и как их настроить?
- Какие типы клиентов бывают? — для проверки входа в другом режиме.
Если конфигурация типовая
- откройте 1С в режиме «Конфигуратор», войдите в меню « Администрирование — Пользователи », в списке выберите пользователя, у которого возникает ошибка;
- нажмите « Изменить », на вкладке « Прочее » назначьте необходимые роли и сохраните изменения.
Если конфигурация своя (нетиповая)
Возможно, в созданных ролях не указан тип запуска. Также зайдите в «Конфигуратор» и проверьте созданные роли. В ролях устанавливается разрешенный режим запуска различных приложений.
✅ Как видите, всё дело в правах. Причина в том, что у пользователя нет минимального набора прав для запуска программы.
Поэтому, первым делом проверьте какие полномочия установлены для учётной записи пользователя.
Варианты запуска программы 1С
📝 Всего — четыре, отличаются принципом работы и требовательностью к ресурсам ПК, на котором работаете. Рассмотрим подробнее.
1. Толстый клиент
Наиболее требовательный к ресурсам рабочей машины, поскольку обработка данных выполняется на компьютере пользователя. Здесь же хранятся необходимые для работы файлы.
Не зависит от Интернета, не представляет возможности удалённой работы. Для запуска толстого клиента используется файл 1cv8.exe .
2. Тонкий клиент
Представляет программную оболочку для доступа к серверу 1С. Привычный интерфейс меню и настроек, но, поскольку обработка происходит на сервере, не требователен к мощности оборудования.
Пользователю предоставлен ограниченный функционал, возможна работа как с удалённым сервером через Интернет, так и на самом компьютере в специальной программной среде. Запуск тонкого клиента выполняется файлом 1cv8c.exe .
3. Веб-клиент
Для работы понадобится веб-браузер и Интернет-соединение. Нет привязки к месту работы. Нагрузка на оборудование минимальная, так как вычисления происходят на удалённом сервере. Веб-клиент системы 1С функционирует под управлением браузера.
4. Конфигуратор
Специальный режим для тонкой настройки программы, работающий только при использовании толстого клиента.
Если у вас не получается настроить роли, проверьте каким образом вы открываете приложение 1С. Возможно, вы запускаете не « 1cestart.exe », а открываете напрямую приложение 1cv8.exe (толстый клиент).
Выберите ярлык 1С, нажмите правую кнопку мыши и откройте «Свойства». На вкладке « Ярлык » в поле «Объект» поменяйте название запускаемого приложения на 1cv8c.exe (тонкий клиент), нажмите «ОК».
Если открывается менеджер 1cestart
Попробуйте принудительно в свойствах подключения к ИБ установить необходимый вам режим, сняв признак «Выбирать автоматически».
В этой статье я разберу пять интересных, нужных и, самое главное, эффективных инструментов по отладке кода в конфигураторе 1С, которые существенно облегчат жизнь 1С программисту.
Очень часто, особенно когда возникает ошибка в непонятном куске кода, нужно понять каким путем программа пришла именно в этот кусок кода. В этом поможет нужный инструмент – стек вызовов. Данный инструмент необходимо запустить, когда сработала точка останова. Стек вызовов запускается, или через главное меню
Или, используя панель «Отладка конфигурации»
После запуска, откроется окно, в котором будет показан путь к текущему методу снизу вверх. В самом верху списка будет процедура (функция), где сработала точка останова.
Если кликнуть по какой-нибудь строке стека вызова, то произойдет открытее модуля, в котором находится процедура или функция, указанная в этой строке. Причем курсор установится на то место кода, где произошел переход на метод более верхнего уровня.
На этом рисунке мы кликнули на вторую сверху строку стека вызова, и открылось место в модуле, где произошел вызов процедуры «ПечатнаяФорма», в которой сработала точка останова.
Работайте со стеком вызова всегда, когда программа имеет разветвленную структуру процедур и функций, это существенно облегчит Вашу жизнь.
Обычно, разработчики запускают отладку кода в конфигураторе 1С, используя кнопку «Начать отладку».
Этот метод очень удобен, и, конечно же, имеет право на жизнь. Но очень часто могут возникать следующие ситуации:
- 1С: Предприятие уже запущенно и в нем выполняется какой-то процесс, остановить Вы его не можете
- Нужно отладить работу программы под пользователем, у которого нет прав на работу с конфигуратором
В этом случае, после открытия конфигуратора 1С необходимо подключить отладку к уже запущенному сеансу. Сделать это можно при помощи команды «Подключение» меню «Отладка».
После выполнения команды выйдет окно «Предметы отладки», где в верхней таблице будут перечислены пользователи, к которым можно подключиться, а так же типы подключения (тонкий клиент, сервер), в том случае, когда отлаживаете управляемое приложение.
Чтобы начать отлаживать нужный тип подключения, достаточно выделить соответствующую строку и нажать на кнопку «Подключить» (дважды кликнуть левой кнопкой мышки).
Заметьте, если Вы подключите отладку только на сервере, как на рисунке выше, то сможете работать только с кодом, который выполняется в серверном контексте. Если же код в клиентском контексте, то точка останова в этом месте кода не сработает.
Справедливо и наоборот: если подключена отладка только на клиенте, то можно работать только с клиентским контекстом формы. Отлаживать код в серверном контексте формы, в также в процедурах и функциях модулей объектов, менеджеров и т.д. не будет возможно.
Подробно о клиентском и серверном контексте формы читайте в моей книге: Основы разработки в 1С: Такси. Разработка управляемого приложения за 12 шагов
Обычно, нельзя подключиться к пользовательскому сеансу. Чтобы это стало возможным, необходимо в параметрах пользовательского приложения 1С включить возможность отладки. Установить в параметр «Откладка в текущем сеансе» значение «Разрешена (протокол TCP/IP)» , когда отлаживаем работу по локальной сети.
В этом случае отладка будет включена единовременно. Если мы хотим, чтобы под этим пользователем всегда была включена отладка, то нужно в параметр «Отладка при перезапуске» установить значение «Разрешена (протокол TCP/IP)»
Очень часто нужно остановиться в каком-то месте кода не просто так, а когда какая-нибудь переменная принимает определенное значение. В этом нам поможет точка останова с условием.
При установке точки останова с условием, в условие необходимо указать какое-либо булево выражение.
Можно задать различные комбинации условий
Остановка программы в точке останова с условием произойдет тогда, когда переменные программы примут такие значения, при которых булево выражение в точке останова вернет истину.
Очень часто в процессе отладки программист может поставить так много точек останова, что сам забудет, где и что ставил. Быстро сориентироваться во всех поставленных точках останова поможет список точек останова. Открыть его можно через главное меню: Главное меню – Отладка – Список точек останова.
Или с помощью комбинации клавиш Alt + F9
В этом списке можно как включить-выключить нужную точку останова, так и перейти в модуль, где эта точка находится. Достаточно просто дважды кликнуть по нужной строке.
У формы списка точек останова есть очень интересные возможности сохранения и последующей загрузки сохраненных точек останова, которые осуществляются при помощи кнопок «Сохранить» и «Открыть файл»
И последний в этой статье инструмент отладки, который мы рассмотрим, это возможность останавливать выполнение программы, в случае возникновения ошибки.
Эту функцию отладки очень удобно применять, когда у Вас в процессе работы программы возникает ошибка, и Вы не знаете, что к ней приводит, и не понимаете её природу.
Включить остановку по ошибке достаточно просто: Главное меню – Отладка- Остановка по ошибке.
В открывшемся окне нужно установить флаг «Остановка по ошибке» и нажать на кнопку «Ок».
Теперь, если в процессе выполнения программы платформой будет сгенерирована ошибка, то программа остановиться на той строке модуля, код которой приводит к ошибке.
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Читайте также: