- Программное создание колонок в табличном поле с полем ввода Флажок (чекбокс) (1С 8.2)
- Скачать файлы
- Специальные предложения
- См. также
- FormCodeGenerator Программная доработка форм. Часть 2 (Режим работы «Режим сравнения форм») на примере ERP 2.5 Промо
- Интерактивная справка по объектам 1С (подключаемое расширение)
- Конвейер проверки качества кода
- Вам нравятся запросы в 1С?
- [Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении Промо
- Отправка электронной почты с помощью локального почтового клиента из 1С, развернутой под удаленным рабочим столом
- Работа с публикациями «Инфостарт»
- HTTP Сервисы: Путь к своему сервису. Часть 3
- ВСТАВИТЬ В Справочник.Номенклатура (Код, Наименование) ЗНАЧЕНИЯ («001», «Новый товар») Промо
- Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции
- Работа с данными выбора
- ТаблицаЗначений.Колонки Метод Добавить()
- Синтаксис
- Параметры
- Возвращаемое значение
- Описание
- Доступность
- Пример использования
- Дополнительная вычисляемая колонка в табличной части
- Дополнительная вычисляемая колонка в табличной части
- Реализация на платформе 1С: Предприятие 8.1 (или в обычном приложении)
- Реализация на платформе 1С: Предприятие 8.2 (8.3 управляемое приложение)
- Как добавить реквизит объекта в таблицу формы
- Как программно добавить колонку в форму списка 1С
- Программное изменение динамического списка
- Программное управление обычными формами документов и справочников в УПП/КА
- Часть 1
- Часть 2
- Часть 3
- Часть 4
- Часть 5
Программное создание колонок в табличном поле с полем ввода Флажок (чекбокс) (1С 8.2)
Допустим, из какой-либо таблицы нам необходимо сделать быстрый ввыбор каких-то данных, для этого обычно используют флажок (чекбокс). Причем данные в этой таблице могут варьироваться, следовательно, нам необходимо создавать данные строки програмно.
1. Табличное поле создается программно следующим образом
2. Оформление ячеек с флажками (чекбоксами) для колонок
3. Описание взаимосвязи выбора ячеек по колонке
Скачать файлы
Наименование | Файл | Версия | Размер | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Имя параметра | Тип | Описание |
---|---|---|
Имя (необязательный) | Строка | Имя колонки. Значение по умолчанию: Пустая строка. |
Тип (необязательный) | ОписаниеТипов | Объект, описывающий допустимые типы значений для колонки. Если параметр не указан, в колонке можно будет хранить значение любого типа. |
Заголовок (необязательный) | Строка | Заголовок колонки таблицы значений. Используется при визуальном отображении таблицы значений. Значение по умолчанию: Пустая строка |
Ширина (необязательный) | Число | Ширина колонки в символах. Используется при визуальном отображении таблицы значений. Значение по умолчанию: 0 |
Жирным шрифтом выделены обязательные параметры |
Возвращаемое значение
Описание
Метод Добавить() добавляет новую колонку в конец коллекции колонок таблицы значений. Метод возвращает созданную колонку для дальнейших манипуляций.
Доступность
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Пример использования
Пример кода с использованием метода Добавить() :
Источник
Дополнительная вычисляемая колонка в табличной части
Дополнительная вычисляемая колонка в табличной части
Реализация на платформе 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]
Откроем управляемую форму документа, добавим новую колонку “ИНН” реквизита “Контрагенты” и перенесём её на закладку “Элементы” (для отображения в форме).
Откроем палитру свойств поля “КонтрагентыКонтрагент” и добавим обработчик события “ПриИзменении”
// обработчик события «ПриИзменении» поля «Контрагент» в табличном поле «Контрагенты»
&НаКлиенте
Процедура КонтрагентыКонтрагентПриИзменении ( Элемент )
ТекДанные = Элементы . Контрагенты . ТекущиеДанные ;
ТекДанные . ИНН = ЗначениеРеквизита ( ТекДанные . Контрагент , «ИНН» ) ;
КонецПроцедуры
Это обеспечит нам изменение значения поля “ИНН” при выборе контрагента в строке табличного поля.
Теперь необходимо предусмотреть заполнение колонки “ИНН” при открытии формы документа, а так же после записи и при чтении на сервере.
Обновление данных после записи и при чтении на сервере необходимо в связи с тем, что иначе значения колонки “ИНН” будут очищаться каждый раз при возникновении этих событий. Для заполнения колонки “ИНН” опишем в модуле формы служебную серверную процедуру:
Затем добавим в модуль формы документа обработчики событий “ПриОткрытии”, “ПриЧтенииНаСервере” и “ПослеЗаписиНаСервере”, в каждой из которых будем вызвать описанную ранее служебную процедуру “ОбновитьДанныеКолонкиИНН”
Всё готово. Можно посмотреть на результат.
Статья найдена на просторах интернета
Как добавить реквизит объекта в таблицу формы
Любые издержки на рекламную кампанию:
— больше, чем может позволить себе клиент;
— меньше, чем ожидали люди из творческого отдела;
— примерно такие, которых с ужасом опасались бухгалтеры.
Источник
Как программно добавить колонку в форму списка 1С
Как добавить картинку в форму списка мы рассматривали в данном уроке.
Как добавить столбец в форму списка 1С программное рассмотрим на примере добавления столбца инвентарный номер в справочнике основных средств.
В конфигураторе найдем нужный справочник, откроем форму списка в форме списка дважды кликнем по Динамическому списку и проверим наличие флага у свойства Произвольный запрос, как на рисунке ниже.
Кликаем по кнопке открыть около надписи Настройка списка, и перед нами откроется окно редактора запроса
Дорабатываем запрос, получаем в запросе необходимые дополнительные данные, в нашем случае инвентарный номер из регистра ПервоначальныеСведенияОСБухгалтерскийУчет.
Кликаем ОК, теперь в Динамическом списке появился новый реквизит Инвентарный номер, который мы выбрали в запросе.
Установим флаг Использовать всегда и перетянем, зажав левой кнопкой реквизит на форму, как на картинке.
Чтобы поменять заголовок столбца кликнем по нему и в свойстве заголовок напишем нужное название.
Для примера ниже оставлю свой запрос.
Программное изменение динамического списка
В функции ПолучитьТекстЗапроса(), программно формируем нужный запрос и передаем его в Динамический список.
Источник
Программное управление обычными формами документов и справочников в УПП/КА
Часть 1
Чтобы не снимать с поддержки все формы конфигурации и не вставлять свои обработчики в процедуры «ПриОткрытии», будем искать такую процедуру, которая вызывается во всех формах документах и справочников.
Для форм документов — это функция общего модуля «РаботаСДиалогами.АктивизироватьРеквизитВФорме». Она как раз вызывается из процедуры форм документов «При открытии» и двойное бинго — в конце процедуры, после стандартных процедур по изменению формы.
И так, с нимаем с поддержки общий модуль «РаботаСДиалогами».
Находим функцию «АктивизироватьРеквизитВФорме» и сразу после объявления функции добавляем строку вызова нашей процедуры:
Для форм справочников — это процедура общего модуля « МеханизмНумерацииОбъектов. УстановитьДоступностьПоляВводаНомера».
Находим модуль « МеханизмНумерацииОбъектов», в процедуре «УстановитьДоступностьПоляВводаНомера», сразу после ее объявления, добавляем строку вызова нашей процедуры:
Все. Отделались снятием с поддержки двух модуле с добавлением в них двух строк. Обновлять будет легко.
Часть 2
Теперь самое главное.
Добавляем в конфигурацию общий модуль «ИТ_РаботаСДиалогами». В свойствах ставим галочки на использование в клиенте.
В модуль помещаем вызываемые функции.
Обратите внимание, что работа с формами справочника имеет особенности. Поскольку процедура «МеханизмНумерацииОбъектов.УстановитьДоступностьПоляВводаНомера» вызывается как из формы списка справочника, так и из формы самого элемента справочника. Различить можно только по составу передаваемых метаданных или просто по имени формы.
Часть 3
Поскольку мы не хотим каждый раз писать кучу кода при размещении реквизитов на форму, мы напишем заранее разного рода функции и процедуры, которые и будем в дальнейшем использовать.
— Функция добавления поля ввода на форму (одна из ранних наших функций).
Эта функция позволяет разместить на форму реквизит данный как поле ввода и его заголовок как надпись.
Есть некоторые особенности использования этой функции:
— При наличии заголовка в параметрах, он отображается как надпись на форме слева от поля ввода, если поле ввода имеет флаг РастягиватьПоВысоте=Истина, то заголовок выводится слева-сверху от поля ввода.
— В параметр «ДействиеПриИзменении» можно указать название процедуры, вызываемый при изменении реквизита, добавленного на форму. !ВАЖНО! указываемая процедура должна быть размещена в модуле формы, где добавляется реквизит.
— Функция добавления флажка на форму.
Эта функция позволяет разместить на форму флажок (булево).
Правила использования такие же как у предыдущей функции. Фактически это копия предыдущей функции, только для флажка.
Код этой функции почти идентичны предыдущим, по этому убран под спойлер.
— Функция добавления надписи на форму.
Эта функция позволяет разместить на форму надпись.
Правила использования такие же как у предыдущей функции. Фактически это вырезка вывода надписи из первой функции..
Код убран под спойлер
— Универсальное добавление поля на форму. (это другой подход добавления элементов на форму, гораздо более универсальный).
Используем эту процедуру гораздо чаще тех, что указал выше.
Эта более универсальная процедура. Появилась в нашем арсенале гораздо позже. Основное ее преимущество в том, что она может автоматически копировать оформление и привязку с других элементов на форме.
Так же можно назначить выполнение любого события, а не только «При изменении». Работает через структуру в параметрах.
Обязательные поля структуре — «ТипПоля,ИмяПоля,Данные,ЭлементЭталон,Подсказка,ПолеСдвига». Не забывайте их заполнять при вызове этой процедуры.
— Процедура добавления колонки в табличную часть формы.
Это универсальная процедура добавления колонки на форму.
Обязательные поля структуреколонки — «Имя,Данные,КолонкаЭталон,Подсказка». Не забывайте их заполнять при вызове этой процедуры. Остальные свойства для новой колонки будут скопированы с колонки эталон, указанной в структуре.
— Процедура удаления колонки в табличной части формы.
Иногда возникает необходимость удалять колонки с формы документа. Тут все просто.
— Процедура удаления элемента формы.
Часть 4
Думаю надо показать несколько примеров, как мы добавляем новые реквизиты на форму.
Примеры добавления колонки на форме:
Еще пример с добавлением полей в отдельной закладке:
Еще пример работы с формой справочника.
Часть 5
Доработки по совместимости и универсальности.
Желательно весь код модуля «ИТ_РаботаСДиалогами» обрамить в клиента
В процедурах, прежде чем добавлять реквизиты на форму, убедитесь, что такой реквизит существует.
Например так:
Поскольку вызов функции может происходить многократно в одной форме, всегда проверяйте, выведен ли уже реквизит на форму.
Например так:
Такие проверки позволят вам копировать общий модуль «ИТ_РаботаСДиалогами» во все ваши конфигурации УПП/КА и не бояться вызова исключений.
Источник