Группа: Пользователи
Сообщений: 8
Спасибо сказали: 0 раз
Рейтинг: 0
Здравствуйте уважаемые формучане! Проблема заключается в следующем, есть форма списка (журнал документа) в котором имеется кнопка в командной панели, необходимо изменять ее видимость в зависимости от состояния выделенного документа журнала. Состояние документов журнала хранится в регистре сведений. Все это в принципе реализовано, но имеется неприятная штука. Так как при изменении видимости кнопки "Статусы" форма обращается на сервер и соответственно перерисовывается что вызывает центрирование динамического списка документов на выделенной строке и от этого этот список "скачет". Как решить данную задачу без "скачков"
Пытался найти способ отключения автоцентрирования выделенной строки динамического списка, но так и не нашел.
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Какой тип возвращает ПолучитьТипОбъекта() ? Если саму форму на сервер не гоняете, то список не должен перепозиционироваться. А вообще, раз статусы хранятся в регистре сведений, то я бы изменил сам запрос списка, получал бы нужный статус уже в список и при нажатии на строку устанавливал необходимую видимость, вместо вызова непонятных пяти сторонних процедур. У Вас судя по коду слишком "мудрено" сделано, использование попыток (еще и вложенных) там где это, по логике, не нужно, наталкивает на эту мысль.
Сообщение отредактировал logist - 19.12.14, 15:03
Личные бесплатные консультации не даю, для этого есть форум!
Группа: Пользователи
Сообщений: 8
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(Petre @ 19.12.14, 21:06)
Динамический список построен на СКД и использует либо дефолтовый запрос при указании объекта, либо произвольный запрос.
спасибо буду знать но все же как изменять видимость кнопки не обращаясь на сервер если использовать элементы.моякнопка.видимость - срабатывает перерисовка
даже если я получу статус в списке запросом мне ведь нужно менять видимость кнопки которая находится на командной панели в зависимости от статуса выделенной строки
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Цитата(azamatnadyrkulov @ 19.12.14, 17:15)
даже если я получу статус в списке запросом мне ведь нужно менять видимость кнопки которая находится на командной панели в зависимости от статуса выделенной строки
Если Вы получите статус в запросе динамического списка, то он у вас будет как бы колонкой этого списка (не видимой) и когда происходит ПриАктивизацииСтроки то это значение находится в строке списка Элементы.Список.ТекущиеДанные.ИмяМоейКолонкиКотороеСодержитСтатус Судя по запросу выше, таких колонок у вас должно быть 5, 4 на каждое право и одна на ТекущийСтатус, соответственно дальше вы пишите в этом же событии примерно такой код
ТекущаяСтрока = Элементы.Список.ТекущиеДанные; Если ТекущаяСтрока <> Неопределено Тогда ГруппаСтатусов.ПодчиненныеЭлементы.ФормаОбработкаИзменениеСтатусаЗавершить.Видимость = ТекущаяСтрока.ИмяМоейКолонкиКотороеСодержитСтатус; // и дальше еще строки для каждой кнопки/группы КонецЕсли
Запрос формируете таким образом, что он в ИмяМоейКолонкиКотороеСодержитСтатус помещал нужный вам вариант булево.
Личные бесплатные консультации не даю, для этого есть форум!
Группа: Пользователи
Сообщений: 8
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(logist @ 19.12.14, 23:36)
Если Вы получите статус в запросе динамического списка, то он у вас будет как бы колонкой этого списка (не видимой) и когда происходит ПриАктивизацииСтроки то это значение находится в строке списка Элементы.Список.ТекущиеДанные.ИмяМоейКолонкиКотороеСодержитСтатус Судя по запросу выше, таких колонок у вас должно быть 5, 4 на каждое право и одна на ТекущийСтатус, соответственно дальше вы пишите в этом же событии примерно такой код
ТекущаяСтрока = Элементы.Список.ТекущиеДанные; Если ТекущаяСтрока <> Неопределено Тогда ГруппаСтатусов.ПодчиненныеЭлементы.ФормаОбработкаИзменениеСтатусаЗавершить.Видимость = ТекущаяСтрока.ИмяМоейКолонкиКотороеСодержитСтатус; // и дальше еще строки для каждой кнопки/группы КонецЕсли
Запрос формируете таким образом, что он в ИмяМоейКолонкиКотороеСодержитСтатус помещал нужный вам вариант булево.
спасибо буду пробовать, извините за пробел были дела
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!