8.х Связанные списки

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

  1. TopicStarter Overlay
    nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.991
    Симпатии:
    399
    Баллы:
    104
    Доброго времени суток. Есть справочник организации. И есть документ, в табличной части которого есть перечень этих организаций. Как сделать так, чтобы в ФормеСписка организаций при активизации строки (с определенной организацией) появлялись те строки табличной части где эта организация фигурирует. Вот еще скрин для наглядности.
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    Как понял вопрос, так отвечаю: сделай у колонки ОРГАНИЗАЦИЯ тип значения СПРАВОЧНИКССЫЛКА.ОРГАНИЗАЦИИ
  3. TopicStarter Overlay
    nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.991
    Симпатии:
    399
    Баллы:
    104
    Надо чтобы при нажатии в этом списке справочника на любую организацию, в нижнем табличном поле появлялись строки табличной части документа, где эта организация фиксируется.
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    это как минимум запрос, что-то вроде:

    запрос = новый запрос;
    запрос.текст = "выбрать ссылка из документ.<Нужныйдокумент> где организация = &организация";
    запрос.установитьпараметр("организация",Элемент.ТекущаяСтрока);

    элементыформы.<ТабличноеПоле>.Данные = Запрос.Выполнить().Выгрузить();
    элементыФормы.Создатьколонки();

    и все это поместить в процедуру "ПриАктивизацииСтроки" ТЧ списка организаций.
  5. TopicStarter Overlay
    nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.991
    Симпатии:
    399
    Баллы:
    104
    Код:
    Процедура СправочникСписокПриАктивизацииСтроки(Элемент)
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |    ВыездыККлиентамПодробности.Дата,
    |    ВыездыККлиентамПодробности.Организация,
    |    ВыездыККлиентамПодробности.ТипВыезда,
    |    ВыездыККлиентамПодробности.СуммаОплаты
    |ИЗ
    |    Документ.ВыездыККлиентам.Подробности КАК ВыездыККлиентамПодробности
    |ГДЕ
    |    ВыездыККлиентамПодробности.Организация = &Организация";
    
    Запрос.УстановитьПараметр("Организация", Элемент.ТекущаяСтрока);               
    ЭлементыФормы.ТабличноеПоле1.Данные = Запрос.Выполнить().Выгрузить();
    ЭлементыФормы.ПолучитьКолонки();
    КонецПроцедуры
    
    
    
    Вот текст процедуры. И велезает вот такая ошибка "{Справочник.Организации.Форма.ФормаВыбора(15)}: Ошибка при установке значения атрибута контекста (Данные): Неправильный путь к данным
    ЭлементыФормы.ТабличноеПоле1.Данные = Запрос.Выполнить().Выгрузить();"
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    прошу пардону:
    нужно написать
    ЭлементыФормы.ТабличноеПоле1.Значение = Запрос.Выполнить().Выгрузить();
    и таки вместо ЭлементыФормы.ПолучитьКолонки() делать ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки()


    Это сделано на скорую руку. Можно заморочится "кэшированием", т.е. использовать вместо "ПриАктивизацииСтроки" процедуру "ПриПолученииДанных", формировать ТЗ, хранить её и уже в ней искать, а не запрашивать каждый раз данные из БД.
  7. TopicStarter Overlay
    nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.991
    Симпатии:
    399
    Баллы:
    104
    Все получилось. То что надо. Спасибо огромное...

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