1с активировать колонку в таблице

Обновлено: 03.07.2024

Содержание

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

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

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

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

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

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

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

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

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

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

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

Откроем свойства табличного поля и найдем свойство «ПросмотрГруппИЭлементов». В выпадающем списке выберем «Группы». Готово!

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

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

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

Предположим, что колонке «СубконтоДоходовБУ3» нужно присвоить тип «СправочникСсылка.ПодразделенияОрганизаций».

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

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

Свойство «РежимРедактирования» определяет режим редактирования ячейки табличного поля, если его не установить в «РежимРедактированияКолонки.Непосредственно» придется дополнительно кликать мышью, чтобы изменить флажок.

Кроме того, чтобы отображался только флажок без текста ДаНет необходимо в обработчике события табличного поля «ПриВыводеСтроки» написать следующее:

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

Табличное поле имеет событие «Выбор». В обработчике этого события напишите:

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

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

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

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

В обработчике события «Выбор» доступно имя колонки табличного поля и текущая строка. Чтобы получить значение ячейки нужно воспользоваться функцией табличного поля «ОформлениеСтроки», как показано ниже:

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

Но создать таблицу значений, это только малая часть работы, поскольку сама по себе таблица значений нам абсолютно не нужна. Чтобы начать с ней работать, необходимо ее, как минимум, заполнить колонками.

Программное создание колонок таблицы значений в 1С

У объекта Коллекция колонок таблицы значений существует два метода по созданию новых колонок. Это Добавить и Вставить.

Метод Добавить – добавляет новую колонку в конец коллекции, а метод Вставить – вставляет колонку в нужное место по соответствующему индексу.

В этом примере я использовал самый простой вариант использование метода Добавить: мы указываем только название колонки и всё.

Рассмотрим синтаксис этого метода

Добавить(<Имя>, <Тип>, <Заголовок>, <Ширина>)

Как видно, у данного метода всего четыре параметра.

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

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

Параметр Ширина имеет тип Число и задает длину колонки(количество символов).

Если мы зададим все параметры, то наше создание колонок будет выглядеть следующим образом.

Метод Вставить имеет следующий синтаксис:

Вставить(<Индекс>, <Имя>, <Тип>, <Заголовок>, <Ширина>)

Метод Вставить имеет синтаксис, как и у метода Добавить, но только появился первый параметр Индекс, он указывает тот индекс, на место которого будет вставляться новая колонка.

Доработаем предыдущий код:

В нашем случае колонка ФИО встала точно между Отчеством и Датой рождения.

Создание колонок в таблице значений на форме

Если мы создали таблицу значений на управляемой форме 1С 8.3 в виде реквизита формы, то колонки также можно создать интерактивно. Для этого нужно выделить нужный реквизит, и нажать на кнопку «Добавить колонку реквизита».

Кнопка Добавить колонку реквизита

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

Задаем свойства колонки таблицы на форме

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

Первый способ – перетащить колонку из реквизитов в элементы.

Перетаскиваем колонку из реквизитов формы в элементы

После этого, колонка появиться под таблицей, а сама таблица отобразиться на форме (таблица без колонок на форме не отображается).

Колонка в таблице на форме

Второй способ – создать новое поле «под» таблицей на форме и привязать к нему нужную колонку таблицы значений 1С.

Для того, чтобы создать новое поле, привязанное к таблице на форме 1С, нужно выделить эту таблицу, нажать на кнопку «Добавить» панели управления дерева Элементы, и в открывшемся окне выбрать тип элемента «Поле».

Добавляем новый элемент управляемой формы

После этого нужно задать имя нового поля и связать его с колонкой таблицы значений, используя свойство «ПутьКДанным».

Свойство ПутьКДанным элемента поле управляемой формы

После этого колонка сразу же появиться в таблице на форме 1С.

Колонка в таблице на форме


О работе со строками в таблицах значений читайте в статье по ссылке:
Таблице значений 1С: работа со строками


Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным


Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:

можно оплатить вручную:

Как активировать строку в Таблице на форме? Более конкретная задача такая: Есть ТЗ на форме, она заполнена кроме одной колонки. Пользователь должен её заполнить, он активизирует первую строчку, вводит значение, жмет enter, после чего должна активизироваться строка №2, пользователь опять вводит и жмет enter . и т.д. Не могу найти как активизировать следующую строку после окончания ввода.

Пробовал на клиенте сделать следующее: Получается очень странная картина: нижняя строка становится активной, но активная ячейка всеравно остаётся та, которую только что изменили, см. скриншот в личке.

В свойствах Таблицы поставь РежимВыделенияСтроки - Строка

Использование: Чтение и ЗАПИСЬ. Описание: Тип: ГруппаФормы; ТаблицаФормы; ПолеФормы; КнопкаФормы. Содержит текущий активный элемент управляемой формы. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент

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

Элементы.ГруппаЗапасы.ПодчиненныеЭлементы.Запасы.ТекущийЭлемент=НужноеПолеФормы; ?

и как мне ячейку в таблице ативизировать. Элементы.Таблица.ТекущийЭлемент = Элементы.НеобходимаяКолонка; После этого тоже самое что на скрине, не становится активной ячейка следующей строки, даже если так писать:

может не понятно объяснил: Пользователь должен спозиционироваться на первой строке в колонке для заполнения. Далее вводит число, жмет enter, число enter, число enter. таким образом быстро заполняется вся колонка ТЗ.

Проблема не активизации - активизацию проводит Элементы.Таблица.ТекущийЭлемент=НужноеПолеФормы; Мне лично не понятно как получить НужноеПолеФормы - не нашел методов

Апну что ли ) Самому интересно. Как получить поле формы таблицы , например из 3 строки 3-го столбца ?

странный код какой-то Индекс - что это. Пальцем в небо?

Эт как выделить след строку, а как сделать активным поле след строки, неизвестно.

Зачем так сложно? работает и так: Элементы.Исследования.ТекущаяСтрока = Элементы.Исследования.ТекущаяСтрока + 1; На клиенте Элементы.Исследования.ТекущаяСтрока это число, я уже писал об этом. Вопрос остается открытым, строка выделяется, но активность к ней не переходит!

В текущей строке хранится идентификатор строки, что не совсем одно и тоже что индекс, попробуй поменять местами строки в ТЗ.

Зачем мне их менять? Чтобы проверить индекс чтоли? там кстати строгая сортировка, местами строки менять нельзя.

ну имей в виду. А с активацией поля думаю эт недоделка 1с-гов, имеет смысл написать в саппорт.

это плохо, надеюсь не придется ждать пока они доделают.

Если установить отбор по нужной строке, а потом отбор отменить - нужная строка станет активной

идея не плохая, но это слишком жестока для пользователя, бабушка в шоке будет от постоянно появляющихся и исчезающих строк.

По крайней мере так можно спозиционироваться в журнале или справочнике

Точнее судя по замерам идет обращение к серверу, но только 1 раз

обращение к серверу - не гут, на вебе притормаживать будет.

Ничуть не больше чем при изменении номенклатуры - также одно обращение и обновление видимых элементов

&НаКлиенте Так работает, только в вебе немного притормаживает, но зато не моргает как в тонком. Еще одна фишка выяснилась: При таком переходе на след строку впринципе работает, но только в вебе, в тонком приходится действовать так: вводишь число, ентер, переходит фокус на след строку, опять приходится ентер нажимать чтобы начать редактирование и т.д. тогда как в вебе неприходится 2 раза подряд ентер нажимать. В тонком короче не срабатывает данная строка:

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