Показать сообщение отдельно
Старый 26.09.2008, 13:17   #1  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
885 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Потеря активного буфера записи при вызове super() в update() таблицы
3.0 SP3
На одном из подопечных проектов(весьма запущенный проект, к слову сказать - сброс RecId был уже и в таблице RContractTable есть с десяток дублей RecId, в таблице отключено св-во CreateRecIdIndex.) при сохранении изменений в форме договоров и, соответсвенно, при исполнении метода super() в переопределенном update() (перед super() - только сохрание буфера записи c this.orig() ) у RContractTable вылетает ошибка

"Невозможно отредактировать запись в 'Договоры' ('RContractTable').
Запись удалена другим пользователем."


RecId данного договора в списке дублирующихся нет ...
На некоторых договорах все ОК, на именно этом - такой вот затык

SQL, генеримый системой
X++:
 SQL: 
SELECT A.RCONTRACTPARTNERTYPE,A.RCONTRACTACCOUNT,A.RCONTRACTNUMBER,A.CONTRACTDATE,A.CONTRACTSTARTDATE,
A.CONTRACTENDDATE,A.CONTRACTAMOUNT,A.CONTRACTVATAMOUNT,A.CURRENCYCODE,A.CONTRACTPAYMCODE,A.RCONTRACTPARTNERCODE,
A.RCONTRACTSTATUS,A.CONTRACTPOSTINGPROGILE,A.CONTRACTPREPAYMENTPOSTING16014,A.CONTRACTRESPONSIBLEPERSON,
A.CONTACTPERSONID,A.CONTRACTPAYMMODE,A.CONTRACTPAYMSPEC,A.CONTRACTPAYMENTSCHED,A.CONTRACTCASHDISC,A.CONTACTPHONE,
A.LINEOFBUSSENESID,A.CONTACTTELEX,A.CONTACTURL,A.CONTACTEMAIL,A.CONTACTTELEFAX,A.CONTACTCELLULARPHONE,A.CONTACTPHONELOCAL,
A.CONTRACRTHRMORGANISATIONID,A.RCONTRACTCODE,A.RCONTRACTPAYMDAYID,A.VGP_RCONTRACTSUBJECTID,A.VGP_RCONTRACTCITYNAME,
A.VGP_RDATEVISALIST,A.VGP_RCONTRACTFOLDERID,A.VGP_RCLOSECAUSE,A.VGP_DIMENSION,A.VGP_DIMENSION2_,A.VGP_DIMENSION3_,
A.VGP_DIMENSION4_,A.VGP_DIMENSION5_,A.VGP_DIMENSION6_,A.VGP_DIMENSION7_,A.VGP_DIMENSION8_,A.VGP_DIMENSION9_,A.VGP_DIMENSION10_,
A.VGP_DIMENSION11_,A.VGP_DIMENSION12_,A.VGP_ISCREDITCONTRACT,A.VGP_PENALTY,A.VGP_SURCHARGE,A.VGP_PERCENT,
A.VGP_RCONTRACTPARTNERNAME,A.VGP_CONTRACTRESPONSIBLEPE50014,A.VGP_CONTRACTRESPONSIBLEOR50015,A.VGP_ADDITIONALPAYMENTINFO,
A.VGP_FIXEDPERCENT,A.VGP_SETTLEMENTID_RU,A.VGP_SETTLEMENTNAME,A.VGP_CITYID,A.VGP_COUNTYID,A.VGP_STATEID,A.VGP_TOMSKREGION,
A.VGP_DEBETORNAME,A.VGP_DEBETORCODE,A.VGP_CREDITPURPOSE,A.VGP_TRANSACTIONDEBTS,A.VGP_BAILS,A.VGP_DEPOSIT,A.VGP_CREDITPERIOD,
A.VGP_PAYMENTDATE,A.VGP_COMMENTS,A.FORPRINT,A.VGP_RCONTRACTGROUP,A.VGP_RCONTRACTTYPEID,A.VGP_PLACEOFREGISTRATIONID,
A.VGP_REGISTRATIONGOVERNMENTID,A.VGP_EAREGISTRATIONDATE,A.VGP_EAREGISTRATIONNUM,A.VGP_EACANREGISTRATION,
A.VGP_EAPROJECTCREATEDATE,A.VGP_EARCONTRACTACCOUNT,A.VGP_EACONTRACTPLANENDDATE,A.VGP_POWEROFATTORNEYOWNID,
A.VGP_POWEROFATTORNEYOUTID,A.VGP_EADECISION,A.VGP_DECISIONTRANSDATE,A.VGP_EAAUTHORITYID,A.VGP_EARENTER,
A.VGP_EAOWNER,A.VGP_EAORDER,A.VGP_EAORDERTRANSDATE,A.VGP_EABENEFIT,A.VGP_EAPREMIUM,A.VGP_EACURRENCYPREMIUM,
A.VGP_EAREPORT,A.VGP_EAREPORTTRANSDATE,A.VGP_EAREPORTTRANSDATEEND,A.VGP_EAREGISTRATIONDATEHYP50063,
A.VGP_EACONTRACTAMOUNTMTH,A.VGP_EARENTPAYMENTYEAR,A.VGP_EAFACTOROTHERCHARGE,A.VGP_EAPLANRESIDUALVALUEDATE,
A.VGP_EAFRANCHISE,A.VGP_EAPAWNRCONTRACTACCOUNT,A.VGP_EAHYPOTHECRCONTRACTACCOUNT,A.TGP_CREDITTYPE,
A.TGP_PARTNERTYPE,A.TGP_CUSTVENDPOSTINGPROFILE,A.TGP_RESTCREDITCONTRACT,A.LEDGERJOURNALNUM,
A.VGP_EACREDITPERCENT,A.VGP_VATPERCENT,A.LEASINGAMOUNT,A.MODIFIEDDATE,A.MODIFIEDTIME,A.RECID,
A.RCONTRACTSUBJECT,A.VGP_RCONTRACTCOMMENT,A.VGP_EACONTRACTNOTES FROM RCONTRACTTABLE A(INDEX(I_16375CONTRACTTYPECODEAC16001) UPDLOCK)  WHERE ((DATAAREAID=?) AND ((RCONTRACTACCOUNT=?) AND ((RCONTRACTCODE=?) AND (RCONTRACTPARTNERTYPE=?)))) OPTION(FAST 1) [=35,  =]
Битых два часа ломаю голову - можно ли это вылечить ?
Или уже это трындец и он неизлечим ?
__________________
Мы летаем, кружимся, нагоняем ужасы ...

Последний раз редактировалось TasmanianDevil; 26.09.2008 в 13:37.