forum.bitel.ru
http://forum.bitel.ru/

5.2 Ошибка при изменении группы договора
http://forum.bitel.ru/viewtopic.php?f=22&t=6387
Страница 1 из 1

Автор:  polavto [ 30 янв 2012, 21:42 ]
Заголовок сообщения:  5.2 Ошибка при изменении группы договора

Если в открытом договоре в параметрах договора изменить принадлежность его к группе, или включить его в другую группу, то он пропадает из списка договоров.
При этом в таблице contract в базе данных bgbilling он остаётся, но:
1. Он переименовывется: было - СИИ003480-УТ, стало - пїЅпїЅпїЅ003480-пїЅпїЅ
2. Поле gr принимает значение отличное от 0 (было и 8, и 9, и 17, не уследил в каком порядке).
Если в этой таблице исправить gr на 0, договор с кривым именем становиться виден в списке договоров.
Его имя можно руками поменять на правильное.
Теперь вопросы:
Как корректно вкючать договор в новую группу?
Как менять группу договора?

Клиент: вер. 5.2 сборка 867 от 20.01.2012 19:36:34
os: Linux; java: Java HotSpot(TM) Client VM, v.1.6.0_30
Сервер: вер. 5.2 сборка 1024 от 20.01.2012 19:36:14
os: Linux; java: Java HotSpot(TM) Server VM, v.1.6.0_30

inet вер. 5.2 сборка 684 от 20.01.2012 18:53:17
phone вер. 5.2 сборка 210 от 20.01.2012 16:17:13

Автор:  Phricker [ 30 янв 2012, 21:52 ]
Заголовок сообщения:  Re: 5.2 Ошибка при изменении группы договора

1) Кодировка базы данных
2) В настройках пользователя и группы пользователей поставьте галочки в группах договоров на "ИЛИ"

Автор:  polavto [ 30 янв 2012, 22:14 ]
Заголовок сообщения:  Re: 5.2 Ошибка при изменении группы договора

Спасибо, помогло

Автор:  Phricker [ 30 янв 2012, 23:27 ]
Заголовок сообщения:  Re: 5.2 Ошибка при изменении группы договора

Изображениестранно я ж вроде просто так сказал. оба ответа помогли? О.О

Автор:  polavto [ 30 янв 2012, 23:42 ]
Заголовок сообщения:  Re: 5.2 Ошибка при изменении группы договора

У пользователя действительно стояла галка в "И". Заменил на "ИЛИ" и в договорах спокойно меняю группы.
Я и сам сначала подумал, что Вы просто отписались. Моей логике это не поддаётся.
Результат, нужный мне, получен, вот и славно.
А с кодировкой ответ не верный, но мне это уже не важно.

Автор:  Phricker [ 30 янв 2012, 23:47 ]
Заголовок сообщения:  Re: 5.2 Ошибка при изменении группы договора

Это правильная логика
Галка "И" - договор входит И в эту группу И в другую вместе взятые
Галка "ИЛИ" - или в эту или в ту. или вообще никуда.
Но я этой логикой все равно не пользуюсь )

Автор:  polavto [ 31 янв 2012, 00:52 ]
Заголовок сообщения:  Re: 5.2 Ошибка при изменении группы договора

Я о другом
Почему, при "неправильно" поставленной Галке в группах, фактически убивается договор?
Это нехорошо, что его нужно пальцами выковыривать из BD.
За всеми действиями пользователями не уследишь

Автор:  Phricker [ 31 янв 2012, 00:56 ]
Заголовок сообщения:  Re: 5.2 Ошибка при изменении группы договора

polavto писал(а):
Я о другом
Почему, при "неправильно" поставленной Галке в группах, фактически убивается договор?
Это нехорошо, что его нужно пальцами выковыривать из BD.
За всеми действиями пользователями не уследишь

О.о А почему ваш пользователь закидывает договор в группу к которой у него нет доступа? )

Автор:  polavto [ 31 янв 2012, 01:13 ]
Заголовок сообщения:  Re: 5.2 Ошибка при изменении группы договора

Как это нет? Есть доступ ко всем группам.
Появилась новая группа. В неё нужно включить существующий договор.
Или исключить договор из какой-либо группы.
Что тут может быть неправильно сделано пользователем?
А вот при этом и происходят те действия о которых я писал вначале - переименовывается договор итд.

Автор:  Phricker [ 31 янв 2012, 01:18 ]
Заголовок сообщения:  Re: 5.2 Ошибка при изменении группы договора

Цитата:
СИИ003480-УТ, стало - пїЅпїЅпїЅ003480-пїЅпїЅ

Дак гляньте что с базой. И в каком виде клиент все это отправляет.

polavto писал(а):
Как это нет? Есть доступ ко всем группам.
Появилась новая группа. В неё нужно включить существующий договор.
Или исключить договор из какой-либо группы.
Что тут может быть неправильно сделано пользователем?

У пользователя должно быть разрешение на работу с договором находящимся в той группе которую он назначил. Если такого разрешения нет - значит он не сможет работать с этим договором.

Цитирую
Цитата:
Внимание

Если в группе пользователей или у пользователя не будет фильтра по группам договоров (не будет отмечено ни одной группы), то в этом случае поведение системы будет зависить от параметра И/ИЛИ:


При установленном параметре ИЛИ будет разрешена работа со всеми договорами


При параметре И будет разрешена работа только с договорами не входящими ни в одну группу.

Таким образом, если необходимо не учитывать разрешения группы или пользователя к группам договоров, то уберите все галочки и установите параметр И. А при включенном параметре ИЛИ, будет разрешено все, вне зависимости от других групп пользователей или пользователя.

Автор:  polavto [ 31 янв 2012, 16:04 ]
Заголовок сообщения:  Re: 5.2 Ошибка при изменении группы договора

По моему, если у пользователя нет прав на работу с договором, независимо от любых его действий, договор должен оставаться в базе неизменным, а ему, пользователю, надо сообщать о недостаточности прав.
В ситуации о которой я толкую, номер договора несанкционированно изменяется, да ещё и без уведомления.
Может я не знаю, где находятся сообщения об этих ошибках? Как откатывать назад неправильные действия пользователей?

Автор:  skn [ 31 янв 2012, 16:31 ]
Заголовок сообщения:  Re: 5.2 Ошибка при изменении группы договора

polavto писал(а):
По моему, если у пользователя нет прав на работу с договором, независимо от любых его действий, договор должен оставаться в базе неизменным, а ему, пользователю, надо сообщать о недостаточности прав.
В ситуации о которой я толкую, номер договора несанкционированно изменяется, да ещё и без уведомления.
Может я не знаю, где находятся сообщения об этих ошибках? Как откатывать назад неправильные действия пользователей?


к правам это не имеет отношения... название договора не меняется, он сохраняется в другой кодировке, комментарий тоже портится?
проверить в БД кодировку поля, таблицы, БД

Автор:  polavto [ 01 фев 2012, 11:48 ]
Заголовок сообщения:  Re: 5.2 Ошибка при изменении группы договора

Вот часть параметров конфигурации БД BGBilling
-
-
character_set_client cp1251
character_set_connection cp1251
character_set_database cp1251
character_set_filesystem binary
character_set_results cp1251
character_set_server cp1251
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
-
-

Автор:  skn [ 01 фев 2012, 14:33 ]
Заголовок сообщения:  Re: 5.2 Ошибка при изменении группы договора

а что показывает

Код:
show create table contract;

Автор:  polavto [ 01 фев 2012, 14:56 ]
Заголовок сообщения:  Re: 5.2 Ошибка при изменении группы договора

contract CREATE TABLE `contract` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `gr` bigint(20) NOT NULL DEFAULT '0', `title` varchar(150) NOT NULL DEFAULT '', `title_pattern_id` int(11) NOT NULL DEFAULT '0', `pswd` varchar(32) NOT NULL DEFAULT '', `date1` date DEFAULT NULL, `date2` date DEFAULT NULL, `mode` tinyint(4) NOT NULL DEFAULT '0', `closesumma` decimal(10,2) NOT NULL, `pgid` int(11) NOT NULL DEFAULT '0', `pfid` int(11) NOT NULL DEFAULT '0', `fc` tinyint(1) NOT NULL DEFAULT '0', `comment` varchar(100) NOT NULL DEFAULT '', `del` tinyint(1) NOT NULL DEFAULT '0', `scid` int(11) NOT NULL DEFAULT '0', `sub_list` text NOT NULL, `sub_mode` tinyint(4) NOT NULL DEFAULT '0', `status` tinyint(4) NOT NULL DEFAULT '0', `status_date` date DEFAULT NULL, `last_tariff_change` datetime DEFAULT NULL, `crm_customer_id` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `date1` (`date1`), KEY `title` (`title`), KEY `del` (`del`), KEY `scid` (`scid`), KEY `crm_customer_id` (`crm_customer_id`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=cp1251

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/