====== Обновление записи на аплете ======
Бывает так, что хочешь обновить запись в апплете, но вместо этого получаешь сообщение "The selected record has been modified by another user". Да, неприятная ситуация. Можно было бы попробовать сделать ClearToQuery() и ExecuteQuery(), но тогда теряется некоторый контент.
Несколько вариантов как обновить запись в UI не потеряв контент.
===== RefreshRecord =====
Если БК основан на классе **CSSBCBas** то просто в PreInvokeMethod апплета можно написать:
if (MethodName == 'MyMethod')
{
this.BusComp().InvokeMethod('RefreshRecord');
}
===== RefreshBusComp =====
Метод БК, основанного на классе **CSSBCBase**, "RefreshBusComp".
if (MethodName == 'MyMethod')
{
this.BusComp().InvokeMethod('RefreshBusComp');
}
//Отличие от предыдущего метода только в том, что будет обновлена не одна запись, а все записи в текущем контексте запроса к БК.//
===== FINS Teller UI Navigation : Business Service. =====
в отличие от первых двух методов, сервис может обновлять как апплет так и БК. Причем не важно на каком классе основаны апплет и БК. Метод, который необходим "RefreshCurrentApplet":
if(MethodName == 'MyMethod')
{
TheApplication().GetService('FINS Teller UI Navigation').
InvokeMethod('RefreshCurrentApplet',
TheApplication().NewPropertySet(),
TheApplication().NewPropertySet());
}
--- //[[anton_k86@inbox.ru|Khokhlov.Anton]] 2014/12/26 17:10//
{{tag>applet}}