forum.bitel.ru http://forum.bitel.ru/ |
|
7.1 и группы договоров http://forum.bitel.ru/viewtopic.php?f=19&t=12788 |
Страница 1 из 1 |
Автор: | skyb [ 13 фев 2018, 08:38 ] |
Заголовок сообщения: | 7.1 и группы договоров |
Раньше я удачно использовал конструкцию вида Код: ContractParameterManager cpm = new ContractParameterManager( con ); cpm.setGroup( cid, 9 ); и вроде бы все всех устраивало, после обновления на 7.1 компилятор мне говорит мол нет такого метода, лезу в доку, а там)))) Код: setGroup(int cid, int group) Установка группы для договора TODO что оно тут делает? вроде бы и действительно, но работает и всех устраивает, но метода грит мне компилятор всеравно нету, окей, лезу смотреть в Contract Код: setGroups(long groups) Установка битовой маски групп. ок, переписываем, вроде все понятно и просто Код: String groups = "9"; //коды групп договоров через запятую long groupMask = Utils.enumToMask( groups ); Contract contract = cm.getContractById(cid); contract.setGroups(groupMask); cm.updateContract(contract); что в итоге, ту группу в которую я хотел запихать договора она появилась на них, в sql запросе как и в редакторе справочников появилась битовая маска группы 512, но открыть договор нельзя, говорит что с ним работать нельзя и договор открывается без ничего и с названием UNDEF, в поиске вообще ненашел, а в sql редакторе только вот с таким успехом О_о поставил другую группу - и о чудо, договора снова заработали )))) Непонятно что это было и зачем и как это победить и было удобно именно добавлять группу, одну, а не ловить в каждом договоре свою группу, прибавлять к ней битовую маску нужной и обновлять все группы Код: Сервер: вер. 7.1.960 / 09.02.2018 12:37:38
os: Linux; java: Java HotSpot(TM) Server VM, v.1.8.0_162 |
Автор: | skyb [ 13 фев 2018, 11:03 ] |
Заголовок сообщения: | Re: 7.1 и группы договоров |
Спасибо dimOn'у, можно делать так Добавление Код: int GROUP = 1;//id группы из справочника long groupMask = Utils.enumToMask( GROUP ); Contract contract = cm.getContractById(cid); contract.setGroups(contract.getGroups() | GROUP); cm.updateContract(contract); удаление Код: int GROUP = 1;//id группы из справочника
long groupMask = Utils.enumToMask( GROUP ); Contract contract = cm.getContractById(cid); contract.setGroups(contract.getGroups() ^ GROUP); cm.updateContract(contract); |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |