1с поле формы установить значение

Программирование в 1С для всех

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

1 1

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

%D0%91%D0%B0%D0%BD%D0%BD%D0%B5%D1%80 2

Добавление элементов на форму

Делается это достаточно просто: необходимо выделить элемент Форма в окне Элементы конструктора формы и нажать на кнопку «Добавить». После этого откроется окно, в котором необходимо выбрать нужный тип элемента

2 1

После выбора, элемент нужного появится в окне Элементы.3 1

Элемент управляемой формы Поле

Разберем элемент управляемой формы Поле. Этот элемент нужен для ввода информации на форме. А также для отображения какой-либо информации. После того, как Вы добавите этот элемент на форму, справа откроется палитра свойств элемента формы. Пока Вас должны интересовать два свойства – ПутьКДанным и Вид.

4 1

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

5 1

Здесь и далее используется конфигурация, созданная в книге «Программировать в 1С за 11 шагов»

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

6 1

После этого заполнятся свойства ПутьКДанным и Вид, а сам элемент отобразится в представлении формы.

7

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

8 1

В зависимости от выбранного значения будет определятся функционал. На рисунках выше выбрано значение – поле ввода, т.е. мы можем вводить какие-либо значения в это поле ввода, а если выбрать значение поле надписи, то ни чего вводить мы не сможем.

9

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

Теперь добавим новый элемент формы с типом Поле ввода и свяжем его с реквизитом РеквзитДата посредством уже знакомого нам свойства ПутьКДанным

10

Как Вы видите вид поля ввода поменялся, а так же поменяется возможный выбор значений свойства Вид.

11

Таким образом, делаем вывод – функциональность поля ввода зависит от типа реквизита.

Для реквизита с типом Булево будут доступны следующие значения свойства Вид.

12

А для реквизита с ссылочным типом будут доступны иные значения свойства Вид.

13

%D0%91%D0%B0%D0%BD%D0%BD%D0%B5%D1%80 2

Более подробно работа с элементами формы на практичных примерах дается в книге «Основы разработки в 1С:Такси. Разработка управляемого приложения за 12 шагов».

Иногда кажется, что изучить язык программирование в 1С сложно и трудно. В действительности программировать в 1С — легко. Помогут Вам легко и быстро освоить программирование в 1С мои книги: «Программировать в 1С за 11 шагов» и «Основы разработки в 1С: Такси»

Изучите программирование в 1С с помощью моей книги «Программировать в 1С за 11 шагов»

1 %D0%B2 %D0%B6%D0%B5%D0%BB%D1%82%D0%BE%D0%BC %D1%86%D0%B2%D0%B5%D1%82%D0%B5 3D %D0%BC%D0%B0%D0%BB%D0%B5%D0%BD%D1%8C%D0%BA%D0%B0%D1%8F

Эта книга подойдёт тем, кто уже начал программировать и испытывает определенные сложности с этой темой и тем, кто уже давно программирует, но ни разу еще не работал с управляемыми формами 1С

Промо-код на скидку в 15% — 48PVXHeYu


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

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

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Источник

Программирование 1С 8.х для начинающих

Конфигурация

Элементы формы 1С. Часть 2

1. Поле ввода
2. Флажок
3. Переключатель

formelements 4 6

Поле ввода

Как правило, поле ввода связано с реквизитом объекта и отражает его данные. Это, пожалуй, один из самых распространенных элементов, он имеет несколько способов выбора значения:

Выбор из списка (РежимВыбораИзСписка)

Выбор из другой формы (Кнопка выбора)

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

Флажок

Переключатель

Переключатель используется для выбора одного значения из небольшого количества возможных (желательно не более пяти) при этом значения не могут сочетаться, Например: подходит для выбора пола человека. Другой пример: допустим, фирма даёт одну из 3-х скидок на товар, при этом скидки не суммируются:

В данном случае удобство использования переключателей может заключаться в том, что каждый из них может иметь какое-то значение, которое устанавливается в свойстве «Выбираемое значение». И тогда «Скидка 5%» может хранить значение 5 или 0,05.

При использовании переключателей важно помнить три вещи:

ordersettingswalker

Источник

Программирование в 1С для всех

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

Рассмотрим следующую задачу: в табличной части некоторого документа есть реквизит «Пояснение» (тип строка), для удобства работы пользователей необходимо сделать так, чтобы при нажатии на кнопку «Лупа» поля ввода этого реквизита текущей строки табличной части, открывалась форма с многострочным полем ввода, где пользователь может ввести нужный ему текст. После нажатия на кнопку «Поместить» открывшейся формы вся информация из поля ввода должна быть передана в соответствующее поле текущей строки табличной части.

Для демонстрации решения, я использую учебную конфигурацию, где в табличной части документа «Поступление товаров и услуга» имеется реквизит «Пояснение» (строка (250)).

1

На форме документа у поля «Пояснение» таблицы формы в свойство «КнопкаОткрытия» установим значение «Да».

2

В результате у нас у соответствующего поля на форме появится кнопка Открыть.

3

Теперь создадим произвольную форму документа, которую назовем ФормаВводаПояснения.

4

У этой формы создадим реквизит управляемой формы «Ввод пояснения» (строка (250))

5

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

6

У командной панели формы снимем флаг «Автозаполнение»

7

Создадим команду формы «Поместить», которую разместим в командной панели формы в виде кнопки. И у этой кнопки установим флаг у свойства «Кнопка по умолчанию»

8

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

9

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

10

В этом обработчике напишем следующий код

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

11

В этом обработчике мы будем закрывать форму, а в качестве параметра закрытия передадим реквизит формы.

С этой формой мы закончили, перейдем к форме документа. На форме документа у поля Пояснения таблицы формы создадим обработчик события ПриОткрытии в клиентском контексте.

12

Это событие возникает, когда пользователь нажимает на кнопку «Открыть» соответствующего поля.

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

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

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

Открывать формы мы будем при помощи метода глобального контекста ОткрытьФорму, передадим в неё параметры ввода, а также установим, чтобы блокировалось окно владельца.

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

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

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

На этом наше программирование закончено. Работа выполнена.

13

Другие статьи про открытие управляемых форм:

Подробно вопросы передачи параметров, открытия форм рассмотрены в книге «Основы разработки в 1С: Такси. Разработка управляемого приложения за 12 шагов». Эта книга станет настоящим подспорьем для тех, кто только начал знакомиться с разработкой управляемого приложения.

1 %D0%B2 %D0%B6%D0%B5%D0%BB%D1%82%D0%BE%D0%BC %D1%86%D0%B2%D0%B5%D1%82%D0%B5 3D %D0%BC%D0%B0%D0%BB%D0%B5%D0%BD%D1%8C%D0%BA%D0%B0%D1%8F

Книга «Основы разработки в 1С: Такси» отлично подойдёт тем, кто уже начал программировать и испытывает определенные сложности с этой темой и тем, кто уже давно программирует, но ни разу еще не работал с управляемыми формами 1С

Промо-код на скидку в 15% — 48PVXHeYu

Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

1C %D0%B2 %D0%B6%D0%B5%D0%BB%D1%82%D0%BE%D0%BC %D1%86%D0%B2%D0%B5%D1%82%D0%B5 3D

Эти книги плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


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

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

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Вступайте в мои группы в соцсетях, и будьте в курсе всех новостей

One thought on “ Открытие формы в 1С 8.3 с передачей параметров на примере ”

Не работает….после внесения текста в дополнительной форме…Он не передается в основную форму

Источник

1С 8.x : Табличное поле

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

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

Добавлена строка может быть или кнопкой INS (добавление) или кнопкой F9 (дублирование).

При добавлении последовательность событий такая:

При дублировании последовательность событий такая:

Как быть?

Для решения данной задачи необходимо использовать ПриНачалеРедактирования:

В реалии это выглядит так, нажали добавить и получили:

2fde832a2f9c0794c8555845108bbf48

print

Похожие FAQ

Еще в этой же категории

Программное создание таблицы значений с условным оформлением 12
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Поле выбора

Как ограничить список выбора? 8
Ограничим список элементов, установив отбор в открываемой форме //Пример 1 Процедура СтатьяПДРНачалоВыбора(Элемент, СтандартнаяОбработка) ФормаВыбора = Справочники.ПрочиеДоходыИРасходы.ПолучитьФормуВыбора(, Элемент); ЭлементОтбораВидПДР = Форма Реквизит

Источник

Работа с полем выбора

Элемент управления «Поле выбора» предназначен для хранения и быстрого выбора одного из значений, входящих в его список выбора. Список выбора для поля выбора есть список значений. Значением поля выбора является одно единственное значение, а не весь список выбора.

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

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

Например, если список выбора имеет значениями числа 1, 2 и 3, тогда в поле выбора удастся установить любое из этих значений. При установке других значений, хотя ошибки времени выполнения и не произойдет, они сохранены не будут.

Представление значения, хранящегося в поле выбора

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

Поиск значения в поле выбора по введенному тексту

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

Связь поля выбора с данными

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

Особенности инициализации и использования списка выбора

Для правильного отображения в поле выбора данных, с которыми он связан, список выбора должен формироваться в теле модуля формы. Формировать список выбора для поля выбора в обработчике любого из событий формы – поздно. Это приведет к тому, что в поле выбора будет установлено значение «Неопределено», хотя в реквизите при этом может быть любое значение.

Такая ситуация возникает из-за того, что данные устанавливаются в элементы управления формы, связанные с ними, в процессе создания формы. А обработчики событий ПередОткрытием(), ПриОткрытии() вызываются после создания самой формы, в процессе инициализации ее визуальной части. Получается, что при создании формы полю выбора поставили некоторое значение в момент, когда его список выбора пустой. При этом, поскольку список выбора пустой, вместо устанавливаемого значения в поле выбора будет сохранено значение «Неопределено».

При смене типа значения (свойство «ТипЗначения») для списка выбора, у которого есть элементы, будет выполнено преобразование их значений к новому типу. Может быть следующая ситуация: после смены типа значения для списка выбора некоторое значение, которое раньше удавалось успешно установить в поле выбора, после смены типа значения установить не получается. Причина такой ситуации в том, что в процессе установки типа значения для списка выбора, успешно устанавливаемое ранее значение было конвертировано в другое значение (в соответствии с новым типом значения). Соответственно, устанавливаемое значение в списке выбора больше найдено не будет.

Использование поля выбора: пример 1

Пусть есть форма, в которой размещены поле выбора (ПолеВыбора1), поле ввода (ПолеВвода1) и создан реквизит (Реквизит1: число, длина = 10, точность = 0). В качестве данных для редактирования в ПолеВвода1 и ПолеВыбора1 стоит реквизит Реквизит1. В теле модуля формы написан следующий код:

Открыв такую форму в режиме 1С:Предприятие, можно видеть, как будут устанавливаться значения в поле выбора:

i800030

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

i800031

3. Выбираем в поле выбора в выпадающем списке строку с надписью «Два»: в поле ввода помещается значение 2.

i800032

Перейдем в поле ввода и попробуем редактировать значения в нем:

1. Введем в поле ввода значение 3 и сойдем с поля ввода. В поле выбора запишется значение 3 и установится значение из соответствующей строки списка выбора поля выбора («Три»).

i800027

2. Вернемся в поле ввода и введем в нем значение 4. Перейдем с поля ввода к следующему элементу управления. В поле ввода будет сохранено введенное значение «4», а поле выбора станет пустым. В данном случае введенное в поле ввода значение 4 будет сохранено в связанных с полем ввода данных, после чего выставлено из них в поле выбора. Поскольку поле выбора в списке выбора значения 4 не имеет, оно установлено в поле выбора не будет.

i800028

Использование поля выбора: пример 2

Пусть есть форма, в которой размещены поле выбора (ПолеВыбора1), поле ввода (ПолеВвода1) и создан реквизит (Реквизит1: СправочникСсылка.Номенклатура). В качестве данных для редактирования в ПолеВвода1 и ПолеВыбора1 стоит реквизит Реквизит1. В теле модуля формы написан следующий код:

Открыв такую форму в режиме 1С:Предприятие, можно видеть, как будут устанавливаться значения в поле выбора:

i800029

2. Выбираем в поле выбора в выпадающем списке строку с надписью «Один»: в поле ввода помещается значение. Поскольку поле ввода и поле выбора связаны с одним и тем же реквизитом формы, при изменении значения в поле ввода оно устанавливается в поле выбора и наоборот. В данном случае в поле выбора выбрали строку «Один», значение для которой равно ссылке на на элемент справочника Справочники.Номенклатура.Элемент1. Оно и отобразилось в поле ввода.

i8000210

3. Выбираем в поле выбора в выпадающем списке строку с надписью «Два»: в поле ввода помещается ссылка на элемент справочника Справочники.Номенклатура.Элемент2:

i8000211

Перейдем в поле ввода и попробуем редактировать значения в нем:

1. Выберем в поле ввода значение Справочники.Номенклатура.Элемент1. В поле выбора запишется значение Справочники.Номенклатура.Элемент1 и установится значение из соответствующей строки списка выбора поля выбора («Один»).

i8000212

2. Выберем в поле ввода значение Справочники.Номенклатура.Элемент2. В поле выбора запишется значение Справочники.Номенклатура.Элемент2 и установится значение из соответствующей строки списка выбора поля выбора («Два»).

i8000213

3. Выберем в поле ввода значение Справочники.Номенклатура.Элемент3. В поле выбора значение Справочники.Номенклатура.Элемент3 записано не будет, поскольку оно не было добавлено в список выбора. Значением в поле ввода будет «Неопределено»:

i8000214

Использование поля выбора: пример 3

Пусть есть внешняя обработка, в которой создан реквизит Реквизит1 типа СправочникСсылка.Номенклатура. Во внешней обработке есть две формы: в первой устанавливается значение реквизита и по нажатию на кнопку открывается вторая форма.

Посмотрим, как будет выглядеть вторая форма в зависимости от того, какое значение сохранено предварительно в реквизите внешней обработки Реквизит1.

i800021 i800022

i800023 i800024

Значение реквизита в списке выбора для поля выбора отсутствует:

i800025 i800026

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • 1с поле формы поле объекта недоступно для записи
  • 1с поле счет дебета не заполнено