|
Документооборот, ЗадачиМнеПриАктивизацииСтроки() | ☑ | ||
---|---|---|---|---|
0
YurAnt
17.04.15
✎
13:42
|
Доброго времени суток, господа-форумчане.
Столкнулся с такой вот интересной задачей: есть Документооборот 8 КОРП, редакция 1.3 в документообороте есть Задачи/ЗадачиИсполнителя http://savepic.net/6759930.htm В списке моих задач ("ФормаЗадачиМне"), если пользователь тыкает по задаче - подсвечивать мертвенько-зеленым цветом всякое разное в окошке справа "ГруппаНаименованиеИТипПриложения" (по сути вложение задачи, документ) работа у всех идет в тонком клиенте. подсветка идет в момент когда пользователь ткнул мышей в задачу. Далее если у документа-вложения реквизит "Бюджет" = Ложь, то подсвечиваем. (т.е. без обращения к серверу - никак, ибо по текущей заявке смотрим что за док во вложении и дальше стучимся к нему) А теперь самое весёлое... 1) при вызове сервера автоматом активизируется ЗадачиМнеПриАктивизацииСтроки() именно эта процедура обрабатывает "тык" мышью, в обчем рекурсия. На клиенте не вариант ибо все сидят в тонком. А через сервер идет вызов рекурсии... Сижу вот ломаю мозг как это побеждать. С ув. YurAnt. |
|||
1
YurAnt
17.04.15
✎
13:44
|
т.е. пользователь тыкает мышью
попадает в &НаКлиенте Процедура ЗадачиМнеПриАктивизацииСтроки(Элемент) //********** 14.04.2015******************************************************************* //ИтогПоиска = ПоискПоСтруктуреНаСервере(Элементы.ЗадачиМне.ТекущиеДанные.БизнесПроцесс); // //Если Не ЗначениеЗаполнено(ИтогПоиска) Тогда // зеленый = Новый Цвет(152, 251, 152); // Элементы.ГруппаНаименованиеИТипПриложения.ПодчиненныеЭлементы.ДеревоПриложенийНаименование.ЦветФона = зеленый; //Иначе // Элементы.ГруппаНаименованиеИТипПриложения.ПодчиненныеЭлементы.ДеревоПриложенийНаименование.ЦветФона = Новый Цвет(255, 255, 255); //КонецЕсли; //********** 14.04.2015******************************************************************* //======================================================= &НаСервере Функция ПоискПоСтруктуреНаСервере(БПСсылка) Предмет = БПСсылка.Ссылка.Предметы[0].Предмет; Если ЗначениеЗаполнено(Предмет) Тогда ВидДок = Предмет.ВидДокумента; Иначе ВидДок = Неопределено; КонецЕсли; ЗаявкаНаОплату = Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("Заявка на оплату"); Если ЗначениеЗаполнено(ВидДок) Тогда Если ВидДок = ЗаявкаНаОплату Тогда БюджетЗаявкаНаОплату = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Бюджет (Заявка на оплату)"); СтруктураПоиска = Новый Структура; СтруктураПоиска.Вставить("Свойство", БюджетЗаявкаНаОплату); ИтогПоиска = Предмет.ДополнительныеРеквизиты.НайтиСтроки(СтруктураПоиска); КонецЕсли; КонецЕсли; Возврат ИтогПоиска; КонецФункции |
|||
2
YurAnt
17.04.15
✎
13:46
|
и как только идет вызов сервера, происходит повторный вызов ЗадачиМнеПриАктивизацииСтроки(Элемент)
не говоря уже о том, что при открытии формы, эта процедурка пробегает по всем строкам... а вызов сервера в цикле не есть хорошо |
|||
3
YurAnt
17.04.15
✎
13:52
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |