Как сделать строку активной 1с

Добавил пользователь Валентин П.
Обновлено: 05.10.2024

Содержание

Как отобразить данные в элементе управления ТабличноеПоле?

Примеры реализации данного метода вы можете посмотреть здесь и тут.

Как при разворачивании формы на весь экран сделать, чтобы табличное поле изменяло свой размер?

Если вставить на форму элемент управления табличное поле, тогда автоматически формируются необходимые привязки для этого табличного поля. Бывает, что привязки сбрасываются из-за каких-то наших действий. Из-за того табличное поле перестает масштабироваться или растягиваться по форме. Поэтому привязки табличного поля необходимо настроить.

Как программно установить видимость колонки табличного поля?

Как программно активизировать строку табличного поля с типом значения РегистрСведенийСписок?

В 1С:Предприятии 8 для активизации строки конкретного табличного поля следует выполнить установку свойства ТекущаяСтрока соответствующего элемента управления. Этому свойству присваивается значение, идентифицирующее строку, которую необходимо активизировать. Тип значения зависит от типа данных, с которыми связано табличное поле.

Например, для списка справочника это будет ссылка на элемент справочника, а для табличной части — строка табличной части. Если тип значения РегистрСведенийСписок, тогда свойству ТекущаяСтрока присваивается значение типа — РегистрСведенийКлючЗаписи. Пример:

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

Как создать контекстное меню для табличного поля?

Теперь можно добавлять разные команды в командную панель. Они будут отображаться в контекстном меню табличного поля.

Как в табличном поле с типом значения справочник, отображать только группы?

Как изменить значение ячейки табличного поля?

Предположим, необходимо добавить РНН контрагента в ячейку, находящуюся рядом с ячейкой контрагента.

Как сделать текущим значение колонки табличного поля и присвоить этой колонке тип?

Как в табличном поле установить флажок элементом управления для колонки?

Как реализовать событие двойного клика по строке табличного поля?

Здесь можно посмотреть пример реализации данного метода.

Как узнать существует ли колонка табличного поля?

Также вы можете посмотреть, как этот пример кода с колонкой табличного поля реализован в модуле формы обработки.

Как из табличного поля получить значение ячейки, если известно имя колонки?

Особенности редактирования колонок табличного поля

Для уведомления о начале или окончании редактирования строки в табличном поле предназначены два события : ПередНачаломИзменения() и ПередОкончаниемРедактирования() .

Событие ПередНачаломИзменения() возникает перед началом интерактивного изменения строки табличного поля, т.е. при входе в редактирование при нажатии клавиши Enter или двойном щелчке левой кнопки мыши, а также при выполнении команды " Изменить " . Обработчик данного события имеет параметр Отказ , позволяющий отменить редактирование строки табличного поля. Важной особенностью данного события является то, что обработчик данного события вызывается только при начале редактирования существующей строки, а при добавлении новой строки не вызывается. Другой важной особенностью является то, что данное событие указывает именно на начало изменения строки табличного поля в целом, а не какого-либо значения в ячейке строки табличного поля. Поэтому при переходе с одной колонки табличного поля, находящегося в состоянии редактирования, на другую обработчик данного события не вызывается.

Событие ПередОкончаниемРедактирования () возникает перед окончанием редактирования строки, т.е. при нажатии клавиши Enter , выполнении команды " Закончить редактирование " или при щелчке мышью в другую строку табличного поля. Обработчик данного события имеет параметры НоваяСтрока , ОтменаРедактирования и Отказ . Параметр НоваяСтрока указывает, что заканчивается редактирование добавленной строки. Параметр ОтменаРедактирования указывает причину, по которой происходит окончание редактирования строки. Если значение данного параметра равно Истина , то происходит отмена редактирования в результате нажатия клавиши Esc . Наконец, параметр Отказ позволяет отменить окончание редактирования. Важной особенностью данного события является то, что обработчик данного события вызывается только при окончании редактирования строки и не вызывается при переходе от одной колонки табличного поля к другой.

Если же необходимо отслеживать изменение данных в ячейке строки табличного поля, находящегося в состоянии редактирования, то можно воспользоваться событием ПриИзменении() элемента управления, связанного с редактируемой ячейкой. Обработчик данного события вызывается после изменения значения в элементе управления при переходе от одной редактируемой ячейки табличного поля к другой.

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

  • упростить работу пользователю, выполнять 1 клик вместо 2;
  • явно дать понять ему, что есть вложенные группы.

В такой простой задаче может возникнуть стопор из-за особенностей динамического списка:

  • в метод Развернуть() таблицы формы следует передать идентификатор текущей строки (численное значение, согласно описанию в синтаксис-помощнике);
  • в динамическом списке, когда источник и основная таблица есть справочник, метод ТекущаяСтрока() возвращает ссылку этого справочника, к которому не применим метод ПолучитьИдентификатор().

Решение проблемы:


Оказывается в метод Развернуть() в данном случае можно передавать эту ссылку, т.к. источник справочник, в котором нет дублей, следовательно система однозначно идентифицирует данную строку и сможет ее развернуть или свернуть. Аналогично работает и метод Развернут().

тд = Элементы . Дерево . ТекущиеДанные ;
Если Не тд = Неопределено Тогда
Если Элементы . Дерево . Развернут ( Элементы . Дерево . ТекущаяСтрока ) = Ложь Тогда
Элементы . Дерево . Развернуть ( Элементы . Дерево . ТекущаяСтрока , Ложь ) ;
КонецЕсли ;
КонецЕсли ;

Для удобства пользователя добавим, авто раскрытие/сокрытие при выборе(двойном клике, по уже активной строке):

Процедура ДеревоВыбор ( Элемент , ВыбраннаяСтрока , Поле , СтандартнаяОбработка )

ТС = Элементы . Дерево . ТекущаяСтрока ;
Если Элементы . Дерево . Развернут ( ТС ) = Истина Тогда
Элементы . Дерево . Свернуть ( ТС ) ;
Иначе
Элементы . Дерево . Развернуть ( ТС , Ложь ) ;
КонецЕсли ;

Данная статья также применима к плану счетов, планам видов характеристик и расчетов (которые имеют иерархическую структуру).

Реклама всегда менее актуальна, чем думают ее создатели.

— Законы Мерфи

Скорость работы как оператора, так и программиста в системе 1С предприятие 8.3 зависит от множества факторов. В данной статье будет рассмотрен способ существенного повышения скорости работы при помощи использования быстрых (или горячих) клавиш в 1С.

Быстрые кнопки 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

Условия:

Есть управляемая форма и, соответственно, её объект.
В модуле формы есть некая таблица значений, назовём её СписокДокументов. Эта таблица значений выводится в таблицу формы, которую мы и видим на мониторе. Допустим, таблица значений в модуле формы обрабатывается по некоторому условию и в ней выбирается какая-то строка.

Например, так: Для Каждого СтрокаТаблицы Из Таблица Значений Цикл
Если СтрокаТаблицы.Значение = //какое-то условие Тогда.

Задача:

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

Решение.

Решить задачу можно используя идентификатор строки. Дело в том, что таблица значений в объекте формы связана с таблицей формы по идентификаторам строк. Мы должны получить идентификатор строки таблицы значений, а потом, в таблице формы, установить свойство ТекущаяСтрока для строки с полученным ранее идентификатором:

Идентификатор = СтрокаТаблицы.ПолучитьИдентификатор();
Элементы.СписокДокументов.ТекущаяСтрока = Идентификатор;

Читайте также: