|
v7: Как узнать идентификатор колонки по номеру в журнале документов? | ☑ | ||
---|---|---|---|---|
0
BalBess
08.05.19
✎
07:48
|
Всем здрасте! Подскажите пож-та, что-то подзабыл..
Мне нужно для функции Активизировать(<ИмяРеквизита>,<Режим>) знать идентификатор первой колонки в журнале документов Как это узнать? |
|||
1
Ёпрст
08.05.19
✎
08:54
|
Открыть пофигуратор и посмотреть
|
|||
2
trad
08.05.19
✎
09:28
|
(1) а если полиморфизму охота?
|
|||
3
BalBess
08.05.19
✎
09:57
|
(1) мне надо для любого журнала, т.е. программно узнать
|
|||
4
HawkEye
08.05.19
✎
10:14
|
(3) зачем?
|
|||
5
Ёпрст
08.05.19
✎
10:14
|
(3)
Тогда только через РасширениеФормы получать атрибуты табличнойЧасти. |
|||
6
Ёпрст
08.05.19
✎
10:16
|
Ибо, идентификатора колонки могёт и не быть, если это текстовая колонка.
А через метаданные ты все колонки не получишь |
|||
7
Ёпрст
08.05.19
✎
10:16
|
Можно конечно, штатно получить через Tab ..но это для гурманов.
|
|||
8
BalBess
08.05.19
✎
10:19
|
(5) не подскажите как, или какой функцией?
|
|||
9
BalBess
08.05.19
✎
10:25
|
(4) делаю поиск документов по определенным условиям (вместо штатного поиска по номеру)
и после того как нашел Конт.АктивизироватьОбъект(НайденныйДокумент); Конт.Активизировать(Конт.Форма.ТекущаяКолонка(), 0); Если до вызова формы колонка была сфокусированна (выделена) , то метод Активизировать(Конт.Форма.ТекущаяКолонка(), 0) - срабытывает, т.е. позиционируется на документе и фокус остается в этой колонке и по нажатию интер, открывается этот документ А если колонка НЕ была выделена , то не срабатывает, и по нажатию интер - снова открывается форма поиска т.к. фокус был на кнопке |
|||
10
HawkEye
08.05.19
✎
10:27
|
(9) зачем именно первая? через метаданные получить весь список колонок и активизировать ту, в которой Тип = Документ...
|
|||
11
BalBess
08.05.19
✎
10:30
|
надеюсь понятно описал ситуацию
и я хочу ТекКолонка = Конт.Форма.ТекущаяКолонка(); Если ПустоеЗначение(ТекКолонка) = 1 Тогда // ТекКолонка = Конт.ПолучитьПараметрыКолонки(1); // тут надо получить идентификатор колонки КонецЕсли; может есть другие пути решения |
|||
12
BalBess
08.05.19
✎
10:33
|
(10) "через метаданные получить весь список колонок " - как это сделать?
речь про журналы |
|||
13
Ёпрст
08.05.19
✎
10:36
|
будь проще, активизируй датаДок
|
|||
14
HawkEye
08.05.19
✎
10:45
|
(11) пффф
Конт.Активизировать("ДатаДок", 0); |
|||
15
HawkEye
08.05.19
✎
10:45
|
(13) не обновил ))
|
|||
16
HawkEye
08.05.19
✎
10:51
|
(12) Графы журналы документов
Графы по умолчанию Есть графы по умолчанию, которые присутствуют в любом журнале документов, в котором есть документы. Это: ДатаДок ВремяДок НомерДок ВидДок Так же к графам по умолчанию относятся все общие реквизиты документов. Отличить графу реквизит табличной части, от графы реквизит шапки можно по наличию спецефического для табличной части атрибута ИтогПоКолонке. Количество Метаданные.Журнал(i).Графа() Назначение: Возвращает количество граф журнала, 0 если их нет Графа() Метаданные.Журнал(i).Графа(j) Назначение: Возвращает j-тую графу i-того журнала Выбран() Метаданные.Журнал(i).Графа(j).Выбран() Назначение: Возвращает 1 если j-тая графа i-того журнала есть, 0 если нет Примечание: i может быть как номером графы отбора, так и именем. Идентификатор Метаданные.Журнал(i).Графа(j).Идентификатор Назначение: Возвращает идентификатор j-той графы i-того журнала. Возвращаемое значение: Строка. Синоним Метаданные.Журнал(i).Графа(j).Синоним Назначение: Возвращает синоним j-той графы i-того журнала. Возвращаемое значение: Строка. Комментарий Метаданные.Журнал(i).Графа(j).Комментарий Назначение: Возвращает комментарий j-той графы i-того журнала. Возвращаемое значение: Строка. Формы списка журнала документов |
|||
17
BalBess
08.05.19
✎
10:57
|
(13) так я делал, получается немного не кошерно )
поле дата не всегда первое, и получается фокус не в первую колонку |
|||
18
BalBess
08.05.19
✎
11:01
|
Как вариант завести невидимую колонку во всех журналах (первой)
и ее активизировать |
|||
19
BalBess
08.05.19
✎
11:07
|
В общем сделал так
Конт.АктивизироватьОбъект(НайденныйДокумент); ТекКолонка = Конт.Форма.ТекущаяКолонка(); Если ПустоеЗначение(ТекКолонка) = 1 Тогда ТекКолонка = "ДатаДок"; КонецЕсли; Конт.Активизировать(ТекКолонка, 0); такие ситуации возникают редко, когда не выделенна колонка, в этом случае будет выделяться колонка Дата всем спасибо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |