Многие программы при запуске требуют повышения прав (значок щита у иконки), однако на самом деле для их нормальной работы прав администратора не требуется (например, вы вручную предоставили необходимые права пользователям на каталог программы в ProgramFiles и ветки реестра, которые используются программой). Соответственно, при запуске такой программы из-под простого пользователя, если на компьютере включен контроль учетных записей, появится запрос UAC и от пользователя потребует ввести пароль администратора. Чтобы обойти этот механизм многие просто отключают UAC или предоставляют пользователю права администратора на компьютере, добавляя его в группу локальных администраторов. Естественно, оба этих способа небезопасны.
Зачем обычному приложению могут понадобится права администратора
Права администратора могут потребоваться программе для модификации неких файлов (логи, конфигурации и т.д.) в собственной папке в C:\Program Files (x86)\SomeApp). По умолчанию у пользователей нет прав на редактирование данного каталога, соответственно, для нормальной работы такой программы нужны права администратора. Чтобы решить эту проблему, нужно под администратором на уровне NTFS вручную назначить на папку с программой право на изменение/запись для пользователя (или группы Users).
Примечание . На самом деле практика хранения изменяющихся данных приложения в собственном каталоге в C:\Program Files неверна. Правильнее хранить данные приложения в профиле пользователя. Но это вопрос уже о лени и некомпетентности разработчиков.
Запуск программы, требующей права администратора от обычного пользователя
Ранее мы уже описывали, как можно , с помощью параметра RunAsInvoker. Однако этот метод недостаточно гибкий. Также можно воспользоваться с сохранением пароля админа /SAVECRED (также небезопасно). Рассмотрим более простой способ принудительного запуска любой программы без прав администратора (и без ввода пароля админа) при включенном UAC (4,3 или 2 уровень ).
Для примера возьмем утилиту редактирования реестра — regedit.exe (она находится в каталоге C:\windows\system32). При запуске regedit.exe появляется окно UAC и, если не подтвердить повышение привилегии, редактор реестра не запускается.
Создадим на рабочем столе файл run-as-non-admin.bat со следующим текстом:
cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %1"
Теперь для принудительного запуска приложения без права администратора и подавления запроса UAC, просто перетащите нужный exe файл на этот bat файл на рабочем столе.
После этого редактор реестра должен запустится без появления запроса UAC. Открыв диспетчер процессов, и добавим столбец Elevated (С более высоким уровнем разрешений), вы увидите, что в системе имеется процесс regedit.exe с неповышенным статусом (запущен с правами пользователя).
Попробуйте отредактировать любой параметр в ветке HKLM. Как вы видите доступ на редактирование реестра в этой ветке запрещен (у данного пользователя нет прав на запись в системные ветки реестра). Но вы можете добавлять и редактировать ключи в собственной ветке реестра пользователя — HKCU.
Аналогичным образом можно запускать через bat файл и конкретное приложение, достаточно указать путь к исполняемому файлу.
run-app-as-non-admin.bat
Set ApplicationPath="C:\Program Files\MyApp\testapp.exe"
cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %ApplicationPath%"
Также можно добавить контекстное меню, которое добавляет у всех приложений возможность запуска без повышения прав. Для этого создайте следующий reg файл и импортируйте его в реестр.
Windows Registry Editor Version 5.00
@="cmd /min /C \"set __COMPAT_LAYER=RUNASINVOKER && start \"\" \"%1\"\""
После этого для запуска любого приложения без прав админа достаточно выбрать пункт «» в контекстном меню.
Переменная окружения __COMPAT_LAYER и параметр RunAsInvoker
Переменная окружения __COMPAT_LAYER позволяет устанавливать различные уровни совместимости для приложений (вкладка Совместимость в свойствах exe файла). С помощью этой переменной можно указать настройки совместимости, с которыми нужно запускать программу. Например, для запуска приложения в режиме совместимости с Windows 7 и разрешением 640×480, установите:
set __COMPAT_LAYER=Win7RTM 640x480
Из интересных нам опций переменной __COMPAT_LAYER выделим следующие параметры:
- RunAsInvoker - запуск приложения с привилегиями родительского процесса без запроса UAC.
- RunAsHighest - запуск приложения с максимальными правами, доступными пользователю (запрос UAC появляется если у пользователя есть права администратора).
- RunAsAdmin - запуск приложение с правами администратора (запрос AUC появляется всегда).
Т.е. параметр RunAsInvoker не предоставляет права администратора, а только блокирует появления окна UAC.
При входе нового пользователя в информационную базу, появляется ошибка: «Нет права на запуск требуемого вида клиента».
Для корректной работы программы и во избежание ненужных ошибок возникает необходимость добавления новых пользователей. На первый взгляд, кажется, что ничего сложного нет.
Шаг 1. Заходим в программу с помощью конфигуратора.
Шаг 2. В меню «Администрирование» необходимо выбрать пункт «Пользователи»
Шаг 3. В открывшемся окне добавляем нового пользователя и заполняем все данные.
Шаг 4. После того как заполнены все данные необходимо перейти в закладку «Прочие» и здесь отметить галочкой права нового пользователя. Отсутствие или присутствие определенных прав у пользователя, расширяет или ограничивает его возможности работы в программе.
На первый взгляд вопрос решен. Но на практике очень часто возникает проблема при входе нового пользователя в информационную базу, появляется ошибка: «нет права на запуск требуемого вида клиента».
Для решения этой проблемы необходимо:
Шаг 1. Зайти в программу с помощь конфигуратора.
Шаг 2. На панели управления открываем окно конфигурации.
Шаг 3. В открывшемся окне выбираем функцию «Общие».
(Рис.2)
Шаг4. В открывшемся окне ставим галочки «Толстый клиент», «Веб клиент» и «Тонкий клиент», сохраняем конфигурацию и заходим в программу под именем пользователя.
(Рис.3)
Вопрос решен. Удачной работы.
1C версии 8.3 получает все большее распространение. В связи с этим все больше пользователей этой платформы сталкиваются с проблемой при ее открытии. Так добавлении нового пользователя и попытка затем войти под ним очень часто оборачивается ошибкой «Нет прав на запуск требуемого вида клиента». Происходит это из-за того, что у данного пользователя нет минимального набора прав для запуска программы. Решается данная проблема назначением нужных прав проблемному пользователю через конфигуратор. Как именно это сделать вы узнаете в данной статье.
Как устранить ошибку «Нет прав на запуск требуемого вида клиента 1с 8.3»?
Если в открывшемся списке нет ни одного пользователя, то вам нужно его создать, задав имя, пароль и установив галочку «Полные права».
Если пользователи отобразились и среди них есть проблемный, то открыв его двойным кликом вам нужно назначить ему требуемые роли. Обязательно отмечаем «Запуск толстого клиента», «Запуск тонкого клиента» и «Запуск внешнего соединения».
Выбор требуемой роли пользователю
Обязательные роли пользователя
В случае, когда в списке доступных ролей отсутствуют «Запуск толстого клиента», «Запуск тонкого клиента» и «Запуск внешнего соединения», нужно в конфигураторе открыть назначенную пользователю роль, например «Базовые права» и в окне ее редактирования установить типы клиентов «Толстый», «Тонкий», «Веб».
Выбор назначенной пользователю роли в конфигураторе
6
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ, код ее команды: // Код...
5
Многие спрашиваю, как передать тз с сервера на клиент - ниже несколько вариантов как это можно реализовать: Через ЗначениеВСтрокуВнутр и ЗначениеИзСтрокиВнутр НаКлиенте
Процедура ПолучитьТаблицу...
5
В версии 8.2 и старше: приложение не работает непосредственно с локальными файлами, расположенными на компьютере. Файлы должны находиться на сервере. Поэтому для открытия внешней обработки нужно выполнить следующую...
3
При разработке конфигурации, для упрощении ввода документов потребовалось настроить ввод номенклатуры по совпадению любой части наименования! В 1С 8.3 по умолчанию настройки справочника номенклатуры такие: При...
2
gvk2009 подробно и доходчиво описал разницу методов, за что ему огромное спасибо: В Синтаксис-Помощнике очень скупо написано о процедуре ДанныеФормыВЗначение (), чуть побольше - о РеквизитФормыВЗначение (). И совсем нет...
Способ первый
Запускаем информационную базу 1С 8.3 под пользователем с полными правами, например, администратором.
Раздел Администрирование – Настройки программы – Настройки пользователей и прав:
В настройках пользователей и прав переходим по гиперссылке «Пользователи»:
Открываем карточку нашего нового пользователя и нажимаем на кнопку Права доступа:
Откроется окно Права доступа нашего пользователя и увидим, что для данного пользователя не назначен ни один из ниже перечисленных профилей групп доступа:
В конфигураторе 1С 8.3 Бухгалтерия 3.0, в списке пользователей мы увидим данного пользователя со специальным значком:
Например, установим профиль бухгалтера и запишем:
Попробуем еще раз запустить информационную базу 1С 8.3 под новым пользователем:
Теперь видим, что удалось исправить ошибку и запустить базу 1С 8.3 под новым пользователем.
Способ второй
Рассмотрим другую ситуацию – у пользователя права назначены, но при запуске 1С 8.3 все равно выдает ошибку «Нет прав для запуска требуемого вида клиента».
Запустим информационную базу 1С Бухгалтерия 3.0 в режиме конфигуратора под администратором.
Меню Администрирование – Пользователи:
В списке пользователей выберем «проблемного» пользователя:
Откроем карточку пользователя и перейдем на вкладку Прочие:
Здесь увидим, что у пользователя не разрешен запуск клиента. Установим флажок Запуск тонкого клиента и нажмем на кнопку ОК:
Попробуем еще раз запустить базу 1С 8.3 под новым пользователем:
Теперь видим, что удалось исправить ошибку.
Исправление ошибки, если конфигурация 1С 8.3 своя
Рассмотрим на примере демонстрационной конфигурации Управляемое приложение. Конфигурация, разработанная программистом. Например, запускаем под пользователем «Продавец»:
Появляется ошибка:
Запустим информационную базу 1С 8.3 в конфигураторе. Зайдем в меню Администрирование – Пользователи:
Откроем карточку данного пользователя и перейдем на вкладку Прочее:
Видим, что для этого пользователя назначена роль «Продавец». В чем тогда проблема? Что делать?
Давайте посмотрим роль «Продавец». В дереве метаданных Общие – Роли, через контекстное меню выберем Все роли:
Увидим, что для роли «Продавец» не установлен ни один флажок из приложений. Установим флажки и обновим конфигурацию базы данных 1С 8.3:
Теперь запустим 1С 8.3 Бухгалтерия 3.0 под нашим пользователем:
Теперь ошибка исправлена и под данным пользователем информационная база запускается.
Научиться работать в 1С 8.3 Бухгалтерия и правильно вести учет Вам поможет наш . Подробнее о курсе смотрите в следующем видео:
Поставьте вашу оценку этой статье: