|
Определение программно выбранной закладки (станицы) , alisura
| ☑ | ||
---|---|---|---|---|
0
sidalexsandr
15.10.12
✎
13:44
|
Есть закладки “Основная”, “Бухгалтерия”. Пытаюсь программно определить на какую закладу шелкнул пользователь. 1с выдает ошибку Вот текст:
Процедура Панель1ПриСменеСтраницы(Элемент, ТекущаяСтраница) Если ЭлементыФормы.Панель1.Бухгалтерия.Раскрыта() Тогда Сообщить("Бухгалтерия"); ИначеЕсли ЭлементыФормы.Панель1.Основная.Раскрыта() Тогда Сообщить("Основная"); КонецЕсли; КонецПроцедуры Вопрос: Как узнать текущую выбранную закладку (Основная или Бухгалтерия)? |
|||
1
Alex S D
15.10.12
✎
13:45
|
ТекущаяСтраница в параметрах для кого спрашивается?
|
|||
2
vmv
15.10.12
✎
13:46
|
правило простое - опредяеляешь по индексу, показываешь по синониму, все
|
|||
3
Alex S D
15.10.12
✎
13:46
|
а не, перепутал
|
|||
4
vmv
15.10.12
✎
13:47
|
Раскрыта() как бы намекает, что это не УФ
|
|||
5
zladenuw
15.10.12
✎
13:48
|
ПриСменеСтраницы(<ТекущаяСтраница>)
Параметры: <ТекущаяСтраница> Тип: Число. Индекс страницы, на которую произошло переключение панели. |
|||
6
Zmich
15.10.12
✎
13:49
|
ЭлементыФормы.Панель1.ТекущаяСтраница
|
|||
7
Infsams654
15.10.12
✎
13:59
|
УФ. Вопрос не засыпку. Как определить какая страница текущая - к примеру, действия происходят в левой части (группе) , в зависимомости от от действий в правой части на открытой странице должно происходить отображение изменения ?
|
|||
8
vmv
15.10.12
✎
14:05
|
(7) типа так, я извращалось, причем главные страницы ввобще не отображались в закладках
&НаКлиенте Процедура СтраницыГлавнаяПриСменеСтраницы(Элемент, ТекущаяСтраница) ТекущаяСтраницаИмя = ТекущаяСтраница.Имя; Если ТекущаяСтраницаИмя = "СтраницаСвод" Тогда ПредыдущаяСинхроннаяСтраницаИмя = Элементы.СтраницыВвод.ТекущаяСтраница.Имя; ИначеЕсли ТекущаяСтраницаИмя = "СтраницаВвод" Тогда ПредыдущаяСинхроннаяСтраницаИмя = Элементы.СтраницыСвод.ТекущаяСтраница.Имя; Иначе ПредыдущаяСинхроннаяСтраницаИмя = ""; КонецЕсли; Если ПредыдущаяСинхроннаяСтраницаИмя = "СтраницаСводРежим" Тогда ГруппаСтраницТекущаяСинхронная = Элементы.СтраницыВвод; СтраницаТекущаяСинхронная = ГруппаСтраницТекущаяСинхронная.ПодчиненныеЭлементы.СтраницаВводРежим; ТекущаяСинхроннаяЭтоСвод = Ложь; ИначеЕсли ПредыдущаяСинхроннаяСтраницаИмя = "СтраницаСводСкважины" Тогда ГруппаСтраницТекущаяСинхронная = Элементы.СтраницыВвод; СтраницаТекущаяСинхронная = ГруппаСтраницТекущаяСинхронная.ПодчиненныеЭлементы.СтраницаВводСкважины; ТекущаяСинхроннаяЭтоСвод = Ложь; ИначеЕсли ПредыдущаяСинхроннаяСтраницаИмя = "СтраницаСводОстатки" Тогда ГруппаСтраницТекущаяСинхронная = Элементы.СтраницыВвод; СтраницаТекущаяСинхронная = ГруппаСтраницТекущаяСинхронная.ПодчиненныеЭлементы.СтраницаВводОстатки; ТекущаяСинхроннаяЭтоСвод = Ложь; ИначеЕсли ПредыдущаяСинхроннаяСтраницаИмя = "СтраницаВводРежим" Тогда ГруппаСтраницТекущаяСинхронная = Элементы.СтраницыСвод; СтраницаТекущаяСинхронная = ГруппаСтраницТекущаяСинхронная.ПодчиненныеЭлементы.СтраницаСводРежим; ТекущаяСинхроннаяЭтоСвод = Истина; ИначеЕсли ПредыдущаяСинхроннаяСтраницаИмя = "СтраницаВводСкважины" Тогда ГруппаСтраницТекущаяСинхронная = Элементы.СтраницыСвод; СтраницаТекущаяСинхронная = ГруппаСтраницТекущаяСинхронная.ПодчиненныеЭлементы.СтраницаСводСкважины; ТекущаяСинхроннаяЭтоСвод = Истина; ИначеЕсли ПредыдущаяСинхроннаяСтраницаИмя = "СтраницаВводОстатки" Тогда ГруппаСтраницТекущаяСинхронная = Элементы.СтраницыСвод; СтраницаТекущаяСинхронная = ГруппаСтраницТекущаяСинхронная.ПодчиненныеЭлементы.СтраницаСводОстатки; ТекущаяСинхроннаяЭтоСвод = Истина; Иначе ГруппаСтраницТекущаяСинхронная = Неопределено; ТекущаяСинхроннаяЭтоСвод = Неопределено; КонецЕсли; Если ГруппаСтраницТекущаяСинхронная <> Неопределено Тогда ГруппаСтраницТекущаяСинхронная.ТекущаяСтраница = СтраницаТекущаяСинхронная; Если ТекущаяСинхроннаяЭтоСвод Тогда СтраницыСводПриСменеСтраницы(ГруппаСтраницТекущаяСинхронная, СтраницаТекущаяСинхронная); Иначе СтраницыВводПриСменеСтраницы(СтраницаТекущаяСинхронная, СтраницаТекущаяСинхронная); КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
9
sidalexsandr
15.10.12
✎
14:22
|
Всем спасибо. Наткнулся на ответ, в процедуре обработчике событие панели (в панель входят закладки Основная,Бухгалтерия) есть ТекущаяСтраница:
Процедура Панель1ПриСменеСтраницы(Элемент, ТекущаяСтраница) КонецПроцедуры Вот ТекущаяСтраница и показывает номер закладки. Всем спасибо. |
|||
10
vmv
15.10.12
✎
14:23
|
(9) не номер, а индекс, неуч
|
|||
11
vmv
15.10.12
✎
14:23
|
+(10) тебе от этом сразу сказали - долго доганяешь
|
|||
12
sidalexsandr
15.10.12
✎
14:24
|
(10) Согласен.
Подскажите теперь как по индексу получить имя закладки? |
|||
13
sidalexsandr
15.10.12
✎
14:24
|
(11) Я отходил, а потом сразу в пофигуратор, а потом на форум
|
|||
14
sidalexsandr
15.10.12
✎
14:25
|
(11) Понял. Спасибо (1).
|
|||
15
sidalexsandr
15.10.12
✎
14:25
|
Подскажите теперь как по индексу получить имя закладки?
|
|||
16
YF
15.10.12
✎
14:25
|
(12) ЭлементыФормы.Панель1[ИндексСтраницы] - Не?
|
|||
17
sidalexsandr
15.10.12
✎
14:29
|
(16) Выдает обшибку: {Документ.Ведомость.Форма.ФормаДокумента.Форма(33)}: Получение элемента по индексу для значения не определено
|
|||
18
Molinor
15.10.12
✎
14:36
|
ЭлементыФормы.Панель1.СтраницыПанели[ИндексСтраницы]
|
|||
19
Molinor
15.10.12
✎
14:37
|
А вообще ЭлементыФормы.Панель1.ТекущаяСтраница должен выдавать уже саму страницу.
|
|||
20
sidalexsandr
15.10.12
✎
14:37
|
(18) Спасибо и я только что нашел в документации Част 4. Сейчас проверяю.
|
|||
21
sidalexsandr
15.10.12
✎
14:41
|
Сообщить(ЭлементыФормы.Панель1.Страницы.Получить(ТекущаяСтраница));
Сообщить(ЭлементыФормы.Панель1.ТекущаяСтраница); Оба оператора не дают название страницы |
|||
22
vmv
15.10.12
✎
14:47
|
(21) в оталдчике смотрищь тип получаемого значения, потом шевелишь извилиной и ищешь этот тип в сп - тупо набирая имя типа из отладки
потом зришь на палитру свойств и методов этого типа - далешь вывод, опяшь шевелищь извилиной и калякаешь кривыми ручка в коде пару строк. вот же ж ленивец и эти люди с тезисом "8-ка на марще" |
|||
23
sidalexsandr
15.10.12
✎
14:51
|
(22) Тип Число.
|
|||
24
vmv
15.10.12
✎
14:53
|
(23) бестолочь, извини но я всегда говорю как есть, когда вижу похабное нежелание читать сп
Синтаксис: Получить(<Индекс>) Параметры: <Индекс> (обязательный) Тип: Число. Индекс страницы. Вариант синтаксиса: По имени Синтаксис: Получить(<Имя>) Параметры: <Имя> (обязательный) Тип: Строка. Имя страницы. Возвращаемое значение: Тип: СтраницаПанели. Описание: Получает значение. Работает аналогично оператору []. Доступность: Толстый клиент. Примечание: Применяется в случаях, когда использование оператора [] невозможно. |
|||
25
vmv
15.10.12
✎
14:55
|
СтраницаПанели (PanelPage)
Свойства: Видимость (Visible) Доступность (Enabled) Заголовок (Caption) Значение (Value) Имя (Name) КартинкаЗаголовка (TitlePicture) Раскрыта (IsOpen) |
|||
26
sidalexsandr
15.10.12
✎
14:57
|
(24) Я в (21) это пробовал. Не получает имя страницы
|
|||
27
sidalexsandr
15.10.12
✎
14:59
|
(25) Сообщить(ТекущаяСтраница.Имя);
Выдает ошибку: {Документ.Ведомость.Форма.ФормаДокумента.Форма(33)}: Значение не является значением объектного типа (Имя) |
|||
28
sidalexsandr
15.10.12
✎
15:01
|
Сообщить(ЭлементыФормы.Панель1.Получить(ТекущаяСтраница));
Выдает ошибку: {Документ.Ведомость.Форма.ФормаДокумента.Форма(33)}: Метод объекта не обнаружен (Получить) |
|||
29
hhhh
15.10.12
✎
15:07
|
Сообщить(ЭлементыФормы.Панель1.СТРАНИЦЫ.Получить(ТекущаяСтраница));
|
|||
30
sidalexsandr
15.10.12
✎
15:20
|
Отладчик показывает, а программно не получить. Вот ссылка на отладку
[URL=http://www.radikal.ru][IMG]http://s004.radikal.ru/i207/1210/da/14353a7de080.jpg[/IMG][/URL] |
|||
31
sidalexsandr
15.10.12
✎
15:20
|
||||
32
sidalexsandr
15.10.12
✎
15:36
|
Может кому поможет. Вот : Сообщить(ЭлементыФормы.Панель1.ТекущаяСтраница.Заголовок);
|
|||
33
sidalexsandr
15.10.12
✎
15:37
|
Ветку можно закрывать. Спасибо всем помагавшим и отладчику.
|
|||
34
Infsams654
15.10.12
✎
15:47
|
(8) это что было ? Вопрос то понял ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |