7.7 Как организовать подбор из подчиненного справочника в табличной части документа?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Steel Rain, 21 июн 2007.

  1. TopicStarter Overlay
    Steel Rain
    Offline

    Steel Rain Опытный в 1С

    Регистрация:
    29 сен 2006
    Сообщения:
    408
    Симпатии:
    2
    Баллы:
    29
    Доброго времени суток.

    Может у меня уже просто мозг под конец дня ссохся, но никак не соображу: В табличной части документа есть колонка Поставщик в ней хранится значение типа Справочник.Поставщики у этого справочника есть подчиненный Справочник.Местоположение. Соответственно, сделал колонку Местоположение с типом Справочник.Местоположение как сделать, чтобы при редактировании этой колонки вываливался подчиненный справочник? А то у меня справочник Поставщики открывается.
  2. TopicStarter Overlay
    Steel Rain
    Offline

    Steel Rain Опытный в 1С

    Регистрация:
    29 сен 2006
    Сообщения:
    408
    Симпатии:
    2
    Баллы:
    29
    Разобрался "связать с" на вкладке Дополнительно.

    -------------
    З.Ы. можно тему закрыть
  3. densin
    Offline

    densin

    Регистрация:
    25 май 2009
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте.
    Теперь у меня подобная проблема возникла. Не могли бы Вы подсказать, что именно надо написать в поле связан с?
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Смотри картинку

    Вложения:

  5. densin
    Offline

    densin

    Регистрация:
    25 май 2009
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Спасибо большое
  6. densin
    Offline

    densin

    Регистрация:
    25 май 2009
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Возникла еще одна проблема подобного плана.
    Есть 2 справочника: "Контрагенты" и подчиненный ему "Приемные пункты". Как сделать так чтобы при вводе документа при выборе Приемного пункта не выбирать сначала владельца, а выбирать сразу приемный пункт из полного списка? При этом поля "контрагент" нет, чтобы установить связь
  7. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Немного непонятно. А если обин и тот же приемный пункт будет у НЕСКОЛЬКИХ контрагентов? Владельца показывать?
  8. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    В форме списка спр.ПриемныеПункты при открытии
    Иерархический список(0)
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Ага... и как говорил выше увидит:

    Приемный пункт 1
    Приемный пункт 1
    Приемный пункт 1
    Приемный пункт 2
    Приемный пункт 2
  10. densin
    Offline

    densin

    Регистрация:
    25 май 2009
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Да, мне так и нужно.
    Так получается, что со справочником Контрагенты работает только начальник. А с подчиненным справочником Пункты приема работает пользователь и он не должен помнить, у какого контрагента какой приемный пункт. И в форме документа при вводе нужно импользовать только подчиненный справочник, а поля Контрагент вообще нет

    To: Хряк
    Если я использую эту процедуру в справочнике Пункты приема, то мне все равно из формы документа придется сначала выбирать Владельца (т.е. Контрагента), а мне это не нужно, мне нужно сразу попасть в подчиненный справочник Пункты приема.
  11. densin
    Offline

    densin

    Регистрация:
    25 май 2009
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Судя по всему никак не миновать владельца
  12. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Можно иначе - Через список значений.

    Используй процедуру ПриНачалеВыбораЗначения()

    Заполняй Список так: Значение:ПрПункты представление: Владелец-ПрПункты.....
  13. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    В форме документа
    Процедура ПриНачалеВыбораЗначения(РеквизитДиалога,Флаг) //предопределенная
    Если РеквизитДиалога="ПриемныйПункт" Тогда
    Флаг=0;
    ОткрытьПодбор("Справочник.ПриемныеПункты","",Контекст);
    КонецЕсли;
    КонецПроцедуры //ПриНачалеВыбораЗначения
  14. densin
    Offline

    densin

    Регистрация:
    25 май 2009
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Да, так и сделал. Все получилось
  15. GlebHappy
    Offline

    GlebHappy Опытный в 1С

    Регистрация:
    31 июл 2009
    Сообщения:
    113
    Симпатии:
    0
    Баллы:
    26
    Попробовал предложенный Вами способ.
    Использую бюджетную конфигурацию; там есть справочник Фирмы и подчиненный ему справочник ПодведомственныеУчреждения.
    В требуемой форме есть два реквизита - ВыбраннаяФирма, задающая текущий элемент справочника Фирмы, и ПБС, один из подчиненных элементу ВыбраннаяФирма элементов справочника ПодведомственныеУчреждения.
    Воспользовался Вашим фрагментом кода:
    Код:
    Процедура ПриНачалеВыбораЗначения(РеквизитДиалога,Флаг)
    Если РеквизитДиалога="ПБС" Тогда
    Флаг=0;
    ОткрытьПодбор("Справочник.ПодведомственныеУчреждения","",Контекст);
    КонецЕсли;
    КонецПроцедуры
    
    После этого связал реквизит формы ПБС с переменной ВыбраннаяФирма. Однако при открытии выдается пустой список подведомственных учреждений, мол, не задан текущий владелец. Как его можно задать, чтобы он был перманентно равен переменной ВыбраннаяФирма?
    [​IMG]
  16. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Справочник пустой потому что не указали владельца (в шапке спаравочника об этом и сказано: Не задан элемент-владелец)
  17. GlebHappy
    Offline

    GlebHappy Опытный в 1С

    Регистрация:
    31 июл 2009
    Сообщения:
    113
    Симпатии:
    0
    Баллы:
    26
    А как его задать?
    P.S. Пока только начинаю конфигурировать, так что сорри за нубские вопросы :unsure:
  18. GlebHappy
    Offline

    GlebHappy Опытный в 1С

    Регистрация:
    31 июл 2009
    Сообщения:
    113
    Симпатии:
    0
    Баллы:
    26
    Разобрался сам :unsure:
    В модуль формы прописал следующее
    Код:
    Процедура ПриНачалеВыбораЗначения(РеквизитДиалога,Флаг)
    Если РеквизитДиалога="ПБС" Тогда
    Флаг=0;
    Конт = СоздатьОбъект("Справочник.Фирмы");
    Конт = ВыбраннаяФирма;
    ОткрытьПодбор("Справочник.ПодведомственныеУчреждения","",Конт);
    КонецЕсли;
    КонецПроцедуры
    
    А в модуль формы списка спровочника ПодведомственныеУчреждения добавил перехват полученного от модуля формы значения:

    Код:
    Процедура ПриОткрытии()
    
    ИерархическийСписок(1);
    
    Если ТипЗначенияСтр(Форма.Параметр) = "Справочник" Тогда
    Если Форма.Параметр.Вид() = "Фирмы" Тогда
    ИспользоватьВладельца(Форма.Параметр);
    ИерархическийСписок(0,0);
    КонецЕсли;	
    КонецЕсли;
    
    глУстановитьВидимостьКолонок(Контекст, гИдФормы, гСписокКолонок, 1); 
    
    КонецПроцедуры //ПриОткрытии
    
  19. WaRDeR
    Offline

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

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Терпенье и труд....

    :)
  20. porozov2
    Offline

    porozov2

    Регистрация:
    19 янв 2010
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Теперь у меня проблемка возникла.
    Есть Справочник.Контрагенты и подчененный ему Справочник.ТорговыеТочки.
    В форме отчета есть СписокЗначений куда надо организовать подбор из Справочника.ТорговыеТочки.
    То бишь сначала выбрать контрагента, затем уже в форме списка Справочника ТорговыеТочки выбрать Торговую точку и вставить в список на форме. Вообщем так, как работает платформа с полями ввода если они не связаны с другимим реквизитами.
    Наваял след код:
    Код:
    //****************************************************************
    Процедура Подбор(ВидСправочника,Режим, ФРМ="")  
    Если ВидСправочника = "Контрагенты" Тогда 
    ОткрытьПодбор("Справочник.Контрагенты", "ДляВыбора", ,0); 
    ИначеЕсли ВидСправочника = "ТорговыеТочки" Тогда 
    Фрм = КонтрагентДляОтбора;
    ОткрытьПодбор("Справочник.ТорговыеТочки", "ДляВыбора", Фрм,Режим);
    КонецЕсли;
    КонецПроцедуры // ВыбратьИзСправочника()
    //****************************************************************
    Процедура ОбработкаПодбора(ЗначПодбора) 
    Если ТипЗначенияСтр(ЗначПодбора) = "Справочник" Тогда
    Если ЗначПодбора.Вид() = "ТорговыеТочки" Тогда 
    Если СпТТ.НайтиЗначение(ЗначПодбора)=0 Тогда
    СпТТ.ДобавитьЗначение(ЗначПодбора);
    КонецЕсли;
    ИначеЕсли ЗначПодбора.Вид() = "Контрагенты" Тогда 
    КонтрагентДляОтбора = ЗначПодбора.ТекущийЭлемент(); 
    Подбор("ТорговыеТочки", 0);
    КонецЕсли;
    КонецЕсли;
    КонецПроцедуры  
    
    СпТТ - СписокЗначений на форме.
    Т.е. сначала открываю подбор из справочника контрагентов, затем из спр. ТорговыеТочки при этом передавая в качестве параметра формы выбранного до этого контрагента.
    Все работает, но есть нюанс. Форма для выбора из спр. ТорговыеТочки открываеться в фонофом режиме, т.е. ЗА формой отчета.
    Как мне вытащить ее на передний план? Или может есть другой способ организовать подбор?

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