Колонка табличного поля управляемая форма

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

Существует два способа управления настройкой колонок :

Управление настройкой всех колонок табличного поля

Управлять настройкой сразу всех колонок табличного поля можно используя свойство табличного поля ИзменятьНастройкуКолонок . Данное свойство доступно из палитры свойств и из встроенного языка. Если данное свойство имеет значение Ложь , то табличному полю запрещена настройка колонок. Всем колонкам табличного поля запрещено изменять размер и позицию ( т.е. запрещено перетаскивание колонок ) , а также все свойства колонок, настраиваемые в диалоге настройки списка. Соответственно, в диалоге настройки списка становится доступной только закладка » Прочее » .

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

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

Управлять настройкой отдельных колонок табличного поля можно используя свойство колонки табличного поля ИзменятьНастройку . Данное свойство доступно из палитры свойств и из встроенного языка. Если данное свойство имеет значение Ложь , то колонке запрещено изменять размер и позицию, а также все свойства колонки, настраиваемые в диалоге настройки списка. Соответственно, в диалоге настройки списка данная колонка становится невидимой. Если всем колонкам табличного поля запрещено изменять настройку, то в диалоге настройки списка становится доступной только закладка » Прочее » . Также необходимо заметить, что если свойство ИзменятьНастройку имеет значение Истина , то существует возможность запретить изменение видимости или размера колонки используя для этого свойства колонки ИзменятьВидимость и ИзменениеРазмера соответственно.

Читайте также:  Включается режим наушники без наушников

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

Источник

Установить текущую колонку в таблице управляемой формы

Всем привет!
Создал программно таблицу на форме. Добавил колонки. (колонок много)
Теперь, если удаляю колонку, начиная с конца, после удаления колонки происходит активизация самой первой колонки в таблице формы, а хотелось бы, что бы курсор оставался на предыдущей колонке.

Подскажите пожалуйста, можно как-то прописать свойства таблицы формы, что бы курсор не перемещался в начало таблицы к первой колонке?

Вот фрагмент удаления колонки:

мТЗ = РеквизитФормыВЗначение(«Характеристики», Тип(«ТаблицаЗначений»));

Если 1=0 Тогда
мТЗ = Новый ТаблицаЗначений;
КонецЕсли;

МассивРеквизитов = Новый Массив;
МассивРеквизитов.Добавить(«Характеристики.» + УдаляемаяКолонка);
ИзменитьРеквизиты(, МассивРеквизитов);
ЗначениеВРеквизитФормы(мТЗ, «Характеристики»);

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

Проблема с полосой прокрутки. Она уходит к первой колонке и пользователь заново прокручивает мышкой к нужной колонке.

Понимаю. Опишу:
Таблица формы создана программно. Колонок +50.
Далее пользователь удаляет ненужные колонки, активируя любую строку в удаляемой колонке.

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

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

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

Почему сделано таблицей? Потому что строк может быть тоже много, типа пакетного редактора реквизитов

Разобрался как позиционировать полосу прокрутки:

Именно если устанавливать свойство АктивироватьПоУмолчанию, пр иперерисовки формы, полоса прокрутки сама перемещается к нужной колонке.

В примере я перемещаю полосу прокрутки к необходимой мне колонке. дальше дело техники. определять номер соседней колонки у удаляемой и делать ее активной.

Источник

Дополнительная вычисляемая колонка в табличной части

Дополнительная вычисляемая колонка в табличной части

Реализация на платформе 1С: Предприятие 8.1 (или в обычном приложении)

В начале коротко о том, как добавить дополнительную колонку в табличное поле на платформе 1С 8.1.

Предположим, что у нас есть некий документ с табличной частью “Товары” (с колонками “Номенклатура” и “Количество”) и нам нужно вывести дополнительную колонку “Цена”, которая бы содержала данные реквизита “Цена” элементов справочника “Номенклатура”, выбранных в строках табличной части.

Для этого нам достаточно добавить в форме документа новую колонку “Цена” в табличное поле, содержащее данные табличной части документа и написать следующий код в обработчике события “ПриПолученииДанных” этого табличного поля:

Хочу обратить внимание на то, что строки табличного поля обрабатываются порциями, по мере прокрутки списка.

Реализация на платформе 1С: Предприятие 8.2 (8.3 управляемое приложение)

На платформе 8.2 с использованием управляемых форм решение данной задачи потребует бóльших усилий. Это связано с тем, что за счет своей клиент-серверной ориентированности в платформе 8.2 в управляемом режиме отсутствуют некоторые привычные возможности – например, у табличного поля отсутствуют обработчики событий “ПриПолученииДанных” и “ПриВыводеСтроки”, которые мы могли бы использовать для этих целей в 1С 8.1 или 8.2 в обычных формах.

Пусть в нашей конфигурации есть документ “ВводОстатковДолга” с табличной частью “Контрагенты” (с колонками “Контрагент” и “Сумма”). В свою очередь у справочника “Контрагенты” есть реквизит “ИНН”, значение которого необходимо выводить в строках табличного поля.

[qu_spoiler title=»Примечание от ‘Капитально:» open=»yes» icon=»chevron-circle»]в статье взят неудачный пример т.к. реквизиты вынести можно получить гораздо проще, но тем не менее статья полезна для рассмотрения в учебных целях[/qu_spoiler]

Откроем управляемую форму документа, добавим новую колонку “ИНН” реквизита “Контрагенты” и перенесём её на закладку “Элементы” (для отображения в форме).

Откроем палитру свойств поля “КонтрагентыКонтрагент” и добавим обработчик события “ПриИзменении”

// обработчик события «ПриИзменении» поля «Контрагент» в табличном поле «Контрагенты»
&НаКлиенте
Процедура КонтрагентыКонтрагентПриИзменении ( Элемент )
ТекДанные = Элементы . Контрагенты . ТекущиеДанные ;
ТекДанные . ИНН = ЗначениеРеквизита ( ТекДанные . Контрагент , «ИНН» ) ;
КонецПроцедуры

Это обеспечит нам изменение значения поля “ИНН” при выборе контрагента в строке табличного поля.
Теперь необходимо предусмотреть заполнение колонки “ИНН” при открытии формы документа, а так же после записи и при чтении на сервере.

Обновление данных после записи и при чтении на сервере необходимо в связи с тем, что иначе значения колонки “ИНН” будут очищаться каждый раз при возникновении этих событий. Для заполнения колонки “ИНН” опишем в модуле формы служебную серверную процедуру:

Затем добавим в модуль формы документа обработчики событий “ПриОткрытии”, “ПриЧтенииНаСервере” и “ПослеЗаписиНаСервере”, в каждой из которых будем вызвать описанную ранее служебную процедуру “ОбновитьДанныеКолонкиИНН”

Всё готово. Можно посмотреть на результат.

Статья найдена на просторах интернета

Как добавить реквизит объекта в таблицу формы

Никакая реклама не поможет продать то, что продать невозможно.

Источник

Выпадающий список в колонке табличной части УПРАВЛЯЕМОЙ формы

21.11.13 18:34 Сейчас в теме

Здравствуйте!
Подскажите, пожалуйста, мне необходимо в ТЧ документа в одной из колонок сделать выпадающий список с несколькими значениями, написала вот так, но это неправильно:
&НаСервере
Функция ВернутьСпособыПогашенияЗадолженности()
СписокДляВыбора = Новый ТаблицаЗначений;
СписокДляВыбора.Колонки.Добавить(«СпособПогашенияЗадолженности»);
СписокДляВыбора.Добавить().СпособПогашенияЗадолженности = Перечисления.СпособыПогашенияЗадолженности.ПоДокументу;
СписокДляВыбора.Добавить().СпособПогашенияЗадолженности = Перечисления.СпособыПогашенияЗадолженности.НеПогашать;
Возврат СписокДляВыбора;
КонецФункции

Так не прокатывает, т.к. ТЗ не передать с сервера на клиент. Пробовала передавать Элемент на сервер, чтобы там ему присвоить ТЗ в СписокВыбора, но с клиента на сервер Элемент не передать.
Как тогда быть?

, ну зачем так все усложнять( все делается без кода. у тебя тип реквизита к которому привязана колонка должен быть ПеречисленияСсылка.СпособыПогашенияЗадолженности
и все!

21.11.13 20:56 Сейчас в теме

21.11.13 20:58 Сейчас в теме

21.11.13 22:26 Сейчас в теме

Я запарился искать ответ на этот же вопрос только в управляемых формах на платформе 8,3,13 и в расширении.

У меня вообще не заходит в обработчик «НачалоВыбораИзСписка»
на ИТС этот вопрос не рассматривается.
Но эксперементально удалось выяснить вот что:

1 В обработчике «НачалоВыбора» поля табличной части прописать отказ стандартной обработки и создать свой список значений (из ссылок типа самого поля конечно) и засунуть в параметр «ДанныеВыбора».

ВСЕ! И ничего больше делать не нужно, все работает по кнопке выбор.

если хочется красивый список выбора как раньше смотри скрин.

значение свойства «БыстрыйВыбор» в значении НЕТ (это значение будет в режиме Авто) показывает команду «показать все», а в значении ДА убирает эту команду! причем если ткнуть «показать все» то в нашем случае список выпадает заново и все равно состоит из наших значений по моему это идиотизм.

Я был искренне удивлен от такого логичного функционала, быстрого выбора и выбора из списка.
по-моему 8,2 был лучше.

Источник

1С 8.3 : Как добавить дополнительную вычисляемую колонку в табличной части управляемой формы

Реализация на платформе 1С: Предприятие 8.1

В начале коротко о том, как добавить дополнительную колонку в табличное поле на платформе 1С 8.1. Предположим, что у нас есть некий документ с табличной частью “Товары” (с колонками “Номенклатура” и “Количество”) и нам нужно вывести дополнительную колонку “Цена”, которая бы содержала данные реквизита “Цена” элементов справочника “Номенклатура”, выбранных в строках табличной части. Для этого нам достаточно добавить в форме документа новую колонку “Цена” в табличное поле, содержащее данные табличной части документа и написать следующий код в обработчике события “ПриПолученииДанных” этого табличного поля:

Хочу обратить внимание на то, что строки табличного поля обрабатываются порциями, по мере прокрутки списка.

Реализация на платформе 1С: Предприятие 8.2

На платформе 8.2 с использованием управляемых форм решение данной задачи потребует бóльших усилий. Это связано с тем, что за счет своей клиент-серверной ориентированности в платформе 8.2 в управляемом режиме отсутствуют некоторые привычные возможности – например, у табличного поля отсутствуют обработчики событий “ПриПолученииДанных” и “ПриВыводеСтроки”, которые мы могли бы использовать для этих целей в 1С 8.1 или 8.2 в обычных формах.
Пусть в нашей конфигурации есть документ “ВводОстатковДолга” с табличной частью “Контрагенты” (с колонками “Контрагент” и “Сумма”). В свою очередь у справочника “Контрагенты” есть реквизит “ИНН”, значение которого необходимо выводить в строках табличного поля.
Откроем управляемую форму документа, добавим новую колонку “ИНН” реквизита “Контрагенты” и перенесём её на закладку “Элементы” (для отображения в форме).

Откроем палитру свойств поля “КонтрагентыКонтрагент” и добавим обработчик события “ПриИзменении”

Источник

Оцените статью