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

Договор уже существует!!!
http://forum.bitel.ru/viewtopic.php?f=22&t=8506
Страница 1 из 1

Автор:  Alex_D [ 01 окт 2013, 10:01 ]
Заголовок сообщения:  Договор уже существует!!!

Здравствуйте! У меня возникла такая проблема:
Я заводил договор с некоторым именем и у меня появилось сообщение "Договор уже существует!!!", однако в "поиске договоров" договора с таким именем не существует. Есть вероятность того, что этот договор создавался ранее и был удален, однако может быть ли это причиной? Как можно либо открыть этот существующий договор или удалить его, чтобы можно быть создать другой с таким же номером?

Версия 5.1 стоит на CentOS 5.4.

Заранее благодарен за помощь..

Автор:  Artur [ 01 окт 2013, 10:29 ]
Заголовок сообщения:  Re: Договор уже существует!!!

Что выдает sql-запрос
select id from contract where title like '%имя договора%' ?

Автор:  Alex_D [ 01 окт 2013, 10:47 ]
Заголовок сообщения:  Re: Договор уже существует!!!

Проблема в том, что в номере договора есть русские символы и при подобном запросе mysql отвечает ошибкой..

Автор:  dimOn [ 01 окт 2013, 11:56 ]
Заголовок сообщения:  Re: Договор уже существует!!!

Какой ошибкой?
Откуда запрос выполняете?
С кодировками что у вас на этой таблице?

Автор:  Ping333 [ 20 окт 2016, 17:56 ]
Заголовок сообщения:  Re: Договор уже существует!!!

Добрый день!
не стал плодить темы, подскажите пожалуйста каким образом
ContractManager.createFromPattern проверяет существование договора с такимже именем?
проблема например в этом, есть уже созданный договор 1126, пытаюсь создать при помощи createFromPattern 1126-55
получаю
ru.bitel.bgbilling.common.BGMessageException: Договор с таким именем уже существует!

как Amir писал
select id from contract where title like '%имя договора%' ?
так?

Автор:  dimOn [ 20 окт 2016, 19:00 ]
Заголовок сообщения:  Re: Договор уже существует!!!

проверяет в рамках паттерна вроде бы так-то

Автор:  Ildar [ 20 окт 2016, 19:22 ]
Заголовок сообщения:  Re: Договор уже существует!!!

Какой шаблон? Какая версия?

Автор:  Ping333 [ 20 окт 2016, 19:39 ]
Заголовок сообщения:  Re: Договор уже существует!!!

тогда что за напасть такая происходит
делаю так
Nomer_Dogovora=ContractPatternManager.getContractTitle(con, new ContractPatternManager(con).getPattern(shablon), сalendar_for_pattern);
System.out.println("sssssssss=" + Nomer_Dogovora);
contract = CM.createFromPattern(shablon, Nomer_Dogovora, Date_dogovora, contract_pass);

вываливается в ошибку
sssssssss=МТС-Ф-0004-СЕ
ru.bitel.bgbilling.common.BGMessageException: Договор с таким именем уже существует!
запуская еще раз
sssssssss=МТС-Ф-0005-СЕ
ru.bitel.bgbilling.common.BGMessageException: Договор с таким именем уже существует!

добавляю Nomer_Dogovora+"/2"
успех
cid=814
contract=Contract: МТС-Ф-0006-СЕ/2; limit: 0.00; mode: DEBET
еще раз тоже успех
cid=815
contract=Contract: МТС-Ф-0007-СЕ/2; limit: 0.00; mode: DEBET

шаблон имени МТС-Ф-${N4}-СЕ

Информация о версии:

Клиент: вер. 7.0.807 / 05.05.2016 18:22:49
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_73
Сервер: вер. 7.0.1036 / 05.05.2016 18:24:13
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_77

card: вер. 7.0.37 / 08.04.2016 17:40:32
inet: вер. 7.0.644 / 05.05.2016 18:24:23
npay: вер. 7.0.194 / 19.04.2016 18:00:07
phone: вер. 7.0.278 / 10.10.2016 12:26:36

Автор:  dimOn [ 21 окт 2016, 04:04 ]
Заголовок сообщения:  Re: Договор уже существует!!!

Ну а они эти ваши МТС-Ф-0004-СЕ точно не существуют, да? Вы же проверили не поиском договоров, а в SQL-редакторе как положено?

Автор:  Ping333 [ 21 окт 2016, 10:59 ]
Заголовок сообщения:  Re: Договор уже существует!!!

точно точно. в эскуэле проверил, везде проверил,
даже если бы и существовал, все равно не понятно, скрипт по патерну берет следующий номер договора МТС-Ф-0005-СЕ, которого ну 100% нет. и тоже пишет договор уже существут, а все почему? потому что у меня уже есть договор SE-F-0005 который подходит под запрос
select title from contract where title like'%0005%'
SE-F-0005
вот как то так..

Автор:  Ildar [ 21 окт 2016, 11:25 ]
Заголовок сообщения:  Re: Договор уже существует!!!

На всякий перезапустите сервер, чтобы очистить кеш имен( или произведите n-ое кол-во удаление из кеша имен, но так как доподлинно не известно сколько вы раз запускали скрипт, то проще перезапустить ). Далее, если генерируете сами в ручную, то надо удалить название из кеша, или отдайте генерирование названия целиком менеджеру.
В ручную как-то так:
Код:
ContractPattern pattern = new ContractPatternManager( con ).getPattern( pattern_id );
String title = ContractPatternManager.getContractTitle( con, pattern, cal );
ContractPatternManager.removeContractTitleFromLastTitles( title );

cont = contractManager.createFromPattern( pattern_id, title, new Date(), "123456" )


Если хотите проверить занятость названия( только БД ):
Код:
if ( !contractManager.checkContractTitleOnDublication( title, -1 ) )
{
   // "Договор уже существует!";
}

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