Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Как при открытии формы списка подчиненного спр. перейти в последнюю строку? (http://forums.kuban.ru/f1040/kak_pri_otkrytii_formy_spiska_podchinennogo_spr_perejti_v_poslednyuyu_stroku-3787996.html)

Opener 28.02.2013 14:35

Как при открытии формы списка подчиненного спр. перейти в последнюю строку?
 
7.7
При открытии подчиненного справочника из справочника владельца, фокус устанавливается на первой строке формы списка. Как сделать так, чтобы активной становилась последняя строка?

Молочь, конечно, но шефу будет приятно.

101 28.02.2013 14:46

АктивизироватьОбъект(<?>);
Синтаксис:
АктивизироватьОбъект(<Объект>)

101 28.02.2013 14:48

ОбратныйПорядок(<?>)
Синтаксис:
ОбратныйПорядок(<Режим>)
----
ВыбратьЭлементы(<?>)
Синтаксис:
ВыбратьЭлементы(<Режим>)
--
прервать

Чучундер 28.02.2013 15:14

Пойду сделаю... осталось понять какого владельца взять при открытии формы чтобы обратной выборко

Чучундер 28.02.2013 15:15

й получить последний элемент.. не забыть еще определить порядок какого реквизита установлен при открытии формы... и если установлен порядок не колда/не наименования - будет ли работать ОбратныйПорядок для ВыбратьПоРеквизиту?

Opener 28.02.2013 15:16

101 Сам пробовал?

ВыбратьЭлементы(1);
{Справочник.Серии.ФормаСписка.ФормаСписка.Модуль(41)**: Объект не может быть перепозиционирован!

Чучундер 28.02.2013 15:17

//******************************************************************************
Процедура ПослеОткрытия()
//спозиционируемся на последнем элементе справочника
глАктивизироватьПоследний(Контекст);
КонецПроцедуры // ПослеОткрытия

Чучундер 28.02.2013 15:17

//******************************************************************************
//позиционирование на последнем элементе списка справочника
Процедура глАктивизироватьПоследний(Знач Конт) Экспорт
Перем Спр;

Если глВернутьТипКонтекста(Конт)<>"Справочник.ФормаСписка"
Тогда //только для справочников!
Возврат;
КонецЕсли;

//спозиционируемся на последнем элементе справочника
Спр = СоздатьОбъект("Справочник."+Конт.Вид());

Реквизит = Конт.Сортировка();
Если Реквизит = "Код" Тогда Спр.ПорядокКодов();
ИначеЕсли Реквизит = "Наименование" Тогда Спр.ПорядокНаименований();
Иначе Спр.ПорядокРеквизита(Реквизит);
КонецЕсли;

Спр.ОбратныйПорядок(1);
Спр.ВыбратьЭлементы(0);
Спр.ПолучитьЭлемент();

Если Спр.Выбран()=0
Тогда //нет на чем позиционироваться!
Возврат;
КонецЕсли;

Конт.АктивизироватьОбъект(Спр.ТекущийЭлемент());
Спр = "";
КонецПроцедуры //глАктивизироватьПоследний()

Чучундер 28.02.2013 15:18

правда чего-то нифига этот код у меня не позиционирует...

Чучундер 28.02.2013 15:19

а проще наверное после прорисовки формы послать принудительный END

Чучундер 28.02.2013 15:20

наверное забыл определить перед выборкой владьца...

Opener 28.02.2013 15:24

Да, еще же владельца нужно учесть

101 28.02.2013 15:25

(5) чо там пробовать то ...

101 28.02.2013 15:26

(5) Читаем синтаксис
--
ВыбратьЭлементы(<?>)
Синтаксис:
ВыбратьЭлементы(<Режим>)
Назначение:
Открыть выборку элементов справочника.
Возвращает: 1 - если действие выполнено и в выборке есть хотя бы один элемент;
0 - если действие не выполнено или в выборке нет ни одного элемента.
Параметры:
<Режим> - как выбирать:
1 - выбирать элементы с учетом иерархии,
0 - выбирать элементы без учета иерархии (необязателен, по умолчанию - 1).
Замечание:
Метод можно использовать только для объектов, [b]созданных функцией СоздатьОбъект.[/b]

101 28.02.2013 15:30

и вообще - при открытии справочника - обработка - нахождение элемента позиционирования - передача через список значений в параметр - приоткрытии получение параметра - и активизироватьобъект
ЗЫ открыть любую типовую с подбором той же номенклатуры

VadimB 28.02.2013 16:04

После открытия подчиненного справочника так не проще будет?
Попытка
глWSH=СоздатьОбъект("WScript.Shell");
глWSH.SendKeys("{END**");
Исключение
КонецПопытки;

101 28.02.2013 16:08

(15) кмк вопрос а если под вайном ? :)))

Чучундер 28.02.2013 16:50

(15) угу, см(9)

Чучундер 28.02.2013 16:51

(16) "Бросай сноуборд, вставай на лыжи!"


Текущее время: 11:32. Часовой пояс GMT +3.