|   |   | 
| 
 | Как в управляемом приложении открыть форму починенного справочника? | ☑ | ||
|---|---|---|---|---|
| 0
    
        Knowledge 20.11.12✎ 15:30 | 
        Вопрос: Как в управляемом приложении открыть форму починенного справочника?
  Именно программно, а не с помощью команды, указав её в настройках формы. Кстати форма списка у подчиненного справочника явно не описана в конфигураторе. Тема, наверное, заезженная, но у меня что-то не получается. Я попробовал такой код: Процедура ОткрытьФормуПодчинённогоСправочникаНажатие(Элемент) ФормаПодчиненных= ПолучитьФорму("Справочник.РасчетныеСчетаКонтрагентов.ФормаСписка",); Список = ФормаПодчиненных.Список; ЭлементыОтбора = Список.Отбор.Элементы; ЭлементыОтбора.Очистить(); ЭлементОтбора =ЭлементыОтбора.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = ВыбКонтрАгент; ФормаПодчиненных.Открыть(); КонецПроцедуры// ОткрытьФормуПодчинённогоСправочникаНажатие Здесь ВыбКонтрАгент – реквизит формы, справочник «РасчетныеСчетаКонтрагентов» подчинён справочнику «Контрагенты». При исполнении этой процедуры открывается форма списка справочника «РасчетныеСчетаКонтрагентов» без отбора (показаны все элементы справочника). В меню «Все действия»- «настройка списка» на закладке «отбор» появляется активная строка (отмечена галочкой): «Поле»- Контрагент, «Вид сравнения»- Равно, «Значение» - значение реквизита «ВыбКонтрАгент». Только в колонке «поле» Контрагент отмечен красным крестиком. Если здесь же перевыбрать колонку «Поле» и выбрать его как Контрагент, то отбор срабатывает. Может в код нужно что - добавить или он вообще неправильный? | |||
| 1
    
        1Сергей 20.11.12✎ 15:31 | 
        см параметры ПолучитьФорму     | |||
| 2
    
        Сергей Д 20.11.12✎ 15:34 | 
        Понравилась тема - починенного справочника. :)     | |||
| 3
    
        5 Элемент 20.11.12✎ 15:38 | 
        ПараметрыФормы = Структура("Отбор", Структура("Контрагент", ВыбКонтрАгент));
  ОткрытьФорму("", ПараметрыФормы); | |||
| 4
    
        Knowledge 20.11.12✎ 15:52 | 
        <Параметры> (необязательный)
  Тип: Структура. Параметры формы. Ключ структуры - имя параметра, а значение - значение параметра формы. Имя элемента должно совпадать с именем параметра структуры Расширение управляемой формы для справочника (Managed form extension for catalogs) Ключ (Key) Использование: Ключевой. Описание: Тип: СправочникСсылка. Ключ объекта. В случае отсутствия или неверного значения создается новый объект с использованием остальных параметров. Другие свойства расширения формы: ЗначениеКопирования, ЗначенияЗаполнения, Ключ, Основание, ЭтоГруппа. Разве это имеет отношение к отбору? Сделал: ПараметрыФормы = Новый Структура("Отбор", Новый Структура("Контрагент", ВыбКонтрАгент)); ФормаПодчиненных= ПолучитьФорму("Справочник.РасчетныеСчетаКонтрагентов.ФормаСписка",ПараметрыФормы); ФормаПодчиненных.Открыть(); Не помогает. | |||
| 5
    
        Knowledge 20.11.12✎ 15:54 | 
        (4)+ Это к посту (3)     | |||
| 6
    
        Knowledge 20.11.12✎ 16:05 | 
        ну и...     | |||
| 7
    
        MSII 20.11.12✎ 16:09 | 
        Поди не контрагент, а владелец.     | |||
| 8
    
        5 Элемент 20.11.12✎ 16:12 | 
        (7) скорее всего, но я спецом взял его код, чтобы он включил мозги, но видно не судьба )     | |||
| 9
    
        Knowledge 20.11.12✎ 16:16 | 
        (7) Точно. спасибо (8) Мозги включил.     | |||
| 10
    
        Knowledge 20.11.12✎ 16:37 | 
        (9)+ Кстати в в моём коде если изменить
  ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент"); На: ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Владелец"); То тоже всё работает. Просто с толку сбило, что в режиме "Предриятие" это поле обзывается "Контрагент" Думать нужно глубже :) | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |