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

Записка по работе в 1С с управляемой форме.


ЭтоНовый() в увправляемой форме

Если  НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда 
  ...
КонецЕсли;
Наверх


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

Объект.Реквизит = "значение";

Для реквезитов на форме:

ЭтаФорма.Реквизит = "значение";
Наверх


Получение пустой ссылки или предопределенного значения.

ПредопределенноеЗначение("Справочник.Контрагенты.ПустаяСсылка")
Наверх


Открыть форму

стрПараметры = Новый Структура("Ключ", СсылкаНаКонтрагента);
ФормаОснования = ПолучитьФорму("Справочник.Контрагенты.ФормаОбъекта", стрПараметры);
ФормаОснования.Открыть();

или по умолчанию

ОткрытьЗначение(СсылкаНаКонтрагента);
Наверх


Фунции отвечающие за обмен данных с формой на сервере.

  • РеквизитФормыВЗначение- Преобразует указанный реквизит формы в объект прикладного типа.
  • ЗначениеВРеквизитФормы — Преобразует объект прикладного типа в реквизит управляемой формы
  • ДанныеФормыВЗначение — Преобразует данные формы в объект прикладного типа.
  • ЗначениеВДанныеФормы — Преобразует объект прикладного типа в универсальный объект данных.
Наверх


На сервере обратиться к функции находящейся в модуле объекта.
Пример для обработки. Функция в модуле объекта зовется ОбсчитатьДанные.

&НаСервере
Процедура ПересчитатьНаСервере()
	ДокументОбъект = РеквизитФормыВЗначение("Объект");
	ДокументОбъект.ОбсчитатьДанные();
	ЗначениеВРеквизитФормы(ДокументОбъект,"Объект");
КонецПроцедуры
Наверх


Внешняя обработка: из модуля формы вызвать процедуру в модуле объекта

&НаСервере
Процедура СерверПроцедура();
	ЭтотОбъект = РеквизитФормыВЗначение("Объект");
	ЭтотОбъект.МодульОбъектаПроцедура();
КонецПроцедуры	

&НаКлиенте
Процедура КомандаНаКлиенте(Команда)
	СерверПроцедура();
КонецПроцедуры
Наверх


ПолучитьМакет

&НаСервере
Функция ПолучитьМакетНаСервере(ИмяМакета)
    ЭтотОбъект=РеквизитФормыВЗначение("Объект");
    Макет = ЭтотОбъект.ПолучитьМакет(ИмяМакета); 
    Возврат Макет;
КонецФункции
Наверх


Получение расшифровки для текущей ячейки СКД
«Результат» — поле табличного документа.

&НаСервере
Функция ПолучитьЗначениеРасшифровки(КодРасшифровки)
	Если КодРасшифровки = Неопределено тогда
		Возврат Неопределено;
	КонецЕсли;

	ДР=ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
	КоллекцияПолей = ДР.Элементы[КодРасшифровки].ПолучитьПоля();

	Если КоллекцияПолей.Количество() = 0 тогда
		Возврат Неопределено
	Иначе
		Возврат КоллекцияПолей[0].Значение ;
	КонецЕсли;
КонецФункции

&НаКлиенте
...
РасшифровкаЗначение = ПолучитьЗначениеРасшифровки(Результат.ТекущаяОбласть.Расшифровка);
...
Наверх


Обратиться к «видимым» строкам таблицы значения
На форме расположен таблица «табДанные». Берет данные из таблицы значения «тзДанные».
Имееться булевое поле «Выбран» которое надо проставить в Истина для тех строк которые видны после поиска.

НомСтроки = -1;
МаксНомер = тзДанные.Количество();
		
Пока НомСтроки < МаксНомер цикл
	НомСтроки = НомСтроки + 1;		
	ДанныеСтрока = Элементы.табДанные.ДанныеСтроки(НомСтроки); 		
	
	Если ДанныеСтрока <> Неопределено тогда
		ДанныеСтрока.Выбран = Значение;				
	КонецЕсли;							
КонецЦикла;
Наверх


Получить данные из текущей строки таблицы
Таблица «ОтклонениеПоВыручке» ссылаеться на одноименную табличную часть в документе.

ИдСтроки = Элементы.ОтклонениеПоВыручке.ТекущаяСтрока;	
ДанныеСтроки = Объект.ОтклонениеПоВыручке.НайтиПоИдентификатору(ИдСтроки);
Наверх

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

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