Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 03:56

Выбор из ТЧ справочника в поле ТЧ документа

Автор Rnshar, 01 июл 2013, 09:45

0 Пользователей и 1 гость просматривают эту тему.

Rnshar

Начинающий просит о помощи...
Путем проб и ошибок написал код заполняющий поле Тема ТЧ документа.

&НаКлиенте
Процедура ПрограммаТемаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   
   СтандартнаяОбработка = Ложь;
   //Список=Элемент.СписокВыбора;
   ТС=Элементы.Программа.ТекущиеДанные;
   сп= МояОбработкаВыбораГруппы(ТС.ТГруппа);           
   ТС.Тема=ВыбратьИзСписка(Сп,Элементы.ПрограммаТема);
КонецПроцедуры                                             
 
&НаСервереБезКонтекста
Функция МояОбработкаВыбораГруппы(ИскомыйЭлемент)
   Список= Новый СписокЗначений;
   ук=Справочники.ПрограммаОбучения.НайтиПоНаименованию(ИскомыйЭлемент.Программа);
   Для Каждого ТекущаяСтрока Из Ук.ТЧПрограммаОбучения Цикл
      Список.Добавить(ТекущаяСтрока.ТемаЗанятий);
   КонецЦикла; 
   Возврат Список;
КонецФункции

Все работает - выбирает и запоминает в поле, однако только если в свойствах реквизита ТЧ Тема указать строка -80(длина реквизита справочника). При попытке записать реквизит Тема как СправочникСсылка.ТемыЗанятий, чтобы хранить не само значение справочника, а ссылку на него- в поле не сохраняется эта ссылка.
Желание не праздное, ведь если в справочнике изменить значение реквизита в ТЧ документа автоматом оно не исправится...

wise

Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Rnshar

Отладчик молчит, даже не ругается - а поле остается незаполненным, хотя список показывает правильно и дает из него выбрать...
А может список значений заполняется не ссылками а значениями?
Добавлено: 01 июл 2013, 10:04


Попробовал изменить строчку       
   Список.Добавить(ТекущаяСтрока.ТемаЗанятий);   
на
   Список.Добавить(ТекущаяСтрока.ТемаЗанятий.Ссылка);

результат тот же

wise

Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Rnshar

В конфигурации на закладке данные реквизит ТЧ Тема - СправочникСсылка.ТемыЗанятий
в представлении поля на форме - Объект.Программа.Тема
команда    Сообщить(ТипЗнч(ТС.Тема));
выдает Темы Занятий - Синоним Наименования Справочника ТемыЗанятий...

wise

ВыбратьИзСписка
Возвращаемое значение:

Тип: ЭлементСпискаЗначений; Неопределено.
Выбранный элемент списка или Неопределено, если пользователь отказался от выбора.
/*************************************************/
Получай значение элемента!

вместо{ТС.Тема=ВыбратьИзСписка(Сп,Элементы.ПрограммаТема);}
надо {ТекТема = ВыбратьИзСписка(Сп,Элементы.ПрограммаТема);
        Если ТекТема <> Неопределено Тогда
            ТС.Тема = ТекТема.Значение;
        КонецЕсли;}
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Rnshar


wise

Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск