1с установить тип в поле ввода

Интерактивное изменение типа значения поля ввода на форме

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

1с установить тип в поле вводаИзменение цветом поля в подчиненной форме в зависимости от значения в форме
Добрый день. Есть такой вопрос. Есть БД, где в поле под Статусом печати выбирается номер List ID.

Изменение значения поля типа дата/время в БД Access
Появилась проблема, не могу сохранить тип данных «дата/время» в эксес таким образом сохраняю.

Динамическое изменение маски ввода поля по значению из поля со списком
Есть две таблицы. В Т1 есть поле со списком «Гражданство», значения берутся из Т2. Т2 имеет три.

Очистка поля ввода Edit для следующего ввода значения
Здравствуйте! Необходим совет. Нужно реализовать следующую возможность: в поле ввода Edit вводится.

barracuda1991, да, присвоив пустое значение нужного типа полюВвода

Добавлено через 3 минуты

Добавлено через 39 секунд
barracuda1991, нужно было просто скопировать текст процедуры себе

Если ограничивать тип для ЭлементыФормы.ПолеВвода1 тогда не «слетает» значение реквизита ПолеВвода1 если она уже правильного типа,
а при ПолеВвода1 = ОТ.ПривестиЗначение(); фактически устанавливается пустая ссылка текущему значению реквизита ПолеВвода1

ИМХО лучше через ЭлементыФормы

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

Поля ввода в форме
Можно ли создать поле ввода ФИО существующее только в форме и не существующие в таблице? И как из.

Почему изменение фона затрагивает не только изменение фона поля ввода?
Почему изменение фона через BackColor затрагивает не только изменение фона поля ввода в.

Источник

Программное приведение типа значения поля ввода и колонки табличного поля формы 1С8

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

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

1с установить тип в поле ввода

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

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

Для примера разработана управляемая форма и форма в обычном режиме (см. скриншоты публикации).

Обычный режим

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

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

1с установить тип в поле ввода

Код преобразования приведен ниже. В нём используется ранее инициализированная переменная СтрокаТипЗнч для получения имени выбранного типа. Алгоритм можно найти в справке по ключевому слову ПривестиЗначение.

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

Управляемые формы

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

Рассмотренный пример алгоритма можно протестировать, скачав обработку по ссылке из публикации. Работа выполнялась на 1С:Предприятие 8.3 (8.3.15.1747), с использованием конфигураций «Управление торговлей», редакция 10.3 (10.3.46.3), Управление торговлей, редакция 11 (11.4.7.150). В составе обработки одновременно присутствует управляемая форма и форма обычного режима.

Спасибо за внимание! Критика приветствуется.

Источник

Как установить тип для реквизита «произвольного» типа

Надеюсь кому поможет

А как бы назначить тип полю формы произвольного типа для УФ?
Метода Значение там нет.

Вообще не могу толком сделать что то типа отбора в СКД.
Есть ТЧ у справочника, там есть счет, некое поле (реквизит по которому фильтр), условие (это сз типа В списке), а потом поле формы типа произвольный в каждой строке в представлении этой ТЧ. Так вот при выборе «в списке» нужно как то сделать это поле списком значений с ограниченным типом справочников на выбор. Иначе если условие Равно, то просто это поле ТЧ пусть будет типом самого типа реквизита для выбора одного элемента.
Так вот назначить тип не получается. А потом еще как то это хранить в БД нужно.

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

ОписаниеТипа = Новый ОписаниеТипов(«СправочникСсылка.Организации»);
ЭлементыФормы.Организация.ОграничениеТипа = ОписаниеТипа;
ЭлементыФормы.Организация.Значение = ОписаниеТипа.ПривестиЗначение();
ЭлементыФормы.ВыбиратьТип = Ложь; //это на всякий случай

вот тогда при очистке значения реквизита не будет необходимости заново выбирать тип реквизита

(6): спасибо за подробный пример, но в итоге тип значения остается по прежнему строковым, при том что ОписаниеТипа установилось как надо (((
Плюс ко всему в поле ввода ничего не получается вести кнопка выбора срабатывает впустую, вручную ни одного символа не получается ввести.

приведите еще пример пожалуйста.

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

присваивал как пустую ссылку, так и конкретное значение. Перебрал много вариантов:

1.
Фирма=Справочники.Фирмы.найтипокоду(«00000001»).Ссылка;
ЭлементыФормы.фирма.Значение = Фирма;
2.
Фирма=Справочники.Фирмы.найтипокоду(«00000001»);
ЭлементыФормы.фирма.Значение = Фирма;
.

Реквизиты Доступность и Только Просмотр проверял.
но доступа к списку справочника почему то нет (((
навреное потому, что тип значения поля ввода на самой форме продолжает оставаться строковым.

Источник

Особенности работы связи по типу у поля ввода

У элемента формы «Поле ввода» есть возможность настройки связи по типу. Связь по типу позволяет автоматически ограничивать набор допустимых типов поля ввода, в зависимости от значения какого-либо реквизита. Эта возможность, в частности, используется для настройки зависимости значения субконто от вида субконто. Если связь настроена, то при изменении значения вида субконто в поле ввода значения субконто будет автоматически ограничен тип. То есть пользователю при вводе значения субконто будут доступны только значения тех типов, которые определены у вида субконто.

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

Допустим, существует документ, у которого есть реквизиты Вид и Значение, соответственно хранящие вид и значение субконто. У вида субконто изменили тип. Тогда при открытии документа у поля ввода, связанного с реквизитом Значение, отработает связь по типу. Доступные типы поля ввода будут ограничены по виду субконто, но значение реквизита не должно измениться, так как иначе пользователь не увидит настоящего значения реквизита, а увидит уже приведенное значение.

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

Например, есть форма, в которую вставлены поля ПолеВводаВидСубконто, ПолеВводаЗначениеСубконто, и они связаны с реквизитами формы ВидСубконто и ЗначениеСубконто соответственно. У элемента формы ПолеВводаЗначениеСубконто настроена связь по типу с реквизитом формы ВидСубконто. Для того чтобы связь работала корректно, нужно событию ПриИзменении поля ввода ПолеВводаВидСубконто назначить обработчик следующего содержания:

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

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

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

Источник

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

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

1с установить тип в поле ввода

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

1с установить тип в поле ввода

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

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

1с установить тип в поле ввода

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

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

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

1с установить тип в поле ввода

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

1с установить тип в поле ввода

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

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

1с установить тип в поле ввода

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

1с установить тип в поле ввода

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

1с установить тип в поле ввода

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

1с установить тип в поле ввода

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

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

1с установить тип в поле ввода

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

1с установить тип в поле ввода

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

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

1с установить тип в поле ввода

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

1с установить тип в поле ввода

1с установить тип в поле ввода

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

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

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

1с установить тип в поле ввода

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

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


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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *