Имя: Пароль:
1C
1С v8
Вывод произвольного текст в табличной части в управляемых формах
0 yurii-syrkin
 
06.03.13
19:11
Здравствуйте. Недавно начал разбираться с управляемыми формами. Подскажите пожалуйста как реализовать следующий код, который с успехом выполнялся в обычных формах в процедуре ПриВыводеСтроки:
ОформлениеСтроки.Ячейки.ТранспортноеСредство.УстановитьТекст(ГаражныйНомер)
1 Конфигуратор1с
 
06.03.13
19:12
(0) Динамический список
2 Конфигуратор1с
 
06.03.13
19:13
(0) НА форму помещаете динамический список, ставите флаг - произвольный запрос и пишете текст запроса, где левым соединением вытягиваете необходимые данные
3 yurii-syrkin
 
06.03.13
19:17
Ну ведь это же табличная часть документа, как из нее сделать динамический список?
4 Конфигуратор1с
 
06.03.13
19:21
(3) хорошо, гаражный номер тогда что?
5 yurii-syrkin
 
06.03.13
19:24
ГаражныйНомер это строка, которая получается из функции ПолучитьРеквизитыТранспортногоСредства(ТранспортноеСредство), где ТранспортноеСРедство это элемент справочника Основные средства. Вообще в табличной части документа реквизит "ТранспортноеСРедство" имеет тип "СправочникСсылка.ОсновныеСредства", а пользователю выводится только гаражный номер, а не представление основного средства
6 Конфигуратор1с
 
06.03.13
19:26
(5) Ну так на форме выводите поле где путь к данным указываете  
ТранспортноеСредство.Гаражныйномер а для ТранспортноеСредство делаете видимость ложь и все
7 yurii-syrkin
 
06.03.13
19:31
А как пользователь выбирать будет транспортное средство из справочника основных средств. В обычной форме было реализовано так: при нажатии на кнопку выбора транспортного средства открывалась форма выбора справочника транспортныеСредства (из каждого транспортного средства есть ссылка на соответствующее основное средство) пользователь выбирает транспортно средство, форма выбора возвращала основное средство и когда выходил из режима редактирования строки, срабатывала процедура ПриВыводеСтроки, которая через функцию выводила вместо представления основного средства гаражный номер
8 Конфигуратор1с
 
06.03.13
19:39
(7) ну и в чем проблема собственно?
9 Конфигуратор1с
 
06.03.13
19:41
(7) Обработчик события Перед началом добавления Вам в помощь
10 Maniac
 
06.03.13
19:46
Для Каждого ВыборкаПартнер Из ВозможныеПоставщики Цикл    
       ИмяКолонки = ВыборкаПартнер.ИмяКолонки;
       
       Если ВыборкаПартнер.Пометка Тогда            
           ЦветЗаголовка = Неопределено;
           ЦветФона      = Неопределено;
           КартинкаШапки = Неопределено;
           
           ИмяГруппы = ""+Строка(ВыборкаПартнер.Ссылка)+" ("+ВыборкаПартнер.Соглашение+")";
                       
           НоваяГруппа = ДобавитьГруппуФормы("ГруппаПартнер" + ИмяКолонки, ИмяГруппы, Истина, КартинкаШапки, ГруппировкаКолонок.Горизонтальная);
           
           НовоеПоле = ДобавитьПолеФормы("Соглашение"   + ИмяКолонки,НСтр("ru='Соглашение'"),,, 10, ЦветФона, ЦветФона, НоваяГруппа,,,Истина);
           НовоеПоле = ДобавитьПолеФормы("УсловиеЦены"  + ИмяКолонки,НСтр("ru='Условие цены'"),,, 10, ЦветФона, ЦветФона, НоваяГруппа,,,Истина);
           НовоеПоле = ДобавитьПолеФормы("ЦенаПоставщика"      + ИмяКолонки,НСтр("ru='Цена '"),,, 10, ЦветФона, ЦветФона, НоваяГруппа,,,Истина);
           НовоеПоле = ДобавитьПолеФормы("ЗаказатьПоставщик"   + ИмяКолонки,НСтр("ru='Заказать'"),"ТаблицаНоменклатурыПриИзменении",, 10, ЦветФона, WebЦвета.СветлоЗеленый, НоваяГруппа,,,Ложь);
           Если МегапрайсИспользоватьОстаткиПоставщиков Тогда
               НовоеПоле = ДобавитьПолеФормы("ОстатокПоставщика"   + ИмяКолонки,НСтр("ru='Остаток'"),,, 10, ЦветФона, ЦветФона, НоваяГруппа,,,Истина);
           КонецЕсли;
           
           // Условное оформление
           НовыйЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
           НовыйЭлементУсловногоОформления.ИдентификаторПользовательскойНастройки = ИмяКолонки;
           НовыйЭлементУсловногоОформления.Представление = "СозданоПрограммно";
           НовыйЭлементУсловногоОформления.Использование = Истина;
           
           ЭлементОтбора = НовыйЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
           ЭлементОтбора.Использование = Истина;
           ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТаблицаНоменклатуры.МинимальнаяЦена");
           ЭлементОтбора.ВидСравнения  = ВидСравненияКомпоновкиДанных.Больше;
           ЭлементОтбора.ПравоеЗначение = Новый ПолеКомпоновкиДанных("ТаблицаНоменклатуры.ЦенаПоставщика"+ИмяКолонки);
           
           НовоеПоле = НовыйЭлементУсловногоОформления.Поля.Элементы.Добавить();
           НовоеПоле.Использование = Истина;
           НовоеПоле.Поле = Новый ПолеКомпоновкиДанных("ТаблицаНоменклатурыЦенаПоставщика"+ИмяКолонки);
           
           НовыйЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Шрифт", Новый Шрифт(,,Истина));
           НовыйЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ПользовательВыбранный);
       КонецЕсли;        
   КонецЦикла;
11 Maniac
 
06.03.13
19:46
и делай там чо хочешь.
у условных оформлений есть текст.
12 yurii-syrkin
 
06.03.13
22:55
Великодушно благодарю!
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс