Имя: Пароль:
1C
1С v8
как установить значение списка выбора для колонки тп
0 sv201
 
12.03.13
18:35
Добрый день

Не получается сохранить значение списка выбора для колонки ТП.

Вот синтаксис кода:

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
СписокЗнач = Новый СписокЗначений;
СписокЗнач.Добавить(Перечисления.ВидыАттестации.ПервичнаяАттестация, "ПА");
СписокЗнач.Добавить(Перечисления.ВидыАттестации.ПродлениеСрока, "ПС");

ЭлементыФормы.ТабличноеПоле1.Колонки.ВидАттестации.ЭлементУправления.СписокВыбора = СписокЗнач;
конецПроцедуры

Если использовать данную процедуру то получается выбрать из списка, но не сохраняется представление списка, при новом открытия документа в колонке табличного поля представлена представление перечисления?
1 Reset
 
12.03.13
18:38
Ну разумеется, в ТЧ - помещается ссылка, соответственно отображается ее представление.
Хочется показать другое представление - используй ПриВыводеСтроки или ПриПолученииДанных
2 zladenuw
 
12.03.13
18:39
Процедура ТабличноеПолеСписокНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
   Если ЗначениеЗаполнено(ЭлементыФормы.ТабличноеПолеSQL.ТекущаяСтрока.АдресВSQL) Тогда
        ВремСписок = ЭлементыФормы.ТабличноеПолеSQL.ТекущаяСтрока.АдресВSQL;
        ВремСписок.СортироватьПоЗначению(НаправлениеСортировки.Возр);
        ЭлементыФормы.ТабличноеПолеSQL.Колонки.АдресВSQL.ЭлементУправления.СписокВыбора =  ВремСписок;
        ЭлементыФормы.ТабличноеПолеSQL.ТекущаяСтрока.АдресВSQL = ВремСписок;
   КонецЕсли;
КонецПроцедуры
3 sv201
 
12.03.13
18:55
не срабатывает что-то:

Процедура ТабличноеПоле1ВидАттестацииНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
   
ВремСписок = ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока.ВидАттестации;
        ЭлементыФормы.ТабличноеПоле1.Колонки.ВидАттестации.ЭлементУправления.СписокВыбора =  ВремСписок;
        ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока.ВидАттестации = ВремСписок;    

КонецПроцедуры
4 sv201
 
12.03.13
19:10
???
5 zladenuw
 
12.03.13
19:28
6 sv201
 
12.03.13
19:41
Задачу решил с помощью подсказки Reset, с помощью процедуры
ПриВыводеСтроки

Процедура ТабличноеПоле1ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
  ОформлениеСтроки.Ячейки.ВидАттестации.ОтображатьТекст = Истина;
 
  Если ДанныеСтроки.ВидАттестации = Перечисления.ВидыАттестации.ПервичнаяАттестация Тогда
      ТекстКолонки="ПА"
  ИначеЕсли ДанныеСтроки.ВидАттестации = Перечисления.ВидыАттестации.ПродлениеСрока Тогда
      ТекстКолонки="ПС"
  ИначеЕсли ДанныеСтроки.ВидАттестации = Перечисления.ВидыАттестации.РасширениеОбластиАттестации Тогда
      ТекстКолонки="РОА"    
  ИначеЕсли ДанныеСтроки.ВидАттестации = Перечисления.ВидыАттестации.ПовторнаяАттестация Тогда
      ТекстКолонки="ПВА"
  ИначеЕсли ДанныеСтроки.ВидАттестации = Перечисления.ВидыАттестации.ПродлениеСРасширением Тогда
      ТекстКолонки="ПСР"
  ИначеЕсли ДанныеСтроки.ВидАттестации = Перечисления.ВидыАттестации.ПБ Тогда
      ТекстКолонки="ПБ"
  КонецЕсли;
  ОформлениеСтроки.Ячейки.ВидАттестации.Текст = ТекстКолонки;
КонецПроцедуры


В тело основной программы прописал следующий текст:

СписокЗнач = Новый СписокЗначений;
СписокЗнач.Добавить(Перечисления.ВидыАттестации.ПервичнаяАттестация, "ПА");
СписокЗнач.Добавить(Перечисления.ВидыАттестации.ПродлениеСрока, "ПС");
СписокЗнач.Добавить(Перечисления.ВидыАттестации.РасширениеОбластиАттестации, "РОА");
СписокЗнач.Добавить(Перечисления.ВидыАттестации.ПовторнаяАттестация, "ПВА");
СписокЗнач.Добавить(Перечисления.ВидыАттестации.ПродлениеСРасширением, "ПСР");

ЭлементыФормы.ТабличноеПоле1.Колонки.ВидАттестации.ЭлементУправления.СписокВыбора = СписокЗнач;

Задача решена!!!
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший