1С:Комплексная автоматизация 2 (2.4.7.151) Centos 7 и PostgreSQL 9.6 платформа 8.3.13.1644

1. Armageddon25 19 24.01.20 00:35 Сейчас в теме
Доброго времени суток.

Вообщем такая ситуация. Имеем 1С:Комплексная автоматизация 2 (2.4.7.151) (типовая) Centos 7 и PostgreSQL 9.6 платформа 8.3.13.1644

PostgreSQL и 1с сервер на разных виртуальных машинах. RLS НЕ ВЛКЮЧЕН!!


1) Обновил Комплексная автоматизация 2 до последнего релиза вроде все взлетело и новую платформу поставил 8.3.15.1830

2) Но после этого было у пользователей не с полными правами начались проблемы, а именно открывать списки документов как "Внутреннее товары движения", Документы закупок и Документы Продаж

3) После этого вернули копию базу до обновлений и копию вирутальной машины, но проблемы остались

4) После этого включили отладку на сервере и выяснили что глючит запрос в модуле УправлениеДоступомСлужебный.ЕстьОграничениеТаблицыПоВидуДоступа

Сам запрос:

"ВЫБРАТЬ
|	ГруппыДоступа.Ссылка КАК Ссылка
|ПОМЕСТИТЬ ГруппыДоступаПользователя
|ИЗ
|	Справочник.ИдентификаторыОбъектовМетаданных КАК СвойстваТекущейТаблицы
|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ГруппыДоступа КАК ГруппыДоступа
|		ПО (СвойстваТекущейТаблицы.ПолноеИмя = &ИмяОсновнойТаблицыСписка)
|			И (ИСТИНА В
|				(ВЫБРАТЬ ПЕРВЫЕ 1
|					ИСТИНА
|				ИЗ
|					РегистрСведений.ТаблицыГруппДоступа КАК ТаблицыГруппДоступа
|				ГДЕ
|					ТаблицыГруппДоступа.Таблица = СвойстваТекущейТаблицы.Ссылка
|					И ТаблицыГруппДоступа.ГруппаДоступа = ГруппыДоступа.Ссылка))
|			И (ГруппыДоступа.Ссылка В
|				(ВЫБРАТЬ
|					ГруппыДоступаПользователи.Ссылка КАК ГруппаДоступа
|				ИЗ
|					Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
|						ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
|						ПО
|							СоставыГруппПользователей.Пользователь = &АвторизованныйПользователь
|								И СоставыГруппПользователей.ГруппаПользователей = ГруппыДоступаПользователи.Пользователь))
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
|	ЗначенияПоУмолчанию.ГруппаДоступа КАК ГруппаДоступа,
|	ЗначенияПоУмолчанию.ТипЗначенийДоступа КАК ВидДоступа
|ИЗ
|	РегистрСведений.ЗначенияГруппДоступаПоУмолчанию КАК ЗначенияПоУмолчанию
|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ГруппыДоступаПользователя КАК ГруппыДоступаПользователя
|		ПО ЗначенияПоУмолчанию.ГруппаДоступа = ГруппыДоступаПользователя.Ссылка
|ГДЕ
|	НЕ ЗначенияПоУмолчанию.ВсеРазрешеныБезИсключений
|	И ИСТИНА В
|			(ВЫБРАТЬ ПЕРВЫЕ 1
|				ИСТИНА
|			ИЗ
|				Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
|					ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
|					ПО
|						ГруппыДоступаПользователи.Ссылка = ЗначенияПоУмолчанию.ГруппаДоступа
|							И ГруппыДоступаПользователи.Пользователь = СоставыГруппПользователей.ГруппаПользователей
|							И СоставыГруппПользователей.Пользователь = &АвторизованныйПользователь)"
Показать


5) После понял что надо обновить профили группы доступа и группы доступа, а так же обновить справочники Идентификаторы Объектов Метаданных, Идентификаторы Объектов Расширений и регистры сведений "ТаблицыГруппДоступа, ЗначенияГруппДоступа и ЗначенияГруппДоступаПоУмолчанию"


6) После это был разбора запроса детально и выяснил, что уходит в астрал запрос в данном куске кода

|			И (ИСТИНА В
|				(ВЫБРАТЬ ПЕРВЫЕ 1
|					ИСТИНА
|				ИЗ
|					РегистрСведений.ТаблицыГруппДоступа КАК ТаблицыГруппДоступа
|				ГДЕ
|					ТаблицыГруппДоступа.Таблица = СвойстваТекущейТаблицы.Ссылка
|					И ТаблицыГруппДоступа.ГруппаДоступа = ГруппыДоступа.Ссылка))
Показать

7) После пробывал обновить конфигурацию поставщика, думал что побился элемент справочника Идентификаторы Объектов Метаданных "РегистрСведений.РеестрДокументов"

8) Создавать новых пользователей и группы доступа тоже новые, не помогло

9) Удаляли и очищали таблицу РегистрСведений.ТаблицыГруппДоступа с помощью скуля

10) Делал тестирование и исправление методами 1С

Использовал много чего:

https://infostart.ru/public/798049/
https://infostart.ru/public/1003743/

Процедуры:

Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника(Истина, Ложь, Ложь); //ЕстьИзменения, ЕстьУдаленные, ТолькоПроверка
УправлениеДоступомСлужебный.ОбновитьОписаниеСвойствВидовДоступа();
УправлениеДоступом.ОбновитьРазрешенныеЗначенияПриИзмененииИспользованияВидовДос­тупа();
УправлениеДоступомСлужебный.ОбновитьПараметрыОграниченияДоступа();

Справочники.ПрофилиГруппДоступа.ЗаполнитьИдентификаторыПоставляемыхДанных();
Справочники.ПрофилиГруппДоступа.ОбновитьПоставляемыеПрофили(Истина);
Справочники.ПрофилиГруппДоступа.ОбновитьВспомогательныеДанныеПрофилей(,Истина);

РегистрыСведений.ЗначенияГруппДоступа.ОбновитьДанныеРегистра(,Истина);
РегистрыСведений.ТаблицыГруппДоступа.ОбновитьДанныеРегистра(,,Истина);
Справочники.ГруппыДоступа.ЗаполнитьПрофильГруппыДоступаАдминистраторы();


Если есть идеи ещё прощу помощи, что мог упустить?
Найденные решения
11. Armageddon25 19 26.01.20 11:14 Сейчас в теме
Доброго времени суток. Вообщем удалось решить проблему средствами СУБД. Операция называется "Вакум" на Postgres. (https://postgrespro.ru/docs/postgrespro/9.5/sql-vacuum) Так как у меня не было доступа к серверу, где СУБД то запустить эту процедуру не могу. То только в выходные администраторы запустили эту процедуру и вуаля все заработала. Так же прикладываю скрины ошибок. вдруг кому пригодиться.

Моделирование ошибки такая:

1) Пользователь с урезанными права нажимает на "Внутренние документы"

2) Идём в средства администрирование и видим как колонка "захват СУБД" растет до 1000 значений и 1с виснет.

Всем спасибо за помощь и поддержку.
Прикрепленные файлы:
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ansh15 24.01.20 01:52 Сейчас в теме
Можно предложить попробовать тестовую версию PostgreSQL 11.5-9.1C, для которой сообщают, что
Повышена скорость выполнения запросов, в которых используется соединение таблиц

и
Не должно наблюдаться существенной разницы в производительности между работой системы с включенными ограничениями доступа к данным и с выключенными ограничениями доступа к данным.

Попробовать же можно, хоть версия и тестовая...
3. muskul 24.01.20 04:00 Сейчас в теме
в настройках программы сейчас есть два вида проверки прав. может стоит переключить
4. Armageddon25 19 24.01.20 09:20 Сейчас в теме
(3)что за два вида проверки прав? Можно по конкретнее?
5. muskul 24.01.20 09:29 Сейчас в теме
(4)В настройке пользователей и прав ниже групп доступа, вариант работы, производительный и стандартный
6. Armageddon25 19 24.01.20 11:00 Сейчас в теме
(5)
производительный и стандартный
извините но у меня нет таких настроек
Прикрепленные файлы:
7. Дмитрий74Чел 234 24.01.20 15:17 Сейчас в теме
Попробуйте типовую обработку из инструментов разработчика БСП.
В частности, у меня работает версия 2.3.3 на ERP.
http://prntscr.com/qs9dyk
Прикрепленные файлы:
обновление БСП.rar
8. Дмитрий74Чел 234 24.01.20 15:19 Сейчас в теме
И вы много написали про то что делали, и что rls не включен. Однако не привели снимка экрана и точного подробного текста ошибки, только лишь пространное
"Но после этого было у пользователей не с полными правами начались проблемы, а именно открывать списки документов как "Внутреннее товары движения", Документы закупок и Документы Продаж "
10. Armageddon25 19 26.01.20 11:07 Сейчас в теме
(8) Привел скины в сообщении ниже. И там же решение проблемы
11. Armageddon25 19 26.01.20 11:14 Сейчас в теме
Доброго времени суток. Вообщем удалось решить проблему средствами СУБД. Операция называется "Вакум" на Postgres. (https://postgrespro.ru/docs/postgrespro/9.5/sql-vacuum) Так как у меня не было доступа к серверу, где СУБД то запустить эту процедуру не могу. То только в выходные администраторы запустили эту процедуру и вуаля все заработала. Так же прикладываю скрины ошибок. вдруг кому пригодиться.

Моделирование ошибки такая:

1) Пользователь с урезанными права нажимает на "Внутренние документы"

2) Идём в средства администрирование и видим как колонка "захват СУБД" растет до 1000 значений и 1с виснет.

Всем спасибо за помощь и поддержку.
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот