Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Следующая версия Следующая версия справа и слева | ||
common_all:managedforms [2019/04/23 16:36] alexander |
common_all:managedforms [2019/11/14 15:48] alexander |
||
---|---|---|---|
Строка 69: | Строка 69: | ||
Процедура Команда(Команда) | Процедура Команда(Команда) | ||
- | Форма = ПолучитьФорму("Документ.НашДокумент.ФормаОбъекта"); | + | Форма = ПолучитьФорму("Документ.НашДокумент.ФормаОбъекта"); |
- | ДанныеФормы = Форма.Объект; // Получаем объект формы в переменную | + | ДанныеФормы = Форма.Объект; // Получаем объект формы в переменную |
- | ЗаполнитьДокументНаСервере(ДанныеФормы); // Заполняем документ на сервере | + | ЗаполнитьДокументНаСервере(ДанныеФормы); // Заполняем документ на сервере |
- | КопироватьДанныеФормы(ДанныеФормы, Форма.Объект); // копируем наш объект в объект формы и далее открываем ее | + | КопироватьДанныеФормы(ДанныеФормы, Форма.Объект); // копируем наш объект в объект формы и далее открываем ее |
- | Форма.Открыть(); | + | Форма.Открыть(); |
КонецПроцедуры | КонецПроцедуры | ||
// Можно использовать безконтекстный вызов, оптимизируем передачу данных | // Можно использовать безконтекстный вызов, оптимизируем передачу данных | ||
- | |||
&НаСервереБезКонтекста | &НаСервереБезКонтекста | ||
- | |||
Функция ЗаполнитьДокументНаСервере(ДанныеФормы); | Функция ЗаполнитьДокументНаСервере(ДанныеФормы); | ||
- | Док = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.НашДокумент")); // Получаем объект из данных формы ИЛИ | + | Док = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.НашДокумент")); // Получаем объект из данных формы ИЛИ |
- | + | Док = Документы.НашДокумент.СоздатьДокумент(); | |
- | Док = Документы.НашДокумент.СоздатьДокумент(); | + | // Заполняем реквизиты объекта или другие действия ******** |
- | + | ЗначениеВДанныеФормы(Док,ДанныеФормы); // Кладем обратно в объект формы уже созданный документ | |
- | // Заполняем реквизиты объекта или другие действия ******** | + | |
- | + | ||
- | ЗначениеВДанныеФормы(Док,ДанныеФормы); // Кладем обратно в объект формы уже созданный документ | + | |
КонецФункции</code> | КонецФункции</code> | ||
Строка 113: | Строка 108: | ||
// данные | // данные | ||
ЭтаФорма.ОбновитьОтображениеДанных();</code> | ЭтаФорма.ОбновитьОтображениеДанных();</code> | ||
+ | ---- | ||
+ | |||
+ | **Програмное добавление реквизита на управляемую форму** | ||
+ | <code>МассивРеквизитов = Новый Массив; | ||
+ | ОписаниеТипа = Новый ОписаниеТипов("Строка"); | ||
+ | Реквизит1 = Новый РеквизитФормы("Реквизит1", ОписаниеТипа); | ||
+ | МассивРеквизитов.Добавить(Реквизит1); | ||
+ | ИзменитьРеквизиты(МассивРеквизитов);</code> | ||
---- | ---- | ||
Строка 123: | Строка 126: | ||
---- | ---- | ||
- | **Програмное задание условного оформления (жирный шрифт) в таблице на управляемой форме** | + | **Програмное задание условного оформления в таблице на управляемой форме (теперь вместо "ПриВыводеСтроки")** |
<code>ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); | <code>ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); | ||
Строка 136: | Строка 139: | ||
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(элПоля.Имя); | ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(элПоля.Имя); | ||
КонецЦикла;</code> | КонецЦикла;</code> | ||
+ | |||
+ | Раскраска строки при Количестве равном 0: | ||
+ | <code>&НаСервере | ||
+ | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) | ||
+ | |||
+ | УстановитьУсловноеОформление(); | ||
+ | |||
+ | КонецПроцедуры | ||
+ | |||
+ | &НаСервере | ||
+ | Процедура УстановитьУсловноеОформление() | ||
+ | |||
+ | УсловноеОформление.Элементы.Очистить(); | ||
+ | ЭлементУО = УсловноеОформление.Элементы.Добавить(); | ||
+ | |||
+ | // Оформление: цвет текста | ||
+ | ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.Красный); | ||
+ | |||
+ | // Условие: количество в табличной части = 0. | ||
+ | ЭлементУсловия = ЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); | ||
+ | ЭлементУсловия.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Количество"); | ||
+ | ЭлементУсловия.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; | ||
+ | ЭлементУсловия.ПравоеЗначение = 0; | ||
+ | |||
+ | // Оформляемое поле: товар в табличной части. | ||
+ | ОформляемоеПоле = ЭлементУО.Поля.Элементы.Добавить(); | ||
+ | ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("Товары"); | ||
+ | |||
+ | КонецПроцедуры</code> | ||
---- | ---- |