forum.bitel.ru http://forum.bitel.ru/ |
|
Изменение реквизитов на договоре http://forum.bitel.ru/viewtopic.php?f=14&t=10620 |
Страница 1 из 1 |
Автор: | vkulakov [ 17 июн 2015, 15:21 ] |
Заголовок сообщения: | Изменение реквизитов на договоре |
Добавил на несколько договоров реквизиты в модуле Bill, потом попытался изменить дату закрытия одного из реквизитов на одном из договоров и... Все реквизиты со всех договоров перескочили на один договор, на котором я пытался изменить реквизит, и стали абсолютно одинаковыми! С остальных договоров реквизиты, соответственно, исчезли. Раз уж мы начали смотреть код, то в классе AttributeManager нашёл такой код: Код: query = new StringBuilder((id <= 0) ? "INSERT INTO" : "UPDATE") .append(" bill_attribute_").append(this.mid) .append(" SET cid=?, name=?, value=?, start=?, end=?"); if (id <= 0) { query.append(" WHERE id=").append(id); } Видно, что условие WHERE добавляются когда id <= 0, т. е. когда нужно вставлять новую запись, не обновлять существующую. Соответственно, добавление новых параметров тоже не работате. Вот это точно поломалось после последнего обновления. |
Автор: | stark [ 17 июн 2015, 19:31 ] |
Заголовок сообщения: | Re: Изменение реквизитов на договоре |
vkulakov писал(а): Вот это точно поломалось после последнего обновления. Мне всегда нравится эта фраза. в 80 % случаев это не так. Тут класс с 2012 года не трогали. Он либо всегда не работал или что-то не так, но обновление скорее всего никак не влияет Сходу не нашел ошибки в коде, надо проверять. В оригинале такой код: Код: if (id <= 0)
{ ps = con.prepareStatement( "INSERT INTO bill_attribute_" + mid + " (cid, name, value, start, end) " + " VALUES (?, ?, ?, ?, ?)" ); } else { ps = con.prepareStatement( "UPDATE bill_attribute_" + mid + " SET cid=?, name=?, value=?, start=?, end=?" + " WHERE id=?" ); ps.setInt( 6, id ); } ps.setInt( 1, cid ); ps.setString( 2, name ); ps.setString( 3, value ); ps.setDate( 4, TimeUtils.convertCalendarToSqlDate( start ) ); ps.setDate( 5, TimeUtils.convertCalendarToSqlDate( end ) ); ps.executeUpdate(); ps.close(); |
Автор: | stark [ 17 июн 2015, 19:36 ] |
Заголовок сообщения: | Re: Изменение реквизитов на договоре |
stark писал(а): vkulakov писал(а): Вот это точно поломалось после последнего обновления. Мне всегда нравится эта фраза. в 80 % случаев это не так. Тут класс с 2012 года не трогали. Он либо всегда не работал или что-то не так, но обновление скорее всего никак не влияет Хм, прошу прощения. Тут действительно сломали недавно.У меня старый код был. |
Автор: | stark [ 17 июн 2015, 19:44 ] |
Заголовок сообщения: | Re: Изменение реквизитов на договоре |
Исправлено,обновление выкладывается. |
Автор: | Phricker [ 17 июн 2015, 19:45 ] |
Заголовок сообщения: | Re: Изменение реквизитов на договоре |
stark писал(а): Хм, прошу прощения. Тут действительно сломали недавно.У меня старый код был. ![]() |
Автор: | vkulakov [ 17 июн 2015, 21:46 ] |
Заголовок сообщения: | Re: Изменение реквизитов на договоре |
Может ещё в соседней ветке посмотрите проблему с y и m в запросе счетов? А ещё интересно, зачем надо было лезть в класс, который не менялся с 2012 года и что-то там ломать??? |
Автор: | stark [ 18 июн 2015, 14:22 ] |
Заголовок сообщения: | Re: Изменение реквизитов на договоре |
vkulakov писал(а): Может ещё в соседней ветке посмотрите проблему с y и m в запросе счетов? А ещё интересно, зачем надо было лезть в класс, который не менялся с 2012 года и что-то там ломать??? Так по вашей же просьбе туда функционал добавили. Зачем вам сортировка понадобилась? А с y m не считаю ошибкой . Можем исправить 6.2 . |
Автор: | vkulakov [ 18 июн 2015, 14:53 ] |
Заголовок сообщения: | Re: Изменение реквизитов на договоре |
Ещё интересно, изменения, которые делаются в 6.0 попадают в остальные версии? В 6.1 и в 6.2? Например, в 6.0 добавили сортировку, в 6.1 она тоже будет? С upload_status тоже интересно. Не получится ли так, что после обновления на 6.2 у нас всё поломается? |
Автор: | stark [ 18 июн 2015, 15:02 ] |
Заголовок сообщения: | Re: Изменение реквизитов на договоре |
vkulakov писал(а): Ещё интересно, изменения, которые делаются в 6.0 попадают в остальные версии? В 6.1 и в 6.2? Например, в 6.0 добавили сортировку, в 6.1 она тоже будет? С upload_status тоже интересно. Не получится ли так, что после обновления на 6.2 у нас всё поломается? Изменения для 6.0 всегда попадают в более старшие версии. Если этого вдруг не происходит, то это косяк . Часто изменения делаются в ветке разработки(Master) и потом последовательно спускаются до нужной версии. Именно поэтому мы не хотим добавлять новый функционал в 6.0, так как приходится потом патчить много версий , разруливая конфикты в каждой из них. Ошибки исправлять - это неизбежное зло. А вот функционал новый - не будем добавлять. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |