26.09.2008, 13:17 | #1 |
Мрачный тип
|
Потеря активного буфера записи при вызове 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. |
|