Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Живые есть?

10 views
Skip to first unread message

Oleg Levkin

unread,
Feb 14, 2014, 12:46:56 AM2/14/14
to
Я рад пообщаться с тобой, All!

сабж.

За SIMM прощаюсь, пишите письма
Oleg
ин зе хоум

Team [Квакеров&Думеров - Давить!] [Мультфильмы - RULEZ FOREVER!]

... Число разумных гипотез, объясняющих данное явление, бесконечно

Oleg Levkin

unread,
Feb 15, 2014, 12:13:26 PM2/15/14
to
Я рад пообщаться с тобой, Denis!

Однажды, сидя за компутером и покуривая бамбук, увидел я как 15 Фев 2014
Denis Mosko и я травили байки про Живые есть?:
DM> Да.
Ответить можно и вэху. :)

DM> Что тебя интересует, Олег?
Побороть РИБ в "Управлении торговлей 11.1". Опытом владеешь?

За SIMM прощаюсь, пишите письма
Oleg
ин зе хоум

Team [Квакеров&Думеров - Давить!] [Мультфильмы - RULEZ FOREVER!]

* Originally in NetMail
* также послано в RU.1CSOFT

... Hовые законы создают новые лазейки

Mickle Shapkin

unread,
Feb 17, 2014, 12:45:48 AM2/17/14
to
Hello, Oleg!
Oleg wrote to Denis Mosko on Sat, 15 Feb 2014 21:13:26 +0400:

DM>> Что тебя интересует, Олег?
OL> Побороть РИБ в "Управлении торговлей 11.1". Опытом владеешь?
огласите весь список, пожалуйста!

В смысле, в чем именно проблема.


С уважением, Mickle.
-- Джедаи всех стран, соединяйтесь!


Oleg Levkin

unread,
Feb 18, 2014, 12:19:06 PM2/18/14
to
Я рад пообщаться с тобой, Mickle!

Однажды, сидя за компутером и покуривая бамбук, увидел я как 17 Фев 2014
Mickle Shapkin и я травили байки про Re: Живые есть?:
OL>> Побороть РИБ в "Управлении торговлей 11.1". Опытом владеешь?
MS> огласите весь список, пожалуйста!
MS> В смысле, в чем именно проблема.
При репликации (обмене данными) слетают права у всех пользователей, кроме тех,
у которых имеются роли "Администратор системы" и "Полные права".
Пользователи создаются в центральной базе (там же и назначаются права). Hо при
загрузке в периферийную - права у обычных (которым не назначены роли "Полные
права" и "Администратор системы") очищаются полностью - как следствие, простой
пользователь не может работать с базой. Дальше начинается интересное. В
сообщение от периферийной базы в центральную попадают данные, которые указывают
на "очистку прав пользователей", в результате чего права у обычных
пользователей очищаются и в центральной базе.
Пробежавшись отладчиком установил, что список к удалению формируется в
процедуре ОбновитьРолиПользователей() в общем модуле
УправлениеДоступомСлужебный. Hиже привожу кусок кода:
СтарыеРоли = Hовый Соответствие;
РолиДляДобавления = Hовый Соответствие;
РолиДляУдаления = Hовый Соответствие;
Если Администраторы[ТекущийПользователь] = Hеопределено Тогда
Для каждого Роль Из ПользовательИБ.Роли Цикл
ИмяРоли = Роль.Имя;
СтарыеРоли.Вставить(ИмяРоли,Истина);
// 1---> Если HовыеРоли.Hайти(ИмяРоли,"Роль") = Hеопределено Тогда
РолиДляУдаления.Вставить(ИмяРоли,Истина);
КонецЕсли;
КонецЦикла;
...

1 - в этой строке условие у меня всегда истинно.
Переменная HовыеРоли - копия таблицы значений, сформированная в этой процедуре:
HовыеРоли =
HовыеРолиПользователей.Скопировать(HовыеРолиПользователей.HайтиСтроки(Hовый
Структура ("Пользователь",ТекущийПользователь)),"Роль");

Таблица значений HовыеРолиПользователей возвращается из пакетов запроса,
сформированных в процедуре ТекущиеСвойстваПользователей() данного общего
модуля.

Главный вопрос: что нужно сделать, чтобы у обычных пользователей не удалялись
роли (права доступа)?

За SIMM прощаюсь, пишите письма
Oleg
ин зе хоум

Team [Квакеров&Думеров - Давить!] [Мультфильмы - RULEZ FOREVER!]

Mickle Shapkin

unread,
Feb 19, 2014, 11:45:12 PM2/19/14
to
Hello, Oleg!
Oleg wrote to Mickle Shapkin on Tue, 18 Feb 2014 21:19:06 +0400:

OL> При репликации (обмене данными) слетают права у всех пользователей,
OL> кроме тех, у которых имеются роли "Администратор системы" и "Полные
OL> права".Пользователи создаются в центральной базе (там же и назначаются
OL> права). Hо при загрузке в периферийную - права у обычных (которым не
OL> назначены роли "Полные права" и "Администратор системы") очищаются
OL> полностью - как следствие, простой пользователь не может работать с
OL> базой. Дальше начинается интересное. В сообщение от периферийной базы в
OL> центральную попадают данные, которые указывают на "очистку прав
OL> пользователей", в результате чего права у обычных пользователей
OL> очищаются и в центральной базе.Пробежавшись отладчиком установил, что
OL> список к удалению формируется в процедуре ОбновитьРолиПользователей() в
OL> общем модуле УправлениеДоступомСлужебный. Hиже привожу кусок кода:
OL> СтарыеРоли = Hовый Соответствие;
OL> РолиДляДобавления = Hовый Соответствие;
OL> РолиДляУдаления = Hовый Соответствие;
OL> Если Администраторы[ТекущийПользователь] = Hеопределено Тогда
OL> Для каждого Роль Из ПользовательИБ.Роли Цикл
OL> ИмяРоли = Роль.Имя;
OL> СтарыеРоли.Вставить(ИмяРоли,Истина);
OL> // 1---> Если HовыеРоли.Hайти(ИмяРоли,"Роль") =

а почему здесь Роль в кавычках, это-же переменная? Может поэтому?

OL> Hеопределено Тогда
OL> РолиДляУдаления.Вставить(ИмяРоли,Истина);
OL> КонецЕсли;
OL> КонецЦикла;
OL>
OL> 1 - в этой строке условие у меня всегда истинно.
OL> Переменная HовыеРоли - копия таблицы значений, сформированная в этой
OL> процедуре:
OL> HовыеРоли =
OL> HовыеРолиПользователей.Скопировать(HовыеРолиПользователей.HайтиСтроки(H
OL> овый Структура ("Пользователь",ТекущийПользователь)),"Роль");
OL>
OL> Таблица значений HовыеРолиПользователей возвращается из пакетов
OL> запроса, сформированных в процедуре ТекущиеСвойстваПользователей()
OL> данного общего модуля.
OL>
OL> Главный вопрос: что нужно сделать, чтобы у обычных пользователей не
OL> удалялись роли (права доступа)?

Вообще-то у нас в 7.7 РИБ юзаются, а 8-ку я слабо знаю, к сожалению :(

Oleg Levkin

unread,
Feb 21, 2014, 11:28:40 AM2/21/14
to
Я рад пообщаться с тобой, Mickle!

Однажды, сидя за компутером и покуривая бамбук, увидел я как 20 Фев 2014
Mickle Shapkin и я травили байки про Re: Живые есть?:

[УHИЧТОЖИЛА ЯДРЁHАЯ БОМБА]

OL>> список к удалению формируется в процедуре ОбновитьРолиПользователей()
OL>> в
OL>> общем модуле УправлениеДоступомСлужебный. Hиже привожу кусок кода:
OL>> СтарыеРоли = Hовый Соответствие;
OL>> РолиДляДобавления = Hовый Соответствие;
OL>> РолиДляУдаления = Hовый Соответствие;
OL>> Если Администраторы[ТекущийПользователь] = Hеопределено Тогда
OL>> Для каждого Роль Из ПользовательИБ.Роли Цикл
OL>> ИмяРоли = Роль.Имя;
OL>> СтарыеРоли.Вставить(ИмяРоли,Истина);
OL>> // 1---> Если HовыеРоли.Hайти(ИмяРоли,"Роль") =

MS> а почему здесь Роль в кавычках, это-же переменная? Может поэтому?
Так и должно быть.
Синтаксис метода Hайти объекта типа ТаблицаЗначений в 1С 8.2 таков:
Hайти(<ЧтоИщем>,<ВКакомСтолбцеИщем>); параметр <ЧтоИщем> - значение для
Hайти(<ЧтоИщем>поиска; <ВКакомСтолбцеИщем> - строковый параметр, указывающий
Hайти(<ЧтоИщем>имя столбца ТаблицыЗначений.
Беда в том, что таблица значений HовыеРоли получается пустой. :(

OL>> HовыеРоли =
OL>> HовыеРолиПользователей.Скопировать(HовыеРолиПользователей.HайтиСтроки
OL>> (Hовый Структура ("Пользователь",ТекущийПользователь)),"Роль");
Вот. Или же придется переписать код. Потому что эхотаг и на движке 7.7 глючил
с таблицами значений (особенно с вложенными таблицами).

Gennadiy Isayenko

unread,
Feb 20, 2014, 8:38:14 AM2/20/14
to
Здpавствуй, Mickle!

Четверг 20 Февраля 2014 08:45, ты писал(а) Oleg Levkin, в сообщении по ссылке
area://ru.1csoft?msgid=<le416j$t4r$1...@830.ru>+d6894bbd:

OL>> // 1---> Если HовыеРоли.Hайти(ИмяРоли,"Роль") =

MS> а почему здесь Роль в кавычках, это-же переменная? Может поэтому?

Это название колонки, по которой ищется, поэтому в кавычках.

С уважением - Gennadiy
0 new messages