Имя: Пароль:
1C
1С v8
Подскажите, как вынести структуру подчиненности документа, на форму (обычные формы)?
0 SkillUp
 
01.07.20
11:02
Подскажите, как вынести структуру подчиненности документа, на форму (обычные формы)?

Делаю так:

Копирую форму (структура подчиненности, там все поля и ДеревоЗначений) себе на форму. Потом
        
        ФормаСтруктурыПодчиненности = ПолучитьОбщуюФорму("ФормаСтруктурыПодчиненности",ЭтаФорма);
    Если ФормаСтруктурыПодчиненности.Открыта() Тогда
        ФормаСтруктурыПодчиненности.Закрыть();
    КонецЕсли;
    ФормаСтруктурыПодчиненности.ДокументСсылка = Элемент.ТекущаяСтрока;
        ЭтаФорма.ДеревоДокументовФорма = ФормаСтруктурыПодчиненности.ДеревоДокументов;

Структура заполняется, но вот если нажать на документы из структуры, то перехода не происходит (как при стандартном нажатии по кнопке, "структура подчиненности")? Или не так надо делать?
1 SkillUp
 
01.07.20
11:10
Короче, ни кто не знает. Как правильно делать... (
2 SkillUp
 
01.07.20
11:18
(0) Уточню код:

      ФормаСтруктурыПодчиненности = ПолучитьОбщуюФорму("ФормаСтруктурыПодчиненности",ЭтаФорма);
      Если ФормаСтруктурыПодчиненности.Открыта() Тогда
          ФормаСтруктурыПодчиненности.Закрыть();
      КонецЕсли;
      ФормаСтруктурыПодчиненности.ДокументСсылка = Элемент.ТекущаяСтрока;
      ФормаСтруктурыПодчиненности.Открыть();
      ФормаСтруктурыПодчиненности.Закрыть();
      ЭтаФорма.ДеревоДокументов = ФормаСтруктурыПодчиненности.ДеревоДокументов;
      ЭлементыФормы.ДеревоДокументов.НачальноеОтображениеДерева = НачальноеОтображениеДерева.РаскрыватьВсеУровни;

Может и коряво, но хоть как-то выводит структуру подчиненности.
3 SkillUp
 
01.07.20
11:24
Короче так, заполнение стурктуры у себя на форме делается, как выше:

А открытие документа:

Процедура ДеревоДокументовПередНачаломИзменения(Элемент, Отказ)
    
    ОткрытьФормуДокумента();
    Отказ = Истина;

КонецПроцедуры

// Процедура выполняет открытие формы текущего документа
Процедура ОткрытьФормуДокумента()
    Попытка
        Форма = ЭлементыФормы.ДеревоДокументов.ТекущиеДанные.Ссылка.ПолучитьФорму();
        Форма.Открыть();
    Исключение
        ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки());
    КонецПопытки;
КонецПроцедуры

ВСЕ! ВСЕМ ОГРОМНОЕ СПАСИБО! ЗА ПОДСКАЗКИ!
4 SkillUp
 
01.07.20
11:27
Если кому-то пригодился мой мини-гайд, пож. напишите сюда, буду рад, что не потратил зря свои нервы...