8.х Как выбрать значение из ТЧ элемента справочника?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем parti, 27 дек 2008.

  1. TopicStarter Overlay
    parti
    Offline

    parti

    Регистрация:
    6 июн 2008
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    В справочнике Контрагенты есть элемент справочника "Иванов", у которого есть табличная часть, из которой нужно выбрать его место работы из нескольких представленных в ней.


    Код:
    Процедура МестоРаботыКонтрагентаНачалоВыбора(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка = ЛОЖЬ;
    ВыбранноеЗначение = Справочники.Контрагенты.НайтиПоНаименованию("Иванов");
    Сообщить(ВыбранноеЗначение); 
    Для каждого Стр из ВыбранноеЗначение.ВидыДеятельности Цикл
    ЭлементыФормы.МестоРаботыКонтрагента.СписокВыбора.Добавить( Стр.ВидДеятельности);
    Сообщить(Стр.ВидДеятельности);
    КонецЦикла;
    
    
    КонецПроцедуры
    
    
    Как сделать, чтобы в список выбора попали все значения ТЧ элемента справочника, и пользователь мог выбрать и них какой-то один?
  2. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Просьба, в следующий раз не привлекать внимание "Жалобой".

    Не понял, что за конфигурация, какая табличная часть (структура ее хоть), почему у вас места работы и виды деятельности как-то пересекаются и что вообще происходит.

    Зачем вы получаете выбранное значение Справочники.Контрагенты.НайтиПоНаименованию("Иванов"); - если это просто "Ссылка" в вашей форме. Хотя даже и не знаю... мне кажется вы вообще не то делаете. Если вы из чужой формы пытаетесь перебрать элементы формы другого элемента, то вам ничего не удастся.
  3. TopicStarter Overlay
    parti
    Offline

    parti

    Регистрация:
    6 июн 2008
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Да, мне нужно из чужой формы выбрать значение. Конфигурация просто не типовая..
    Есть справочник Контрагенты. В нем у каждого элемента есть ТЧ - ВидыДеятельности. Одна из колонок этой ТЧ - ВидДеятельности.

    Мне нужно из другого справочника, из его реквизита, с помощью кнопки выбора выбрать из ТЧ (у допустим, Иванова) какое-то одно из значений его видов деятельности. И записать это значение в этот реквизит...
    Если можете, напишите простенький код, как это сделать..или хотя бы алгоритм, буду очень благодарен!
  4. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Смотрите - вы можете выбирать из реквизитов, но не из элементов чужой формы, зачем вам это.

    Я рекомендую посмотреть как заполняется сама эта табличная часть у элемента справочника "Контрагенты". Насколько я понимаю, виды деятельности просто хранятся в ТЧ.

    Вообще искать по наименованиям и т.д. нехорошо, но не буду сейчас сильно заморачиваться.

    Код:
    // Получить элемент справочника контрагенты
    Иванов = Справочники.Контрагенты.НайтиПоНаименованию("Иванов");
    // Перебираем виды деятельности - форма не при чем, все в справочнике
    Для Каждого ВД Из Иванов.ВидыДеятельности Цикл
    Сообщить(ВД.ВидДеятельности);
    КонецЦикла;
    
    
  5. TopicStarter Overlay
    parti
    Offline

    parti

    Регистрация:
    6 июн 2008
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Спс, подскажите, как теперь все эти ВД.ВидДеятельности добавить в список значений для выбора МестоРаботыКонтрагента?
  6. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Посмотрите как в типовой конфигурации формируется список выбора. Посмотрите событие "Начало выбора из списка" и т.д.

    Ну и может вы сформулируете задачу в общем, так как "Выбор из списка как у Иванова" это не очень хорошо, хотя бы с методологической точки зрения. Вдруг у вас в базе будет два Иванова или ни одного...

Поделиться этой страницей