Как получить доступ к реквизитам формы?
Этот цикл позволяет просмотреть имена а так же типы всех реквизитов формы, в том числе такие реквизиты как надписи, командные панели и тд.
Реквизиты формы могут быть различных типов. Поставив фильтр в виде типа реквизита мы можем просмотреть реквизиты определенного типа.
Если реквизит формы имеет тип «ТабличноеПоле», то можно такой элемент просканировать во вложенном цикле и узнать имена колонок таблицы:
Как получить значение отдельного реквизита формы?
Чаще требуется получать не массив реквизитов формы, а значение отдельных конкретных реквизитов формы. Например реквизиты «Шапки» или «Подвала» формы документа.
Реквизиты шапки могут иметь различные типы: Дата, СправочникСсылка, ЧекБокс, элемент раскрывающегося списка и др.
Как получить значение элементов табличной части формы?
Доступ к табличной части формы через объект
Доступ к табличной части формы (например: Товары) можно получить через объект:
Доступ к табличной части формы через ЭлементыФормы
Для того, чтобы код работал правильно, надо чтобы колонка формы табчасти объекта в свойстве данные ссылалась на реквизит табличной части объекта. Этим определяется тип колонки таб части формы.
То есть должна быть установлена связь между реквизитом табчасти объекта и реквизитом табчасти формы. Форм у объекта метаданных может быть много мы знаем. Табличную часть формы объекта можно получить через объект ЭлементыФормы :
Объект ЭлементыФормы используется для доступа к элементам управления, расположенным на форме, в частности к таб части документа.
Результат для документа Авансовый отчет:
Это табличное поле!! Товары
Количество строк: 4
Женские ботфорты коричневые
Ботинки женские демисезонные
Ботинки женские натуральная кожа
Женские босоножки
Результат для документа Авансовый отчет:
Это табличное поле!! ВыданныеАвансы
=======================
НомерСтроки 1
ДокументАванса Расходный кассовый ордер ТК000000004 от 15.02.2007 19:24:03
СуммаДокументаАванса 300
ВалютаДокументаАванса USD
Выдано 300
Сумма 174
Такое двойное сканирование удобно использовать для быстрой проверки того, что все колонки таб части формы имеют связь с реквизитами таб части объекта. Если такой связи у какой-либо колонки нет, система сгенерирует ошибку.
Шаблон кода: Как в 1С обратиться к элементу формы
ОБЫЧНЫЕ ФОРМЫ
Для того чтобы обратиться к элементу формы из модуля объекта этой формы и передать значение в переменную:
Шаблон кода:
мМойДокумент = ЭтотОбъект.Ссылка.ПолучитьФорму(«ФормаДокумента»); // получаем форму документа
НашаПеременная = мМойДокумент.ЭлементыФормы.Дата.Значение; // передаем значение переменной
Для того чтобы обратиться к элементу формы из модуля формы документа:
Шаблон кода:
УПРАВЛЯЕМЫЕ ФОРМЫ
Для того чтобы обратиться к элементу формы из модуля формы документа:
Для того чтобы программно установить значение поля в табличной части документа в :
В данном случае при изменении поля ТекущаяДата происходит автозаполнение поля ОстатокОплаченыхДней.
Процедура ТабличнаяЧасть1ПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
ТекущаяДата = Формат (ТекущаяДата (), «ДФ=dd.MM.yyyy» );
Если НоваяСтрока И Не Копирование Тогда
Элемент.ТекущиеДанные.ТекущаяДата = ТекущаяДата;
Элемент.ТекущиеДанные.Комментарий = «наш комментарий»;
КонецЕсли;
КонецПроцедуры
Для того чтобы записать какие-то данные в поле управляемой формы нужно создать прямо на форме элемент (реквизит создавать не нужно), например, поле ввода и прописать для него, например, результат функции в модуле формы:
Процедура ПриОткрытии(Отказ)
Реквизит1 = ПодсчетИтогаКассы();
КонецПроцедуры
Обращение к элементам формы
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Не удается обращение к элементам и методам формы из другой формы
Добрый день, Создал 2 формы, на второй есть паблик метод, элемент и несколько переменных, доступа.
Обращение из родительской формы к элементам второй формы
Помогите пожалуйста, надо динамически вывести dataGridView с таблицами данных из БД на дочернюю.
Обращение из первой формы к элементам второй формы
Имеются две формы задача при нажатии на одну кнопку скрывать некоторые данные со второй формы, а.
Решение
То пишет ту же ошибку: Переменная ЭлементыФормы не определена
Добавлено через 39 минут
Еще одна проблема: При изменении флажка пытаюсь отчистить поле ГосНомерКузова, но выдает ошибку что поле недоступно, хотя очистить его пытаюсь, когда оно еще доступно.
Обращалась к полю редактирования еще так Элементы.ГосНомерКузова.ТекстРедактирования=»»; но ничего не вышло
Обращение к элементам формы
Всем привет..такой вот вопрос. Можно ли обратиться к элементу формы по индексу? И можно ли.
Обращение к элементам формы
Хочу из cpp сменить свойство (Text) элемента textBox1. При Form1->textBox1->Text = «Test»; выдает.
Обращение к элементам формы из JavaScript
Добрый вечер. У меня такая проблема. Занимаюсь с формами. Страница наполнена различными.
Обращение к элементам формы из класса
Как из класса test.cs присвоить значение textbox1 из формы Form1?
Обращение к строке формы
с такой записью не получается.
объясню подробнее: я делаю печатную форму (гарантийный талон) и мне нужно в справочнике Номенклатура при выборе номенклатуры печатать гарантийник с его полным названием. вот думаю как получить.
Если печать делается из формы списка справочника, то:
Ответил как понял вопрос
(8) WhiteDragon, кстати, а где тогда находится «кнопка» по нажатии на которую нужно распечатать?
В модуле объекта ее быть не может
Пожалуйста сильно не пинайте за нубство.
Еще раз объясню что мне нужно: у меня есть справочник номенклатура. при выборе строки из формы списка и нажав на кнопку печать, у меня должен печататься макет, в котором должно быть наименование номенклатуры из этой строки. вот как мне его получить, чтобы запихнуть на макет?
(12) WhiteDragon, Если «кнопка», которую нужно нажать, находится в форме списка справочника, то отсылаю к (5), т.е.
и запихивай, текСсылку в макет.
В общем как-то так.
Что нужно сделать, чтобы в закомментированную строку запихнуть наименование номенклатуры из выделенной строки формы списка?
(17) WhiteDragon, тогда добавь параметр в процедурах
ПечатьГТ(ТекСсылка) экспорт
ПечатьГТалона(ИмяМакета, ТекСсылка );
ПечатьГТалона (ИмяМакета,ТекСсылка) экспорт.
ОбластьГТалон.Параметры.НаимПолное = ТекСсылка.Наименование; // или ПолноеНаименование или что-то еще
.
КонецПроцедуры
а на форме (на кнопке) напиши
т.е. передай «ТекущаяСтрока» как параметр в процедуры модуля
Как получить значение элемента формы 1С
1. Реквизиты объекта и реквизиты формы в 1С
В обычном приложении у элемента формы 1С 8.3 было свойство «Значение», доступное как для чтения, так и для записи. Какой аналог в управляемом приложении?
Элементы формы 1С 8.3 могут содержать реквизиты двух видов: реквизиты объекта 1С и реквизиты формы.
Красным помечен реквизит объекта 1С Контрагент, а зеленым – реквизит формы в 1С.
Интерактивно выберем эти элементы в пользовательском режиме 1С и попробуем прочитать их «программно» кнопкой «Прочитать».
Если читать значения реквизитов в клиентской процедуре, то код для 1С Предприятия будет следующий:
Все бы хорошо: мы получили на клиенте значения реквизитов объекта 1С и формы, но – не значения элементов формы 1С. На клиенте значение элементов формы 1С получить нельзя.
2. Как получить значения из элементов формы 1С
Чтобы получить значения из элементов формы 1С, нам потребуется серверный вызов:
Именно на сервере у элемента формы 1С 8.3 становится доступно свойство ПутьКДанным, по которому его можно извлечь либо из Объекта, который имеет тип ДанныеФормыСтруктура:
…либо из Формы, которая имеет тип ФормаКлиентскогоПриложения:
Форма и ее элементы не видны на сервере без контекста. То есть код для 1С:Предприятия выдаст множество ошибок.
Также Форму нельзя передать как параметр в процедуру и функцию на сервер или в общий модуль.
Новое значение доступно как параметр процедуры ВыбранноеЗначение.
Система дает шанс что-то сделать в этой ситуации.