Показать сообщение отдельно
Старый 19.05.2010, 14:10   #42  
NatK is offline
NatK
Участник
Аватар для NatK
 
48 / 13 (1) ++
Регистрация: 16.06.2009
Адрес: Иркутск
И у первого способа есть такой минус, что все происходит на онанлоад, поэтому там WF может и не сработать. Можно сделать на само назначение, тагда WF должен быть настроен на изменение поля, которое содержит наименование очереди, а скрипт должен быть примерно таким :
flagSave= false;
window.MyRouteTo = function()
{
flagSave= false;//поскольку в назначении тоже идет сохранение, но при этом сохраняются старые данные
assignObject(112);
foronunload();//тут у нас уже корректно заполняется поле...
crmForm._bSaving = false;
crmForm.detachCloseAlert();
flagSave= true;//...поэтому можно сохранить
crmForm.Save();//.. поле не должно поменяться, т.к. в функции есть проверка (должна быть)
}

var changeAction = document.getElementById('_MIassignObject112');
if(changeAction != null){
changeAction.action = 'MyRouteTo();';
}
/*==============================================================*/
и на OnSave() добавить:
if(flagSave)
{
foronunload();
}
/*==============================================================*/

кроме того, если поставлен Audit (у нас второй вариант с mmcrm.ru), там корректно история изменений отображается


P.S. проверьте саму функцию foronunload();!!!!!!!!!!!!!!!! а то там после чистки немного больше проверок осталось, чем надо, а может и меньше, но там уже просто
P.S.S. у нас с OnSave() свои заморочки были, поскольку менялось не одно поле и у нас foronunload много проверок, вполне возможно, что при более простой функции, так дублировать не надо.

Последний раз редактировалось NatK; 19.05.2010 в 14:37.