Как сделать строку активной 1с
Содержание
Как отобразить данные в элементе управления ТабличноеПоле?
Примеры реализации данного метода вы можете посмотреть здесь и тут.
Как при разворачивании формы на весь экран сделать, чтобы табличное поле изменяло свой размер?
Если вставить на форму элемент управления табличное поле, тогда автоматически формируются необходимые привязки для этого табличного поля. Бывает, что привязки сбрасываются из-за каких-то наших действий. Из-за того табличное поле перестает масштабироваться или растягиваться по форме. Поэтому привязки табличного поля необходимо настроить.
Как программно установить видимость колонки табличного поля?
Как программно активизировать строку табличного поля с типом значения РегистрСведенийСписок?
В 1С:Предприятии 8 для активизации строки конкретного табличного поля следует выполнить установку свойства ТекущаяСтрока соответствующего элемента управления. Этому свойству присваивается значение, идентифицирующее строку, которую необходимо активизировать. Тип значения зависит от типа данных, с которыми связано табличное поле.
Например, для списка справочника это будет ссылка на элемент справочника, а для табличной части — строка табличной части. Если тип значения РегистрСведенийСписок, тогда свойству ТекущаяСтрока присваивается значение типа — РегистрСведенийКлючЗаписи. Пример:
Отбор должен однозначно идентифицировать запись в табличном поле. Чтобы узнать как в регистре сведений обеспечить уникальность каждой записи посмотрите тут.
Как создать контекстное меню для табличного поля?
Теперь можно добавлять разные команды в командную панель. Они будут отображаться в контекстном меню табличного поля.
Как в табличном поле с типом значения справочник, отображать только группы?
Как изменить значение ячейки табличного поля?
Предположим, необходимо добавить РНН контрагента в ячейку, находящуюся рядом с ячейкой контрагента.
Как сделать текущим значение колонки табличного поля и присвоить этой колонке тип?
Как в табличном поле установить флажок элементом управления для колонки?
Как реализовать событие двойного клика по строке табличного поля?
Здесь можно посмотреть пример реализации данного метода.
Как узнать существует ли колонка табличного поля?
Также вы можете посмотреть, как этот пример кода с колонкой табличного поля реализован в модуле формы обработки.
Как из табличного поля получить значение ячейки, если известно имя колонки?
Особенности редактирования колонок табличного поля
Для уведомления о начале или окончании редактирования строки в табличном поле предназначены два события : ПередНачаломИзменения() и ПередОкончаниемРедактирования() .
Событие ПередНачаломИзменения() возникает перед началом интерактивного изменения строки табличного поля, т.е. при входе в редактирование при нажатии клавиши Enter или двойном щелчке левой кнопки мыши, а также при выполнении команды " Изменить " . Обработчик данного события имеет параметр Отказ , позволяющий отменить редактирование строки табличного поля. Важной особенностью данного события является то, что обработчик данного события вызывается только при начале редактирования существующей строки, а при добавлении новой строки не вызывается. Другой важной особенностью является то, что данное событие указывает именно на начало изменения строки табличного поля в целом, а не какого-либо значения в ячейке строки табличного поля. Поэтому при переходе с одной колонки табличного поля, находящегося в состоянии редактирования, на другую обработчик данного события не вызывается.
Событие ПередОкончаниемРедактирования () возникает перед окончанием редактирования строки, т.е. при нажатии клавиши Enter , выполнении команды " Закончить редактирование " или при щелчке мышью в другую строку табличного поля. Обработчик данного события имеет параметры НоваяСтрока , ОтменаРедактирования и Отказ . Параметр НоваяСтрока указывает, что заканчивается редактирование добавленной строки. Параметр ОтменаРедактирования указывает причину, по которой происходит окончание редактирования строки. Если значение данного параметра равно Истина , то происходит отмена редактирования в результате нажатия клавиши Esc . Наконец, параметр Отказ позволяет отменить окончание редактирования. Важной особенностью данного события является то, что обработчик данного события вызывается только при окончании редактирования строки и не вызывается при переходе от одной колонки табличного поля к другой.
Если же необходимо отслеживать изменение данных в ячейке строки табличного поля, находящегося в состоянии редактирования, то можно воспользоваться событием ПриИзменении() элемента управления, связанного с редактируемой ячейкой. Обработчик данного события вызывается после изменения значения в элементе управления при переходе от одной редактируемой ячейки табличного поля к другой.
При разработке форм подборов и организации отборов для удобства работы может возникнуть задача по автоматическому раскрытию текущей группы.
- упростить работу пользователю, выполнять 1 клик вместо 2;
- явно дать понять ему, что есть вложенные группы.
В такой простой задаче может возникнуть стопор из-за особенностей динамического списка:
- в метод Развернуть() таблицы формы следует передать идентификатор текущей строки (численное значение, согласно описанию в синтаксис-помощнике);
- в динамическом списке, когда источник и основная таблица есть справочник, метод ТекущаяСтрока() возвращает ссылку этого справочника, к которому не применим метод ПолучитьИдентификатор().
Решение проблемы:
Оказывается в метод Развернуть() в данном случае можно передавать эту ссылку, т.к. источник справочник, в котором нет дублей, следовательно система однозначно идентифицирует данную строку и сможет ее развернуть или свернуть. Аналогично работает и метод Развернут().
тд = Элементы . Дерево . ТекущиеДанные ;
Если Не тд = Неопределено Тогда
Если Элементы . Дерево . Развернут ( Элементы . Дерево . ТекущаяСтрока ) = Ложь Тогда
Элементы . Дерево . Развернуть ( Элементы . Дерево . ТекущаяСтрока , Ложь ) ;
КонецЕсли ;
КонецЕсли ;
Для удобства пользователя добавим, авто раскрытие/сокрытие при выборе(двойном клике, по уже активной строке):
Процедура ДеревоВыбор ( Элемент , ВыбраннаяСтрока , Поле , СтандартнаяОбработка )
ТС = Элементы . Дерево . ТекущаяСтрока ;
Если Элементы . Дерево . Развернут ( ТС ) = Истина Тогда
Элементы . Дерево . Свернуть ( ТС ) ;
Иначе
Элементы . Дерево . Развернуть ( ТС , Ложь ) ;
КонецЕсли ;
Данная статья также применима к плану счетов, планам видов характеристик и расчетов (которые имеют иерархическую структуру).
Реклама всегда менее актуальна, чем думают ее создатели.
— Законы Мерфи
Скорость работы как оператора, так и программиста в системе 1С предприятие 8.3 зависит от множества факторов. В данной статье будет рассмотрен способ существенного повышения скорости работы при помощи использования быстрых (или горячих) клавиш в 1С.
Горячие, или быстрые кнопки для пользователя 1С 8.3
Сочетания клавиш для документов
Кнопка по умолчанию (нажатие вместо клика мышкой) | Ctrl + Enter |
Выбор поля (альтернатива мыши) | F4 |
Прямой обход полей | Tab |
Обратный обход полей | Shift + Tab |
Сочетания клавиш для справочников 1С 8.3
Новый элемент | Ins |
Новая группа | Ctrl + F9 |
Изменить элемент | Shift + Enter |
Просмотр элемента или группы | Alt + Д + Р |
Копировать элемент или группу | F9 |
Пометить элемент/Снять пометку | Del |
История значения | F5 |
Найти в дереве | Alt + Д + А |
Перенести в другую группу | Ctrl + F5 |
Подчиненный справочник | Alt + Д + Ч |
Горящие клавиши для программиста 1С
Глобальные действия
Общие действия
Управление окнами
Закрыть активное окно, модальный диалог или приложение | Alt + F4 |
Закрыть активное обычное окно | Ctrl + F4 |
Закрыть активное окно (кроме обычных) | Shift + Esc |
Активизировать следующее обычное окно | Ctrl + Tab Ctrl + F6 |
Активизировать предыдущее обычное окно | Ctrl + Shift + Tab Ctrl + Shift + F6 |
Активизировать следующую секцию окна | F6 |
Активизировать предыдущую секцию окна | Shift + F6 |
Вызвать системное меню приложения или модального диалога | Alt + Space |
Вызвать системное меню окна (кроме модальных диалогов) | Alt + Hyphen(-) Alt + Num- |
Вызвать главное меню | Alt F10 |
Вызвать контекстное меню | Shift + F10 |
Переход по истории активности окон
Переместиться назад | Ctrl + “-” |
Переместиться вперед | Ctrl + Shift + “-” |
Вернуть активность обычному окну | Esc |
Получите понятные самоучители по 1С бесплатно:
Форма
Перейти к следующему элементу формы/выполнить действие кнопки по умолчанию | Enter |
Выполнить действие кнопки по умолчанию | Ctrl + Enter |
Перейти к следующему элементу формы | Tab |
Вернуться к предыдущему элементу формы | Shift + Tab |
Активизировать командную панель, связанную с активным элементом управления/формой | Alt + F10 |
Открыть “Список элементов управления формы” | Ctrl + Shift + L |
Перемещение по элементам управления, объединенным в одну группу | Up, Down, Left, Right |
Работа со списком и деревом
Поле ввода
Переключить режим вставки/замены | Ins |
Кнопка выбора | F4 |
Кнопка открытия | Ctrl + Shift + F4 |
Очистить поле | Shift + F4 |
Удалить символ слева от курсора | BackSpace |
Удалить символ справа от курсора | Del |
Удалить слово слева от курсора | Ctrl + BackSpace |
Удалить слово справа от курсора | Ctrl + Del |
Перейти в начало строки | Home |
Перейти в конец строки | End |
Поле картинки
Увеличить масштаб | Num+ |
Уменьшить масштаб | Num- |
Прокрутить | Up, Down, Left, Right |
Прокрутить на размер окна вверх | Page Up |
Прокрутить на размер окна вниз | Page Down |
Прокрутить на размер окна влево | Alt + PgUp |
Прокрутить на размер окна вправо | Alt + PgDn |
Условия:
Есть управляемая форма и, соответственно, её объект.
В модуле формы есть некая таблица значений, назовём её СписокДокументов. Эта таблица значений выводится в таблицу формы, которую мы и видим на мониторе. Допустим, таблица значений в модуле формы обрабатывается по некоторому условию и в ней выбирается какая-то строка.
Например, так: Для Каждого СтрокаТаблицы Из Таблица Значений Цикл
Если СтрокаТаблицы.Значение = //какое-то условие Тогда.
Задача:
Установить программно курсор в таблице формы на той строке, которую мы выбрали в таблице значений в модуле формы.
Решение.
Решить задачу можно используя идентификатор строки. Дело в том, что таблица значений в объекте формы связана с таблицей формы по идентификаторам строк. Мы должны получить идентификатор строки таблицы значений, а потом, в таблице формы, установить свойство ТекущаяСтрока для строки с полученным ранее идентификатором:
Идентификатор = СтрокаТаблицы.ПолучитьИдентификатор();
Элементы.СписокДокументов.ТекущаяСтрока = Идентификатор;
Читайте также: