Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.14.84] |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Я никогда с этим не сталкивался чтобы файловая база не давала обновляться в пользовательском режиме и открывать конфигуратор.
При открытии конфигуратора - открыть конфигурацию - недостаточно прав доступа(и практических во всех вкладках конфигуратора). Проверял базу chdbfl.exe - ошибок нет. В базе документы сохранять можно, на уровне файловой системы права NTFS есть, бухгалтер не жалуется - WTF? Прикреплённый файл1__1.png (53,2 Кбайт, скачиваний: 68) Прикреплённый файл1__2.png (20,43 Кбайт, скачиваний: 60) |
Сообщ.
#2
,
|
|
|
Может попробовать создать нового админа? И попробовать обновить от него.
Добавлено Ну и посмотреть права пользователя Администратор в конфигураторе. Может сбилось где-то соответствие между профилями. |
Сообщ.
#3
,
|
|
|
Пользователя - админа создавал, ничего не изменилось. В конфигураторе пользователи не открываются - недостаточно прав.
|
Сообщ.
#4
,
|
|
|
Разве что можно попробовать поднять или опустить версию платформы. Или вообще перенести на другой комп с другой версией платформы и там попробовать открыть.
Добавлено Был подобный глюк в каких-то версиях платформы |
Сообщ.
#5
,
|
|
|
У проблемной базы строка в настройках "Все функции" отсутствует вообще.
У профиля групп доступа Администратор стоят роли "Администратор системы, полные права", как и должно быть. Но кнопка записать и записать и закрыть не активна. На более старой версии результат такой-же. Начал искать в конфигураторе рабочей базы фразу при обновлении: Если Не ЭтоАдминистраторСистемы Тогда ТекстСообщения = ТекстСообщения + НСтр("ru = '<br />Для обновления программы обратитесь к администратору.'"); КонецЕсли; Нашел код функции: Функция ЭтоАдминистраторСистемы(УчитыватьПривилегированныйРежим = Ложь) Экспорт Возврат Пользователи.ЭтоПолноправныйПользователь(, Истина, УчитыватьПривилегированныйРежим); КонецФункции Дальше мои мысли кончились. |
Сообщ.
#6
,
|
|
|
В базе оказывается было 2 пользователя с полными правами. Если я под 1-м захожу, создаю пользователей, они все бракованные оказываются, под 2-м пользователем все ок(если зайти или создать пользователей).
Я открыл конфигуратор под правильным пользователем. запускаю от неправильного. Как мне программно прочекать роли\права чтобы найти где именно косяк? РольДоступна("ПолныеПрава") возвращает истина, Пользователи.ЭтоПолноправныйПользователь(, Истина, УчитыватьПривилегированныйРежим) возвращает ложь |
Сообщ.
#7
,
|
|
|
В общем прогнал отладчиком функции, в итоге эта функция отвечает за возврат данных:
Функция СвойстваТекущегоПользователяИБ() Экспорт ПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь(); Свойства = Новый Структура; Свойства.Вставить("УказанТекущийПользовательИБ", Истина); Свойства.Вставить("УникальныйИдентификатор", ПользовательИБ.УникальныйИдентификатор); Свойства.Вставить("Имя", ПользовательИБ.Имя); Свойства.Вставить("ПравоАдминистрирование", ?(ПривилегированныйРежим(), ПравоДоступа("Администрирование", Метаданные, ПользовательИБ), ПравоДоступа("Администрирование", Метаданные))); //@skip-check using-isinrole Свойства.Вставить("РольДоступнаАдминистраторСистемы", РольДоступна(Метаданные.Роли.АдминистраторСистемы)); // Не заменять на РолиДоступны. //@skip-check using-isinrole Свойства.Вставить("РольДоступнаПолныеПрава", РольДоступна(Метаданные.Роли.ПолныеПрава)); // Не заменять на РолиДоступны. Возврат Новый ФиксированнаяСтруктура(Свойства); КонецФункции Вот что получается под рабочим(Бухгалтер) и бракованным пользователем(Администратор): Видно что у бракованного РольДоступна(Метаданные.Роли.АдминистраторСистемы) ложь и ПравоДоступа("Администрирование", Метаданные, ПользовательИБ) ложь(ПривилегированныйРежим() истина, ПравоДоступа("Администрирование", Метаданные) истина). Осталось понять как и где это можно поправить? И как могло случиться? Прикреплённый файл1__3.png (26,65 Кбайт, скачиваний: 58) Прикреплённый файл1__4.png (21,36 Кбайт, скачиваний: 44) |
Сообщ.
#8
,
|
|
|
В самой базе ADMROLE стоит false, но перевод в true ничего не меняет.
В общем финито ля комения. Прикреплённый файл1__5.png (16,69 Кбайт, скачиваний: 50) |
Сообщ.
#9
,
|
|
|
Вот сами данные этих пользователей(вдруг кому-то что-то скажет):
{aa4be1d1-59f7-44f3-9801-8816febc5284,"Бухгалтер","�","Бухгалтер",00000000-0000-0000-0000-000000000000, {3,76702e9e-fa7a-4b98-befa-f9b37db2dae0,e5c73637-e8d6-47e0-9c15-2fa1802ee5b0,849f034e-85dc-4515-aae6-240c1e0d46d9},00000000-0000-0000-0000-000000000000,1,1,,0,0,"F3WGb8VbgXnYs/ksQy0hfCdCOVg=","F3WGb8VbgXnYs/ksQy0hfCdCOVg=",2,5,20161110101216,0,0, {0} } {d96e767c-6ed9-4c46-99f1-381d9b0ef952,"Администратор","","Администратор",00000000-0000-0000-0000-000000000000, {1,e5c73637-e8d6-47e0-9c15-2fa1802ee5b0},db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,1,,0,0,"2jmj7l5rSw0yVb/vlWAYkK/YBwk=","2jmj7l5rSw0yVb/vlWAYkK/YBwk=",2,20,20230111114259,0,0, {0},1, {0},1,0,1,"",0,0,"",20230111084259,2,"F3WGb8VbgXnYs/ksQy0hfCdCOVg=","2jmj7l5rSw0yVb/vlWAYkK/YBwk="} |
Сообщ.
#10
,
|
|
|
А если у Бухгалтера выставить ROLESID как у Администратора? Сорян, я с 1С дела не имел, так - мимокрокодил
|
Сообщ.
#11
,
|
|
|
это случайно не базовая версия конфигурации? просто предположение
|
Сообщ.
#12
,
|
|
|
Цитата Rust @ это случайно не базовая версия конфигурации? просто предположение Сейчас нет, может когда то и было Цитата Majestio @ А если у Бухгалтера выставить ROLESID как у Администратора? Сорян, я с 1С дела не имел, так - мимокрокодил Нет, не помогло Если удалить всех пользователей из этой таблицы v8user все равно остается 1 пользователь, неясно где он прописывается, но работает с полными правами |
Сообщ.
#13
,
|
|
|
Создание дополнительного пользователя под неглючным админом возвращает к жизни глючных:
1 строка как было, 2 как стало: {d96e767c-6ed9-4c46-99f1-381d9b0ef952,"Администратор","�","Администратор",00000000-0000-0000-0000-000000000000, {1,e5c73637-e8d6-47e0-9c15-2fa1802ee5b0},db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,1,,0,0,"F3WGb8VbgXnYs/ksQy0hfCdCOVg=","F3WGb8VbgXnYs/ksQy0hfCdCOVg=",2,20,20230110181211,0,0, {0},1, {0},1,0,1,"",0,0,"",20230110151203,1,"F3WGb8VbgXnYs/ksQy0hfCdCOVg="} {d96e767c-6ed9-4c46-99f1-381d9b0ef952,"Администратор","�","Администратор",00000000-0000-0000-0000-000000000000, {2,e5c73637-e8d6-47e0-9c15-2fa1802ee5b0,76702e9e-fa7a-4b98-befa-f9b37db2dae0},db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,1,,0,0,"F3WGb8VbgXnYs/ksQy0hfCdCOVg=","F3WGb8VbgXnYs/ksQy0hfCdCOVg=",2,24,20230112094128,0,0, {0},1, {0},1,0,1,"",0,0,"",20230110151203,1,"F3WGb8VbgXnYs/ksQy0hfCdCOVg="} Видимо при чтении-сохранении таблицы v8users он записывает недостающие поля. Почему это было, ХЗ. |
Сообщ.
#14
,
|
|
|
до ужаса банальный совет - почисти кэш или просто удали базу из списка баз и снова добавь
|
Сообщ.
#15
,
|
|
|
Rust
Я делал, не помогло. Там что-то в базе в v8users сломалось. |