На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:

  • Перед тем, как задать вопрос, желательно почитать документацию и воспользоваться поиском.
  • Когда задаёте вопрос, то обязательно указывайте платформу (7.7, 8.0, 8.1, 8.2, etc), причем желательно в заголовке. Если речь идёт о типовой конфигурации, то указывайте её название и релиз. Текущие версии можно посмотреть здесь.
  • Ещё раз напоминаем о необходимости соблюдать не только правила, но и законы. Уважайте авторские права.

Высказать своё мнение о модераторах раздела можно здесь: evGenius
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> База не хочет обновляться
    Я никогда с этим не сталкивался чтобы файловая база не давала обновляться в пользовательском режиме и открывать конфигуратор.
    При открытии конфигуратора - открыть конфигурацию - недостаточно прав доступа(и практических во всех вкладках конфигуратора).

    Проверял базу chdbfl.exe - ошибок нет. В базе документы сохранять можно, на уровне файловой системы права NTFS есть, бухгалтер не жалуется - WTF?
    Прикреплённый файлПрикреплённый файл1__1.png (53,2 Кбайт, скачиваний: 68)
    Прикреплённый файлПрикреплённый файл1__2.png (20,43 Кбайт, скачиваний: 60)
      Может попробовать создать нового админа? И попробовать обновить от него.

      Добавлено
      Ну и посмотреть права пользователя Администратор в конфигураторе. Может сбилось где-то соответствие между профилями.
        Пользователя - админа создавал, ничего не изменилось. В конфигураторе пользователи не открываются - недостаточно прав.
          Разве что можно попробовать поднять или опустить версию платформы. Или вообще перенести на другой комп с другой версией платформы и там попробовать открыть.

          Добавлено
          Был подобный глюк в каких-то версиях платформы
            У проблемной базы строка в настройках "Все функции" отсутствует вообще.
            У профиля групп доступа Администратор стоят роли "Администратор системы, полные права", как и должно быть. Но кнопка записать и записать и закрыть не активна. На более старой версии результат такой-же.

            Начал искать в конфигураторе рабочей базы фразу при обновлении:
            ExpandedWrap disabled
                      Если Не ЭтоАдминистраторСистемы Тогда
                          ТекстСообщения = ТекстСообщения
                              + НСтр("ru = '<br />Для обновления программы обратитесь к администратору.'");
                      КонецЕсли;


            Нашел код функции:
            ExpandedWrap disabled
              Функция ЭтоАдминистраторСистемы(УчитыватьПривилегированныйРежим = Ложь) Экспорт
                  
                  Возврат Пользователи.ЭтоПолноправныйПользователь(, Истина, УчитыватьПривилегированныйРежим);
                  
              КонецФункции

            Дальше мои мысли кончились.
              В базе оказывается было 2 пользователя с полными правами. Если я под 1-м захожу, создаю пользователей, они все бракованные оказываются, под 2-м пользователем все ок(если зайти или создать пользователей).

              Я открыл конфигуратор под правильным пользователем. запускаю от неправильного. Как мне программно прочекать роли\права чтобы найти где именно косяк?

              РольДоступна("ПолныеПрава") возвращает истина,
              Пользователи.ЭтоПолноправныйПользователь(, Истина, УчитыватьПривилегированныйРежим) возвращает ложь
                В общем прогнал отладчиком функции, в итоге эта функция отвечает за возврат данных:
                ExpandedWrap disabled
                  Функция СвойстваТекущегоПользователяИБ() Экспорт
                      
                      ПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь();
                      
                      Свойства = Новый Структура;
                      Свойства.Вставить("УказанТекущийПользовательИБ", Истина);
                      Свойства.Вставить("УникальныйИдентификатор", ПользовательИБ.УникальныйИдентификатор);
                      Свойства.Вставить("Имя",                     ПользовательИБ.Имя);
                      
                      Свойства.Вставить("ПравоАдминистрирование", ?(ПривилегированныйРежим(),
                          ПравоДоступа("Администрирование", Метаданные, ПользовательИБ),
                          ПравоДоступа("Администрирование", Метаданные)));
                      
                      //@skip-check using-isinrole
                      Свойства.Вставить("РольДоступнаАдминистраторСистемы",
                          РольДоступна(Метаданные.Роли.АдминистраторСистемы)); // Не заменять на РолиДоступны.
                      
                      //@skip-check using-isinrole
                      Свойства.Вставить("РольДоступнаПолныеПрава",
                          РольДоступна(Метаданные.Роли.ПолныеПрава)); // Не заменять на РолиДоступны.
                      
                      Возврат Новый ФиксированнаяСтруктура(Свойства);
                      
                  КонецФункции


                Вот что получается под рабочим(Бухгалтер) и бракованным пользователем(Администратор):
                Видно что у бракованного РольДоступна(Метаданные.Роли.АдминистраторСистемы) ложь и ПравоДоступа("Администрирование", Метаданные, ПользовательИБ) ложь(ПривилегированныйРежим() истина, ПравоДоступа("Администрирование", Метаданные) истина).
                Осталось понять как и где это можно поправить? И как могло случиться?
                Прикреплённый файлПрикреплённый файл1__3.png (26,65 Кбайт, скачиваний: 58)
                Прикреплённый файлПрикреплённый файл1__4.png (21,36 Кбайт, скачиваний: 44)
                  В самой базе ADMROLE стоит false, но перевод в true ничего не меняет. :wall:
                  В общем финито ля комения.
                  Прикреплённый файлПрикреплённый файл1__5.png (16,69 Кбайт, скачиваний: 50)
                    Вот сами данные этих пользователей(вдруг кому-то что-то скажет):
                    ExpandedWrap disabled
                      {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="}
                      А если у Бухгалтера выставить ROLESID как у Администратора? Сорян, я с 1С дела не имел, так - мимокрокодил :lol:
                        это случайно не базовая версия конфигурации? просто предположение
                          Цитата Rust @
                          это случайно не базовая версия конфигурации? просто предположение

                          Сейчас нет, может когда то и было


                          Цитата Majestio @
                          А если у Бухгалтера выставить ROLESID как у Администратора? Сорян, я с 1С дела не имел, так - мимокрокодил :lol:

                          Нет, не помогло


                          Если удалить всех пользователей из этой таблицы v8user все равно остается 1 пользователь, неясно где он прописывается, но работает с полными правами
                            Создание дополнительного пользователя под неглючным админом возвращает к жизни глючных:

                            1 строка как было, 2 как стало:
                            ExpandedWrap disabled
                              {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 он записывает недостающие поля. Почему это было, ХЗ.
                              до ужаса банальный совет - почисти кэш или просто удали базу из списка баз и снова добавь
                                Rust
                                Я делал, не помогло. Там что-то в базе в v8users сломалось.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0471 ]   [ 21 queries used ]   [ Generated: 11.12.24, 04:27 GMT ]