Здравствуйте уважаемые формучане!
Проблема заключается в следующем, есть форма списка (журнал документа) в котором имеется кнопка в командной панели, необходимо изменять ее видимость в зависимости от состояния выделенного документа журнала. Состояние документов журнала хранится в регистре сведений. Все это в принципе реализовано, но имеется неприятная штука. Так как при изменении видимости кнопки "Статусы" форма обращается на сервер и соответственно перерисовывается что вызывает центрирование динамического списка документов на выделенной строке и от этого этот список "скачет". Как решить данную задачу без "скачков"
Пытался найти способ отключения автоцентрирования выделенной строки динамического списка, но так и не нашел.
azamatnadyrkulov,
код выложу чуть позже
Процедура при активизации строки на форме
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
ВыполнитьОбработкуСтроки(Элементы.Список.ТекущаяСтрока, ЭтаФорма);
КонецПроцедуры
Процедура ВыполнитьОбработкуСтроки
&НаКлиенте
Процедура ВыполнитьОбработкуСтроки(Ссылка, Форма, ИмяГруппыСтатусов = "ФормаУправлениеСтатусами") Экспорт
ТипОбъекта = ПолучитьТипОбъекта(Форма.ИмяФормы);
Если ТипОбъекта = Неопределено Тогда
Возврат;
КонецЕсли;
СуществуютСтатусыПоТипуОбъекта = УправлениеСтатусамиПроцессов.СуществуютСтатусыПоТипуОбъекта(ТипОбъекта);
ГруппаСтатусов = Форма.КоманднаяПанель.ПодчиненныеЭлементы.Найти(ИмяГруппыСтатусов);
Попытка
ТекущийСтатус = УправлениеСтатусамиПроцессов.ПолучитьТекущийСтатус(Ссылка);
ТекущееСостояние= УправлениеСтатусамиПроцессов.ПолучитьТекущееСостояние(Ссылка);
Если ТекущееСостояние = "Отменено" Тогда
НаборПрав = Новый Структура("Редактирование,Завершить,Отменить,Отложить,ШагНазад", Ложь, Ложь, Ложь, Ложь, Ложь);
ГруппаСтатусов.Видимость = Ложь;
Иначе
НаборПрав = УправлениеСтатусамиПроцессов.ПолучитьНаборПрав(ТекущийСтатус);
ГруппаСтатусов.Видимость = Истина;
КонецЕсли;
Попытка
ГруппаСтатусов.ПодчиненныеЭлементы.ФормаОбработкаИзменениеСтатусаЗавершить.Видимость = НаборПрав.Завершить;
ГруппаСтатусов.ПодчиненныеЭлементы.ФормаОбработкаИзменениеСтатусаОтложить.Видимость = НаборПрав.Отложить;
ГруппаСтатусов.ПодчиненныеЭлементы.ФормаОбработкаИзменениеСтатусаОтменить.Видимость = НаборПрав.Отменить;
ГруппаСтатусов.ПодчиненныеЭлементы.ФормаОбработкаИзменениеСтатусаШагНазад.Видимость = НаборПрав.ШагНазад;
Исключение
Попытка
ГруппаСтатусов.ПодчиненныеЭлементы.ФормаУправлениеСтатусами1.ПодчиненныеЭлементы.ФормаОбработкаИзменениеСтатусаЗавершить.Видимость = НаборПрав.Завершить;
ГруппаСтатусов.ПодчиненныеЭлементы.ФормаУправлениеСтатусами1.ПодчиненныеЭлементы.ФормаОбработкаИзменениеСтатусаОтложить.Видимость = НаборПрав.Отложить;
ГруппаСтатусов.ПодчиненныеЭлементы.ФормаУправлениеСтатусами1.ПодчиненныеЭлементы.ФормаОбработкаИзменениеСтатусаОтменить.Видимость = НаборПрав.Отменить;
ГруппаСтатусов.ПодчиненныеЭлементы.ФормаУправлениеСтатусами1.ПодчиненныеЭлементы.ФормаОбработкаИзменениеСтатусаШагНазад.Видимость = НаборПрав.ШагНазад;
Исключение
КонецПопытки;
КонецПопытки;
Исключение
КонецПопытки;
КонецПроцедуры