![]() |
Как при открытии формы списка подчиненного спр. перейти в последнюю строку? 7.7 При открытии подчиненного справочника из справочника владельца, фокус устанавливается на первой строке формы списка. Как сделать так, чтобы активной становилась последняя строка? Молочь, конечно, но шефу будет приятно. |
АктивизироватьОбъект(<?>); Синтаксис: АктивизироватьОбъект(<Объект>) |
ОбратныйПорядок(<?>) Синтаксис: ОбратныйПорядок(<Режим>) ---- ВыбратьЭлементы(<?>) Синтаксис: ВыбратьЭлементы(<Режим>) -- прервать |
Пойду сделаю... осталось понять какого владельца взять при открытии формы чтобы обратной выборко |
й получить последний элемент.. не забыть еще определить порядок какого реквизита установлен при открытии формы... и если установлен порядок не колда/не наименования - будет ли работать ОбратныйПорядок для ВыбратьПоРеквизиту? |
101 Сам пробовал? ВыбратьЭлементы(1); {Справочник.Серии.ФормаСписка.ФормаСписка.Модуль(41)**: Объект не может быть перепозиционирован! |
//****************************************************************************** Процедура ПослеОткрытия() //спозиционируемся на последнем элементе справочника глАктивизироватьПоследний(Контекст); КонецПроцедуры // ПослеОткрытия |
//****************************************************************************** //позиционирование на последнем элементе списка справочника Процедура глАктивизироватьПоследний(Знач Конт) Экспорт Перем Спр; Если глВернутьТипКонтекста(Конт)<>"Справочник.ФормаСписка" Тогда //только для справочников! Возврат; КонецЕсли; //спозиционируемся на последнем элементе справочника Спр = СоздатьОбъект("Справочник."+Конт.Вид()); Реквизит = Конт.Сортировка(); Если Реквизит = "Код" Тогда Спр.ПорядокКодов(); ИначеЕсли Реквизит = "Наименование" Тогда Спр.ПорядокНаименований(); Иначе Спр.ПорядокРеквизита(Реквизит); КонецЕсли; Спр.ОбратныйПорядок(1); Спр.ВыбратьЭлементы(0); Спр.ПолучитьЭлемент(); Если Спр.Выбран()=0 Тогда //нет на чем позиционироваться! Возврат; КонецЕсли; Конт.АктивизироватьОбъект(Спр.ТекущийЭлемент()); Спр = ""; КонецПроцедуры //глАктивизироватьПоследний() |
правда чего-то нифига этот код у меня не позиционирует... |
а проще наверное после прорисовки формы послать принудительный END |
наверное забыл определить перед выборкой владьца... |
Да, еще же владельца нужно учесть |
(5) чо там пробовать то ... |
(5) Читаем синтаксис -- ВыбратьЭлементы(<?>) Синтаксис: ВыбратьЭлементы(<Режим>) Назначение: Открыть выборку элементов справочника. Возвращает: 1 - если действие выполнено и в выборке есть хотя бы один элемент; 0 - если действие не выполнено или в выборке нет ни одного элемента. Параметры: <Режим> - как выбирать: 1 - выбирать элементы с учетом иерархии, 0 - выбирать элементы без учета иерархии (необязателен, по умолчанию - 1). Замечание: Метод можно использовать только для объектов, [b]созданных функцией СоздатьОбъект.[/b] |
и вообще - при открытии справочника - обработка - нахождение элемента позиционирования - передача через список значений в параметр - приоткрытии получение параметра - и активизироватьобъект ЗЫ открыть любую типовую с подбором той же номенклатуры |
После открытия подчиненного справочника так не проще будет? Попытка глWSH=СоздатьОбъект("WScript.Shell"); глWSH.SendKeys("{END**"); Исключение КонецПопытки; |
(15) кмк вопрос а если под вайном ? :))) |
(15) угу, см(9) |
(16) "Бросай сноуборд, вставай на лыжи!" |
Текущее время: 11:32. Часовой пояс GMT +3. |