Показать сообщение отдельно
Старый 06.03.2008, 12:11   #1  
demon46 is offline
demon46
Участник
 
78 / 12 (1) ++
Регистрация: 26.06.2006
Как проверить наличие хотя бы одной записи в подчиненной таблице.
Доброго всем времени суток!
Вопрос на самом деле не такой уж и простой. У меня есть таблица Штрафные санкции VendContractPenaltyProvision эта таблица подчинена таблице RContractTable а в форме последней есть грид, который ссылается на таблицу VendContractPenaltyProvision. Так вот у договора может быть много штрафных санкций, но обязательно должна быть хотя бы одна! Пробовал в методе validateWrite у таблицы RContractTable прописать следующий код:
X++:
    VendContractPenaltyProvision tab;
    ;
    select firstonly tab
      where tab.RContractAccount == this.RContractAccount && tab.RContractPartnerCode == this.RContractPartnerCode;
    if (!tab )
      {
         Info("В данном договоре не заполнены штрафные санкции");

         return false;
      }
Вроде все работает, если сразу пытаться делать записи в грид таблицы VendContractPenaltyProvision. В противном случае (если была изменена хотя бы одно поле в таблице RContractTable) при переходе на грид таблицы VendContractPenaltyProvision выпадает сообщение "В данном договоре не заполнены штрафные санкции" и грид не активен, и сохранить запись нельзя. В принципе путей для заполнения таблицы VendContractPenaltyProvision много, но хотелось бы это делать в форме таблицы RContractTable. Может кто-нибудь сталкивался с подобной задачкой. Поделитесь пожалуйста опытом. Да и кстати, на этом форуме есть каки-либо системы поощрения участников, как например на исходниках. А то я все спасибо да спасибо. А спасибо как многие знают не булькает! )
За это сообщение автора поблагодарили: mazzy (2).