рдЬрд╛рд╡рд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдкрд╛рд╕ рдХрдИ рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдг рд╣реИрдВ, рдЬреЛ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдХреЛрдб рдЬреИрд╕реЗ рдХрд┐ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЖрдИрдбреАрдИ рдЗрдВрдЯреЗрд▓реАрдЬ рдЖрдИрдбреАрдИрдП, рдлреНрд░реА рдПрдирд╛рд▓рд┐рд╕рд┐рд╕ рд╕реНрдкреЙрдЯрдмрдЧреНрд╕, рдкреАрдПрдордбреА, рдФрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред рд╕реАрдпреВрдмреАрдП рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрди рд╕рднреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕рдореАрдХреНрд╖рд╛ рдмрддрд╛рдПрдЧреА рдХрд┐ рд╕реНрдЯреЗрдЯрд┐рдХ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдФрд░ рднреА рдЕрдзрд┐рдХ рд▓рд╛рдн рдХреИрд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж
CUBA рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИред рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рд╕реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЕрдореВрд░реНрдд рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡реЗ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдХреЛрдб рддрдХ рдЕрдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рдкреВрд░реНрдг рд▓рдЪреАрд▓реЗрдкрди рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХреЗрдВред рд╕реНрд░реЛрдд рдХреЛрдб
GitHub рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реА, рд╕реА ++, рд╕реА #, рдФрд░ рдЬрд╛рд╡рд╛ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдмрдЧ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд╕реБрд░рдХреНрд╖рд╛ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рд╣реИред рд╡рд┐рд╢реНрд▓реЗрд╖рдХ 64-рдмрд┐рдЯ рд╡рд┐рдВрдбреЛрдЬ, рд▓рд┐рдирдХреНрд╕ рдФрд░ рдореИрдХрдУрдПрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЪрд▓рддрд╛ рд╣реИред рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдЪреАрдЬреЛрдВ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдорд╛рд╡реЗрди, рдЧреНрд░реИрдбрд▓ рдФрд░ рдЗрдВрдЯреЗрд▓реАрдЬреЗ рдЖрдИрдбреАрдИрдП рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдПред рдореИрдВрдиреЗ рдЧреНрд░реИрдбрд▓ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдЬрд╛рдБрдЪ рдХреА, рдФрд░ рдпрд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдбрд╝рдЪрди рдХреЗ рдмрдВрдж рд╣реЛ рдЧрдпрд╛ред
рд╢рд░реНрддреЛрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ
рдЪреЗрддрд╛рд╡рдиреА резV6007 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ '
StringUtils.isNotEmpty ("handleTabKey") рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИред SourceCodeEditorLoader.java (60)
@Override public void loadComponent() { .... String handleTabKey = element.attributeValue("handleTabKey"); if (StringUtils.isNotEmpty("handleTabKey")) { resultComponent.setHandleTabKey(Boolean.parseBoolean(handleTabKey)); } .... }
рддрддреНрд╡ рд╕реЗ рдирд┐рдХрд╛рд▓реЗ рдЧрдП рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рди рдХреА рдЬрд╛рдБрдЪ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп,
isNotEmpty рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╡реИрд░рд┐рдПрдмрд▓
рд╣реИрдВрдбрд▓рдЯреИрдХреЗ рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдиреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдмреНрджрд┐рдХ
рдорд┐рд▓рддрд╛ рд╣реИ ред
рдЗрд╕реА рддрд░рд╣ рдХреА рддреНрд░реБрдЯрд┐ AbstractTableLoader.java рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдорд┐рд▓реА:
- V6007 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'StringUtils.isNotEmpty ("рд╕рдВрдкрд╛рджрди рдпреЛрдЧреНрдп") рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИред AbstractTableLoader.java (596)
рдЪреЗрддрд╛рд╡рдиреА реиV6007 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'рдкрд┐рдЫрд▓реЗ
MenuItemFlatIndex > = 0' рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИред рдХреНрдпреВрдмрд╛рд╕рд╛рдЗрдбрдореЗрдиреНрдпреВрд╡рд┐рдЬреЗрдЯ.рдЬрд╛рд╡рд╛ (328)
protected MenuItemWidget findNextMenuItem(MenuItemWidget currentItem) { List<MenuTreeNode> menuTree = buildVisibleTree(this); List<MenuItemWidget> menuItemWidgets = menuTreeToList(menuTree); int menuItemFlatIndex = menuItemWidgets.indexOf(currentItem); int previousMenuItemFlatIndex = menuItemFlatIndex + 1; if (previousMenuItemFlatIndex >= 0) { return menuItemWidgets.get(previousMenuItemFlatIndex); } return null; }
рд╕реВрдЪреА рдореЗрдВ рддрддреНрд╡ рдирд╣реАрдВ рдорд┐рд▓рдиреЗ рдкрд░
рдЗрдВрдбреЗрдХреНрд╕рдСрдл рдлрд╝рдВрдХреНрд╢рди
-1 рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ред рдорд╛рди
1 рдХреЛ рдлрд┐рд░ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрдиреБрдкрд╕реНрдерд┐рдд рддрддреНрд╡ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛ рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рд╣реИ рдХрд┐
рдкрд┐рдЫрд▓реЗрдореЗрдиреБрдЗрдЯреЗрдордлреНрд▓реИрдЯрдЗрдВрдбреЗрдХреНрд╕ рдЪрд░ рд╣рдореЗрд╢рд╛ рд╢реВрдиреНрдп рд╕реЗ рдЕрдзрд┐рдХ рдпрд╛ рдмрд░рд╛рдмрд░ рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐
menuItemWidgets рд╕реВрдЪреА рд░рд┐рдХреНрдд рдкрд╛рдИ рдЬрд╛рддреА рд╣реИ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдПрдХ рд╕рд░рдгреА рдУрд╡рд░рд░рди рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдЪреЗрддрд╛рд╡рдиреА рейV6009 'рдбрд┐рд▓реАрдЯ' рдлрд╝рдВрдХреНрд╢рди '-1' рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрдмрдХрд┐ рдЧреИрд░-рдирдХрд╛рд░рд╛рддреНрдордХ рдорд╛рди рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИред рдирд┐рд░реАрдХреНрд╖рдг рддрд░реНрдХ: 1. AbstractCollectionDatasource.java (556)
protected DataLoadContextQuery createDataQuery(....) { .... StringBuilder orderBy = new StringBuilder(); .... if (orderBy.length() > 0) { orderBy.delete(orderBy.length() - 2, orderBy.length()); orderBy.insert(0, " order by "); } .... }
рдСрд░реНрдбрд░рдмреА рдмрдлрд╝рд░ рдХреЗ рдЕрдВрддрд┐рдо рджреЛ рд╡рд░реНрдг рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдпрджрд┐ рддрддреНрд╡реЛрдВ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рд╢реВрдиреНрдп рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рдЕрд░реНрдерд╛рдд рдпрджрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╡рд░реНрдг рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрд╣рд╛рдБ рд╕реЗ рд╡рд┐рд▓реЛрдкрди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рд╡рд╣рд╛рдВ рд╕реЗ рд╕реНрдЯрд╛рд░реНрдЯ рдкреЛрдЬреАрд╢рди рдХреЛ рдСрдлрд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐
рдСрд░реНрдбрд░рдмреА рдореЗрдВ рдПрдХ рд╡рд░реНрдг рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕
StringIndexOutOfBoundsException рдЙрдард╛рдПрдЧрд╛ ред
рдЪреЗрддрд╛рд╡рдиреА рекV6013 рдСрдмреНрдЬреЗрдХреНрдЯ 'рдорд╛рд╕реНрдЯрд░рдХреЙрд▓рдХреНрд╢рди' рдФрд░ 'рдПрдВрдЯрд┐рдЯреАрдЬрд╝' рдХреА рддреБрд▓рдирд╛ рд╕рдВрджрд░реНрдн рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред рд╕рдВрднрд╡рддрдГ рдПрдХ рд╕рдорд╛рдирддрд╛ рддреБрд▓рдирд╛ рдХрд╛ рдЗрд░рд╛рджрд╛ рдерд╛ред рдХрд▓реЗрдХреНрд╢рдирдкреНрд░реЙрдкрд░реНрдЯреА рдХреЙрдиреНрдЯреЗрдирд░рдЗрдореНрдкреНрд▓.рдЬрд╛рд╡рд╛ (81)
@Override public void setItems(@Nullable Collection<E> entities) { super.setItems(entities); Entity masterItem = master.getItemOrNull(); if (masterItem != null) { MetaProperty masterProperty = getMasterProperty(); Collection masterCollection = masterItem.getValue(masterProperty.getName()); if (masterCollection != entities) { updateMasterCollection(masterProperty, masterCollection, entities); } } }
UpdateMasterCollection рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ,
рдПрдВрдЯрд╛рдЗрдЯреЗрд▓рдореЗрдВрдЯ рдХреЗ рдорд╛рдиреЛрдВ рдХреЛ
MasterCollection рдкрд░ рдХреЙрдкреА рдХрд┐рдпрд╛
рдЬрд╛рддрд╛ рд╣реИ ред рдПрдХ рдкрдВрдХреНрддрд┐ рдкрд╣рд▓реЗ, рд╕рдВрдЧреНрд░рд╣ рдХреА рддреБрд▓рдирд╛ рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рдХреА рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рд╕рдВрднрд╡рддрдГ рдЗрд╕реЗ рдореВрд▓реНрдп рд╕реЗ рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдХрд┐рдпрд╛ рд╣реИред
рдЪреЗрддрд╛рд╡рдиреА релV6013 рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА 'рд╡реИрд▓реНрдпреВ' рдФрд░ 'рдУрд▓реНрдбрд╡реИрд▓реНрдпреВ' рдХреА рддреБрд▓рдирд╛ рд╕рдВрджрд░реНрдн рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред рд╕рдВрднрд╡рддрдГ рдПрдХ рд╕рдорд╛рдирддрд╛ рддреБрд▓рдирд╛ рдХрд╛ рдЗрд░рд╛рджрд╛ рдерд╛ред WebOptionsList.java (278)
protected boolean isCollectionValuesChanged(Collection<I> value, Collection<I> oldValue) { return value != oldValue; }
рдпрд╣ рдорд╛рдорд▓рд╛ рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд╕рдорд╛рди рд╣реИред рд╕рдВрдЧреНрд░рд╣ рдХреА рддреБрд▓рдирд╛
isCollectionValuesChanged рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХреА
рдЬрд╛рддреА рд╣реИ, рдФрд░ рд╕рдВрджрд░реНрдн рдХреА рддреБрд▓рдирд╛ рд╢рд╛рдпрдж рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдЙрджреНрджреЗрд╢реНрдп рдерд╛ред
рдирд┐рд░рд░реНрдердХ рд╕реНрдерд┐рддрд┐рдпрд╛рдВ
рдЪреЗрддрд╛рд╡рдиреА резV6007 рдПрдХреНрд╕рдкреНрд░реЗрд╢рди 'mask.charAt (i + рдСрдлрд╕реЗрдЯ)! = рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░' рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИред DatePickerDocument.java (238)
private String calculateFormattedString(int offset, String text) .... { .... if ((mask.charAt(i + offset) == placeHolder)) {
рджреВрд╕рд░реА рд╕реНрдерд┐рддрд┐ рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреА рд╣реИ рдЬреЛ рдкрд╣рд▓реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬрд╛рдБрдЪ рдХреА рдЧрдИ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реЛрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рдмрд╛рдж рдореЗрдВ рдХреЛрдб рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
V6007 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'рдХрдиреЗрдХреНрдЯрд░ == рдирд▓' рд╣рдореЗрд╢рд╛ рдЧрд▓рдд рд╣реЛрддрд╛ рд╣реИред HTML5Support.java (169)
private boolean validate(NativeEvent event) { .... while (connector == null) { widget = widget.getParent(); connector = Util.findConnectorFor(widget); } if (this.connector == connector) { return true; } else if (connector == null) {
рдЬрдмрдХрд┐ рд▓реВрдк рдЫреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж,
рдХрдиреЗрдХреНрдЯрд░ рдЪрд░ рдХрд╛ рдореВрд▓реНрдп
рд╢реВрдиреНрдп рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЪреЗрдХ рдХреЛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рдФрд░ рд╕рдВрджрд┐рдЧреНрдз рдЪреЗрддрд╛рд╡рдиреА рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- V6007 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'StringUtils.isBlank (strValue)' рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИред рдкрд░рдо.рдЬрд╛рд╡рд╛ (818)
рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб
V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред TransactionTest.java (283)
private void throwException() { throw new RuntimeException(TEST_EXCEPTION_MSG); } @Test public void testSuspendRollback() { Transaction tx = cont.persistence().createTransaction(); try { .... Transaction tx1 = cont.persistence().createTransaction(); try { EntityManager em1 = cont.persistence().getEntityManager(); assertTrue(em != em1); Server server1 = em1.find(Server.class, server.getId()); assertNull(server1); throwException();
рдереНрд░реЛ
рдПрдХреНрд╕рд╕реЗрдкреНрд╢рди рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХрддрд╛ рд╣реИ рдЬреЛ
tx1.commit рдХреЗ рдХреЙрд▓ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд░реЛрдХрддрд╛ рд╣реИред рдХреЛрдб рдХреЛ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрди рджреЛ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд╕реНрд╡реИрдк рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдиреНрдп рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рднреА рдХреБрдЫ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВ:
- V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред TransactionTest.java (218)
- V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред TransTestest.java (163)
- V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред TransactionTest.java (203)
- V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред TransactionTest.java (137)
- V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред UpdateDetachedTest.java (153)
- V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред EclipseLinkDetachedTest.java (132)
- V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред рджреГрдврд╝рддрд╛ Tj.java (223)
рд╕рдВрджреЗрд╣рд╛рд╕реНрдкрдж рддрд░реНрдХ
рдЪреЗрддрд╛рд╡рдиреА резV6023 рдкреИрд░рд╛рдореАрдЯрд░ 'рдирдордХ' рд╣рдореЗрд╢рд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рдзрд┐ рд╢рд░реАрд░ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред BCryptEnc рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рдиModule.java (47)
@Override public String getHash(String content, String salt) { salt = BCrypt.gensalt(); return BCrypt.hashpw(content, salt); }
рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдореЗрдВ,
рдирдордХ рдПрдХ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╢рдмреНрджрдХреЛрд╢ рд╣рдорд▓реЛрдВ рдФрд░ рдЗрдВрджреНрд░рдзрдиреБрд╖ рддрд╛рд▓рд┐рдХрд╛ рд╣рдорд▓реЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд░рдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рдорд╛рди рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдЕрд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдФрд░ рдЕрдзрд┐рдХ:
рдирдордХ (рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА) ред
рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, рджрд░реНрдЬ рдХреА рдЧрдИ рд╕реНрдЯреНрд░рд┐рдВрдЧ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕рд╣реА рд▓рд┐рдЦреА рдЧрдИ рд╣реИред рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджрд┐рдП рдЧрдП рдорд╛рди рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рднреЗрджреНрдпрддрд╛ рд╣реИред
рдЪреЗрддрд╛рд╡рдиреА реирдЗрд╕ рд╕рдорд╛рд░реЛрд╣ рдиреЗ рдПрдХ рд╕рд╛рде рджреЛ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдЪрд╛рд▓реВ рдХрд┐рдпрд╛:
- V6023 рдкреИрд░рд╛рдореАрдЯрд░ 'рдСрдлрд╕реЗрдЯрд╡рд┐рджрде' рд╣рдореЗрд╢рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рдзрд┐ рдирд┐рдХрд╛рдп рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрдпреВрдмрд╛рд╕реБрдЧреНрдореЗрдВрдЯреЗрд╢рдирдлрд┐рд▓реНрдбрд╡реЗрдЯ.рдЬрд╛рд╡рд╛ (433)
- V6023 рдкреИрд░рд╛рдореАрдЯрд░ 'рдСрдлрд╕реЗрдЯрд╣рд╛рдЗрдЯ' рд╣рдореЗрд╢рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рдзрд┐ рдирд┐рдХрд╛рдп рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрдпреВрдмрд╛рд╕реБрдЧреНрдореЗрдВрдЯреЗрд╢рдирдлрд┐рд▓реНрдбрд╡реЗрдЯ.рдЬрд╛рд╡рд╛ (433)
@Override public void setPosition(int offsetWidth, int offsetHeight) { offsetHeight = getOffsetHeight(); .... if (offsetHeight + getPopupTop() > ....)) { .... } .... offsetWidth = containerFirstChild.getOffsetWidth(); if (offsetWidth + getPopupLeft() > ....)) { .... } else { left = getPopupLeft(); } setPopupPosition(left, top); }
рдпрд╣ рдХрд╛рдлреА рдЙрддреНрд╕реБрдХ рд╕реНрдирд┐рдкреЗрдЯ рд╣реИред рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЗрд╡рд▓ рджреЛ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЗ рд╕рд╛рде рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ,
рдСрдлрд╝рд╕реЗрдЯрд╡рд┐рдВрдб рдФрд░
рдСрдлрд╝рд╕реЗрдЯ , рдФрд░ рдЙрдкрдпреЛрдЧ рд╕реЗ рдкрд╣рд▓реЗ рджреЛрдиреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЪреЗрддрд╛рд╡рдиреА рейV6022 рдкреИрд░рд╛рдореАрдЯрд░ 'рд╢реЙрд░реНрдЯрдХрдЯ' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдмреЙрдбреА рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред DeclarativeTrackingAction.java (47)
public DeclarativeTrackingAction(String id, String caption, String description, String icon, String enable, String visible, String methodName, @Nullable String shortcut, ActionsHolder holder) { super(id); this.caption = caption; this.description = description; this.icon = icon; setEnabled(enable == null || Boolean.parseBoolean(enable)); setVisible(visible == null || Boolean.parseBoolean(visible)); this.methodName = methodName; checkActionsHolder(holder); }
рдлрд╝рдВрдХреНрд╢рди
рд╢реЙрд░реНрдЯрдХрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдпрд╛ рдпрд╣ рдЪреЗрддрд╛рд╡рдиреА рдХреЗрд╡рд▓ рдПрдХ рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреБрдЫ рдФрд░ рджреЛрд╖:
- V6022 рдкреИрд░рд╛рдореАрдЯрд░ 'рдЯрд╛рдЗрдк' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдмреЙрдбреА рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред QueryNode.java (36)
- V6022 рдкреИрд░рд╛рдореАрдЯрд░ 'text2' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдмреЙрдбреА рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред MarkerAddition.java (22)
- V6022 рдкреИрд░рд╛рдореАрдЯрд░ 'рдЪрдпрди' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдмреЙрдбреА рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред AceEditor.java (114)
- V6022 рдкреИрд░рд╛рдореАрдЯрд░ 'рд╡рд┐рдХрд▓реНрдк' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдмреЙрдбреА рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред EntitySerialization.java (379)
рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ, рдПрдХ рд╣реА рдХреЛрдб
рдЪреЗрддрд╛рд╡рдиреА резV6032 рдпрд╣ рд╡рд┐рдЪрд┐рддреНрд░ рд╣реИ рдХрд┐ рд╡рд┐рдзрд┐ 'firstItemId' рдХрд╛ рд╢рд░реАрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд┐рдзрд┐ 'lastItemId' рдХреЗ рд╢рд░реАрд░ рдХреЗ рд╕рдорддреБрд▓реНрдп рд╣реИред рдХрдВрдЯреЗрдирд░рдЯреЗрдмрд▓ рдЗрдЯреНрд╕.рдЬрд╛рд╡рд╛ (213), рдХрдВрдЯреЗрдирд░рдЯреЗрдмрд▓ рдЗрдЯреНрд╕.рдЬрд╛рд╡рд╛ (219)
@Override public Object firstItemId() { List<E> items = container.getItems(); return items.isEmpty() ? null : items.get(0).getId(); } @Override public Object lastItemId() { List<E> items = container.getItems(); return items.isEmpty() ? null : items.get(0).getId(); }
рдлрд╝рд░реНрд╕реНрдЯ рдЗрдЯрдЗрдордЖрдИрдб рдФрд░
рд▓рд╛рд╕реНрдЯ рдЗрдЯрд┐рдорд┐рдб рдореЗрдВ рд╕рдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНтАНрд╡рдпрди рд╣реЛрддреЗ рд╣реИрдВред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рд╕рдВрднрд╡рддрдГ рдЗрдВрдбреЗрдХреНрд╕ 0 рдкрд░ рддрддреНрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЕрдВрддрд┐рдо рддрддреНрд╡ рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛ред
рдЪреЗрддрд╛рд╡рдиреА реиV6032 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рд╡рд┐рдзрд┐ рдХрд╛ рд╢рд░реАрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд┐рдзрд┐ рдХреЗ рд╢рд░реАрд░ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред SearchComboBoxPainter.java (495), SearchComboBoxPainter.java (501)
private void paintBackgroundDisabledAndEditable(Graphics2D g) { rect = decodeRect1(); g.setPaint(color53); g.fill(rect); } private void paintBackgroundEnabledAndEditable(Graphics2D g) { rect = decodeRect1(); g.setPaint(color53); g.fill(rect); }
рд╕рдВрджрд┐рдЧреНрдз рд╕рдорд╛рди рдирд┐рдХрд╛рдпреЛрдВ рдХреЗ рд╕рд╛рде рджреЛ рдФрд░ рдХрд╛рд░реНрдпред рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ
color53 рдХреЗ рдмрдЬрд╛рдп рдХрд┐рд╕реА рдФрд░ рд░рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдерд╛ред
рдЕрд╢рдХреНрддрдкрди
рдЪреЗрддрд╛рд╡рдиреА резV6060 рдирд▓ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 'descriptionPopup' рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред SuggestPopup.java (252), SuggestPopup.java (251)
protected void updateDescriptionPopupPosition() { int x = getAbsoluteLeft() + WIDTH; int y = getAbsoluteTop(); descriptionPopup.setPopupPosition(x, y); if (descriptionPopup!=null) { descriptionPopup.setPopupPosition(x, y); } }
рд╕рд┐рд░реНрдл рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдПрдХ рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрджрд┐рдЧреНрдз рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рдзрд┐
setPopupPosition рдСрдмреНрдЬреЗрдХреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛
рд╡рд┐рд╡рд░рдг рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдСрдмреНрдЬреЗрдХреНрдЯ
рдирд▓ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИред
рд╕реЗрдЯрдкреЙрдкрдкреЛрдЬрд┐рд╢рди рдХреА рдкрд╣рд▓реА рдХреЙрд▓ рд╢рд╛рдпрдж рдмреЗрдорд╛рдиреА рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЦрддрд░рдирд╛рдХ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЦрд░рд╛рдм рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╣реИред
рдЪреЗрддрд╛рд╡рдиреА реиV6060 рдирд▓ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 'tableModel' рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред DesktopAbstractTable.java (1580), DesktopAbstractTable.java (1564)
protected Column addRuntimeGeneratedColumn(String columnId) {
рдпрд╣ рдорд╛рдорд▓рд╛ рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд╕рдорд╛рди рд╣реИред рдЬрдм рддрдХ
рдЯреЗрдмрд▓рдореЙрдбрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ
рд╢реВрдиреНрдп рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╣реА рдХрдИ рдмрд╛рд░ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг:
- V6060 рдирд▓ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 'tableModel' рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред DesktopAbstractTable.java (596), DesktopAbstractTable.java (579)
рд╕рдВрднрд╡рдд: рдПрдХ рддрд░реНрдХ рддреНрд░реБрдЯрд┐
V6026 рдпрд╣ рдорд╛рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 'SortAscending' рдЪрд░ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рдХреНрдпреВрдмрд╛рд╕реНрдХреНрд░реЛрд▓рдЯреЗрдмрд▓рд╡реЗрдЧреЗрдЯ.рдЬрд╛рд╡рд╛ (488)
@Override protected void sortColumn() { .... if (sortAscending) { if (sortClickCounter < 2) {
рдкрд╣рд▓реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╡реИрд░рд┐рдПрдмрд▓
рд╕реЙрд░реНрдЯрдХреИрдбрд┐рдВрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдорд╛рди рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛
рд╣реИ , рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдмрд╛рдж рдореЗрдВ рдЙрд╕реА рдорд╛рди рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдПрдХ рдЧрд▓рддреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рд▓реЗрдЦрдХ рдХрд╛ рд╢рд╛рдпрдж рдореВрд▓реНрдп
рдЧрд▓рдд рдерд╛ ред
рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдПрдХ рд╕рдорд╛рди рдЙрджрд╛рд╣рд░рдг:
- V6026 рдпрд╣ рдорд╛рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 'SortAscending' рдЪрд░ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рдХреНрдпреВрдмрд╛рдЯреНрд░реАрдЯреЗрдмрд▓рд╡реЗрдЯ.рдЬрд╛рд╡рд╛ (444)
рдЕрдЬреАрдм рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп
рдЪреЗрддрд╛рд╡рдиреА резV6037 рд▓реВрдк рдХреЗ рднреАрддрд░ рдмрд┐рдирд╛ рд╢рд░реНрдд 'рд╡рд╛рдкрд╕реА'ред QueryCacheManager.java (128)
public <T> T getSingleResultFromCache(QueryKey queryKey, List<View> views) { .... for (Object id : queryResult.getResult()) { return (T) em.find(metaClass.getJavaClass(), id, views.toArray(....)); } .... }
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рд▓реВрдк рдХреЗ
рд▓рд┐рдП рдмрд╣реБрдд рдкрд╣рд▓реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░
рд▓реМрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рдирд╛ рд╢рд░реНрдд рдХреЙрд▓ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рд╣реИред рдпрд╛ рддреЛ рд╡рд╣ рд▓рд╛рдЗрди рдЧрд▓рдд рд╣реИ рдпрд╛ рд▓реВрдк рдХреЛ рдПрдХ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рджреЛрдмрд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЪреЗрддрд╛рд╡рдиреА реиV6014 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рд╣рдореЗрд╢рд╛ рдПрдХ рдФрд░ рдПрдХ рд╣реА рдорд╛рди рд▓реМрдЯрд╛рддреА рд╣реИред DefaultExceptionHandler.java (40)
@Override public boolean handle(ErrorEvent event, App app) { Throwable t = event.getThrowable(); if (t instanceof SocketException || ExceptionUtils.getRootCause(t) instanceof SocketException) { return true; } if (ExceptionUtils.getThrowableList(t).stream() .anyMatch(o -> o.getClass().getName().equals("...."))) { return true; } if (StringUtils.contains(ExceptionUtils.getMessage(t), "....")) { return true; } AppUI ui = AppUI.getCurrent(); if (ui == null) { return true; } if (t != null) { if (app.getConnection().getSession() != null) { showDialog(app, t); } else { showNotification(app, t); } } return true; }
рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдорд▓реЗ рдореЗрдВ
рд╕рд╣реА рд░рд╣рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ
рдЭреВрдареА рдХреЙрд▓ рдХрд░рддреА рд╣реИред рдпрд╣ рдПрдХ рдЧрд▓рддреА рдХреА рддрд░рд╣ рд▓рдЧ рд░рд╣рд╛ рд╣реИред
рдпрд╣рд╛рдВ рдЕрдиреНрдп рд╕рдорд╛рди рд╕рдВрджрд┐рдЧреНрдз рдХрд╛рд░реНрдпреЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ:
- V6014 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рд╣рдореЗрд╢рд╛ рдПрдХ рдФрд░ рдПрдХ рд╣реА рдорд╛рди рд▓реМрдЯрд╛рддреА рд╣реИред ErrorNodesFinder.java (31)
- V6014 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рд╣рдореЗрд╢рд╛ рдПрдХ рдФрд░ рдПрдХ рд╣реА рдорд╛рди рд▓реМрдЯрд╛рддреА рд╣реИред FileDownloadController.java (69)
- V6014 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рд╣рдореЗрд╢рд╛ рдПрдХ рдФрд░ рдПрдХ рд╣реА рдорд╛рди рд▓реМрдЯрд╛рддреА рд╣реИред IdVarSelector.java (73)
- V6014 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рд╣рдореЗрд╢рд╛ рдПрдХ рдФрд░ рдПрдХ рд╣реА рдорд╛рди рд▓реМрдЯрд╛рддреА рд╣реИред IdVarSelector.java (48)
- V6014 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рд╣рдореЗрд╢рд╛ рдПрдХ рдФрд░ рдПрдХ рд╣реА рдорд╛рди рд▓реМрдЯрд╛рддреА рд╣реИред IdVarSelector.java (67)
- V6014 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рд╣рдореЗрд╢рд╛ рдПрдХ рдФрд░ рдПрдХ рд╣реА рдорд╛рди рд▓реМрдЯрд╛рддреА рд╣реИред IdVarSelector.java (46)
- V6014 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рд╣рдореЗрд╢рд╛ рдПрдХ рдФрд░ рдПрдХ рд╣реА рдорд╛рди рд▓реМрдЯрд╛рддреА рд╣реИред JoinVariableNode.java (57)
рдЪреЗрддрд╛рд╡рдиреА рейV6007 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'рдЬрд░реВрд░рддрд░реИрд▓реЛрдж' рд╣рдореЗрд╢рд╛ рдЭреВрдареА рд╣реЛрддреА рд╣реИред WebAbstractTable.java (2702)
protected boolean handleSpecificVariables(Map<String, Object> variables) { boolean needReload = false; if (isUsePresentations() && presentations != null) { Presentations p = getPresentations(); if (p.getCurrent() != null && p.isAutoSave(p.getCurrent()) && needUpdatePresentation(variables)) { Element e = p.getSettings(p.getCurrent()); saveSettings(e); p.setSettings(p.getCurrent(), e); } } return needReload; }
рдлрд╝рдВрдХреНрд╢рди рдХреА рдЬрд░реВрд░рдд рд╣реИ рд░рд┐рдЯрд░реНрди рд╡реЗрд░рд┐рдПрдмрд▓ рдЪрд░ рдЬрд┐рд╕рдХрд╛ рдорд╛рди рд╣рдореЗрд╢рд╛
рдЧрд▓рдд рд╣реИ ред рдЙрд╕ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХреЛрдб рд╢рд╛рдпрдж рд╢рд░реНрддреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╕реЗ рдЧрд╛рдпрдм рд╣реИред
рдЪреЗрддрд╛рд╡рдиреА рекV6062 'рдЗрдирдлреЛрдХрд╕' рдкрджреНрдзрддрд┐ рдХреЗ рдЕрдВрджрд░ рд╕рдВрднрд╛рд╡рд┐рдд рдЕрдирдВрдд рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ред GwtAceEditor.java (189), GwtAceEditor.java (190)
public final native void focus() ; public final boolean isFocused() { return this.isFocused(); }
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд░реЛрдХ рд╕реНрдерд┐рддрд┐ рдХреЗ рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╛рд░реНрдп рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рд╣реИред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреАрд╡рд░реНрдб
рдореВрд▓ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдФрд░ рдЯрд┐рдкреНрдкрдгреА-рдЖрдЙрдЯ рдХреЛрдб рд╡рд╛рд▓реЗ рдХрдИ рдлрд╝рдВрдХреНрд╢рди рд╣реИрдВред рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╢рд╛рдпрдж рдЕрдм рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЬрд▓реНрдж рд╣реА рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди
рдХреЗрдВрджреНрд░рд┐рдд рдлрд╝рдВрдХреНрд╢рди рднреА рдХрд░реЗрдВрдЧреЗред
рд╡рд┐рд╡рд┐рдз
рдЪреЗрддрд╛рд╡рдиреА резV6002 рд╕реНрд╡рд┐рдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ 'рдСрдкрд░реЗрд╢рди'
рдПрдирдо рдХреЗ рд╕рднреА рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ: ADDред DesktopAbstractTable.java (665)
enum Operation { REFRESH, CLEAR, ADD, REMOVE, UPDATE } @Override public void setDatasource(final CollectionDatasource datasource) { .... collectionChangeListener = e -> { switch (e.getOperation()) { case CLEAR: case REFRESH: fieldDatasources.clear(); break; case UPDATE: case REMOVE: for (Object entity : e.getItems()) { fieldDatasources.remove(entity); } break; } }; .... }
рд╕реНрд╡рд┐рдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ
ADD рдХреЗ рдорд╛рди рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХрдорд╛рддреНрд░ рдРрд╕рд╛ рдореВрд▓реНрдп рд╣реИ рдЬрд┐рд╕рдХреА рдЬрд╛рдБрдЪ рдирд╣реАрдВ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЗрд╕ рдХреЛрдб рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рдиреА рдЪрд╛рд╣рд┐рдПред
рдЪреЗрддрд╛рд╡рдиреА реиV6021 рдЪрд░ 'рд╕реНрд░реЛрдд' рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдбрд┐рдлрд╛рд▓реНрдЯ рд╣реЙрд░рд┐рдЬрд╝реЙрдиреНрдЯрд▓ рд▓рд╛рдИрдЯрдбреНрд░реЙрдкрд╣реИрдВрдбрд▓рд░.рдЬрд╛рд╡рд╛ (177)
@Override protected void handleHTML5Drop(DragAndDropEvent event) { LayoutBoundTransferable transferable = (LayoutBoundTransferable) event .getTransferable(); HorizontalLayoutTargetDetails details = (HorizontalLayoutTargetDetails) event .getTargetDetails(); AbstractOrderedLayout layout = (AbstractOrderedLayout) details .getTarget(); Component source = event.getTransferable().getSourceComponent();
рдЪрд░
рд╕реНрд░реЛрдд рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╢рд╛рдпрдж рд▓реЗрдЦрдХ
рд╕реНрд░реЛрдд рдХреЛ
рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рднреВрд▓ рдЧрдП, рдЬреИрд╕реЗ рдХрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдХ рдЕрдиреНрдп рдЪрд░ рдХреЗ рд╕рд╛рде рд╣реБрдЖ,
COMP ред
рдЕрдкреНрд░рдпреБрдХреНрдд рдЪрд░ рдХреЗ рд╕рд╛рде рдЕрдиреНрдп рдХрд╛рд░реНрдп:
- V6021 рдЪрд░ 'рд╕реНрд░реЛрдд' рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред DefaultHor рдХреНрд╖реИрддрд┐рдЬрд▓реВрдЯрдЖрдЙрдЯрдбреНрд░реЙрдкрд▓рд░ .java (175)
- V6021 рдорд╛рди рдХреЛ 'r' рд╡реЗрд░рд┐рдПрдмрд▓ рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред ExcelExporter.java (262)
- V6021 рдЪрд░ 'рдУрд╡рд░' рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред DefaultCssLoutoutDropHandler.java (49)
- V6021 рдЪрд░ 'рд╣рд╕реНрддрд╛рдВрддрд░рдгреАрдп' рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдбрд┐рдлреЙрд▓реНрдЯрд╣реЛрд░рд▓реЙрдпрдЖрдЙрдЯрдбреНрд░реЙрдкрд╣реИрдВрдбрд▓рд░.рдЬрд╛рд╡рд╛ (171)
- V6021 рдЪрд░ 'рд╣рд╕реНрддрд╛рдВрддрд░рдгреАрдп' рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред DefaultHor рдХреНрд╖реИрддрд┐рдЬрд▓реВрдЯрдЖрдЙрдЯрдбреНрд░реЙрдкрд▓рд░ .java (169)
- V6021 рдкрд░рд┐рд╡рд░реНрддрдиреАрдп 'рдмреАрдирд▓реЛрдХреЗрдЯрд░' рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред ScreenEventMixin.java (28)
рдЪреЗрддрд╛рд╡рдиреА рейV6054 рд╡рд░реНрдЧреЛрдВ рдХреА рдЙрдирдХреЗ рдирд╛рдо рд╕реЗ рддреБрд▓рдирд╛ рдирд╣реАрдВ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред MessageTools.java (283)
public boolean hasPropertyCaption(MetaProperty property) { Class<?> declaringClass = property.getDeclaringClass(); if (declaringClass == null) return false; String caption = getPropertyCaption(property); int i = caption.indexOf('.'); if (i > 0 && declaringClass.getSimpleName().equals(caption.substring(0, i))) return false; else return true; }
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдирд╛рдо рд╕реЗ рдПрдХ рд╡рд░реНрдЧ рдХреА рддреБрд▓рдирд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рд╣реИред рдЬреИрд╕реЗ рдирд╛рдо рд╕реЗ рдХрдХреНрд╖рд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЧрд▓рдд рд╣реИ, рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЬреЗрд╡реАрдПрдо рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдирд╛рдо рдХреЗрд╡рд▓ рдПрдХ рдкреИрдХреЗрдЬ рдореЗрдВ рдЕрджреНрд╡рд┐рддреАрдп рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рддрд░рд╣ рдХреА рддреБрд▓рдирд╛ рдЧрд▓рдд рдкрд░рд┐рдгрд╛рдо рджреЗрддреА рд╣реИ рдФрд░ рдЧрд▓рдд рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИред
CUBA рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдЯрд┐рдкреНрдкрдгреА
рдХрд┐рд╕реА рднреА рдмрдбрд╝реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреАрдбрд╝реЗ рд╣реИрдВред рдпрд╣ рдЬрд╛рдирдХрд░ рдХрд┐, рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЯреАрдо рдиреЗ рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХреА, рд╣рдо рд╕рд╣рд░реНрд╖ рд╕рд╣рдордд рд╣реИрдВред CUBA рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ Apache 2 рдХреЗ рддрд╣рдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рдХреБрдЫ рддреГрддреАрдп-рдкрдХреНрд╖ OSS рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдХрд╛рдВрдЯреЗ рд╣реИрдВ, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЙрд╕ рдХреЛрдб рдкрд░ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рдЙрди рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рдХрд╛рдлреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдорд┐рд▓реАрдВред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдо рдЕрдкрдиреЗ рдкреНрд░рд╛рдердорд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдкреЙрдЯрдмрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рджреНрд╡рд╛рд░рд╛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдП рдЧрдП рдХреБрдЫ рдмрдбрд╝реЗ рдмрдЧреЛрдВ рдХреЛ рдиреЛрдЯрд┐рд╕ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╕реНрд╡рдпрдВ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рджрд╛рди рд▓рд┐рдЦрдиреЗ рдЪрд╛рд╣рд┐рдПред рдиреМрдХрд░реА рдХреЗ рд▓рд┐рдП рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЯреАрдо рдХреЛ рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджредрдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рд╣рдореЗрдВ рдпрд╣ рднреА рдмрддрд╛рдпрд╛ рдХрд┐ рдЪреЗрддрд╛рд╡рдиреА V6013 рдФрд░ V6054 рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХ рдереА; рдпрд╣ рдЙрд╕ рдХреЛрдб рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдЙрдирдХрд╛ рд╕рдЪреЗрдд рдирд┐рд░реНрдгрдп рдерд╛ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд┐рдпрд╛ рдерд╛ред рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рд╕рдВрджрд┐рдЧреНрдз рдХреЛрдб рдЕрдВрд╢реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреАрдбрд╝реЗ рдЦреЛрдЬрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╡рд┐рднрд┐рдиреНрди рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рддрд░рд╣ рдХреА рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рд╡рд┐рд╢реЗрд╖
рдЬрди рдЪреЗрддрд╛рд╡рдиреА рджрдорди рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЯреАрдо рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХрд╛ рдХреЛрдИ рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рд▓реЗ рд╕рдХрддреА рд╣реИ "рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЦреБрдж рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рджрд╛рди рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП" рдФрд░ рдЗрд╕ рддрд╕реНрд╡реАрд░ рдХреЗ рдмрд┐рдирд╛ рдХрд░реЗрдВ :)
рдирд┐рд╖реНрдХрд░реНрд╖
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЖрдкрдХреА рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдореМрдЬреВрджрд╛ рдЧреБрдгрд╡рддреНрддрд╛-рдирд┐рдпрдВрддреНрд░рдг рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрджрд░реНрд╢ рдкреВрд░рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рджрд░реНрдЬрдиреЛрдВ, рд╕реИрдХрдбрд╝реЛрдВ рдпрд╛ рд╣рдЬрд╛рд░реЛрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╡рд╛рд▓реА рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдЪ рд╣реИред рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛ рди рдХреЗрд╡рд▓ рдмрдЧ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рднреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреЛрдб рд╕рдВрдкрд╛рджрди рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдХреЛрдб рдЧреБрдгрд╡рддреНрддрд╛ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕рд╛рдзрди рд╣реИрдВред рдПрдХ рдмрдбрд╝реА рдХрдВрдкрдиреА рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЗ рдЕрдкрдиреЗ рд╕рдВрдмрдВрдзрд┐рдд рднрд╛рдЧреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЬрд╛рдВрдЪрдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдРрд╕реА рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдХреЛ рдЕрдкрдирд╛рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рд╣рд░ рд╡рд┐рдХрд╛рд╕ рд╕реНрддрд░ рдкрд░ рдХреЛрдб рдЧреБрдгрд╡рддреНрддрд╛ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рди рдХрд┐ рдХреЗрд╡рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреА рддрд░рдлред