Вход | Регистрация


Документооборот, создание древовидной формы открытия элементов

Документооборот, создание древовидной формы открытия элементов
Я
   TolstiyBeremenniy
 
31.10.18 - 12:01
В конфигурации Документооборот 8 КОРП, редакция 2.1 (2.1.11.5).
Есть справочник Структура предприятия. Там 2 панели на форме списка
слева подразделения, а справа пользователи.
При установке курсора на подразделениях, слева, меняется список
пользователей к ним относящийся в правой панели.

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

Как начать и сделать подобную форму открытия документов?
 
 
   Serg_1960
 
1 - 31.10.18 - 12:12
Скопировать форму; вместо списка пользователей указать список документов. Подсказка: на формы списка документов можно установить фильтр.
   TolstiyBeremenniy
 
2 - 31.10.18 - 12:57
(1) А я сам создавал. Можно прям копировать?
Сейчас пробую настраивать обработчики событий.
   TolstiyBeremenniy
 
3 - 01.11.18 - 06:05
Сделал примерно как советовали в  (1).
Подскажите пожалуйста как в этой форме устанавливается непосредственно отбор на правую таблицу. Где ПользователиСпискок. У меня там список документов, не
пойму как установить на неё отбор.

Вообще сам отбор срабатывает в этих процедурах. Но как происходит фильтрация правого списка?


&НаКлиенте
Процедура УстановитьОтборОформленияПодразделенияТекущегоПользователя()
    
    Если Элементы.ПользователиСписок.ТекущиеДанные = Неопределено
        Или ТипЗнч(Элементы.ПользователиСписок.ТекущаяСтрока) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
        Подразделение = Неопределено;
    Иначе
        Подразделение = Элементы.ПользователиСписок.ТекущиеДанные.Подразделение;
    КонецЕсли;
    
    УстановитьОтборОформленияПодразделенияТекущегоПользователяСервер(Подразделение);
    
КонецПроцедуры

&НаСервере
Процедура УстановитьОтборОформленияПодразделенияТекущегоПользователяСервер(Подразделение)
    
    Для Каждого ЭлементУсловногоОформления Из УсловноеОформление.Элементы Цикл
        Если ЭлементУсловногоОформления.Представление = "ПодразделениеТекущегоПользователя"
            Или ЭлементУсловногоОформления.Представление = "УдаленноеПодразделениеТекущегоПользователя" Тогда
            ЭлементОтбораДанных = ЭлементУсловногоОформления.Отбор.Элементы[0];
            ЭлементОтбораДанных.ПравоеЗначение = Подразделение;
        КонецЕсли;
    КонецЦикла;
    
КонецПроцедуры
   Mankubus
 
4 - 01.11.18 - 06:11
(3) ищи событие ПриАктивизацииСтроки
   TolstiyBeremenniy
 
5 - 01.11.18 - 06:14
(4) Да есть Она!!!!


&НаКлиенте
Процедура СтруктураПредприятияПриАктивизацииСтроки(Элемент)
    
    ПодключитьОбработчикОжидания("СтруктураПредприятияПослеАктивизацииСтроки", 0.1, Истина);
    
КонецПроцедуры



Но как непосредственно сейчас мне фильтровать свою правю таблицу?
   TolstiyBeremenniy
 
6 - 01.11.18 - 06:16
Может это делает вот эта процедура?
Что именно в ней подправить можно?


&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьСодержимоеФормыПриИзмененииПодразделения(Форма)
    
     Элементы = Форма.Элементы;
    ПустоеПодразделение = ПредопределенноеЗначение(
        "Справочник.СтруктураПредприятия.ПустаяСсылка");
    
    Элементы.ПользователиСписокПодразделение.Видимость = 
        Форма.ВыбиратьИерархически
        Или Форма.АктивноеПодразделение = ПустоеПодразделение;
    
    Если Форма.АктивноеПодразделение = ПустоеПодразделение Тогда
        
        ОбновитьЗначениеПараметраКомпоновкиДанных(Форма.ПользователиСписок,
            "ВсеПользователи", Истина);
        
        ОбновитьЗначениеПараметраКомпоновкиДанных(Форма.ПользователиСписок,
            "ВыбиратьИерархически", Ложь);
        
        ОбновитьЗначениеПараметраКомпоновкиДанных(Форма.ПользователиСписок,
            "Подразделение", ПустоеПодразделение);
        
    Иначе
            
        ОбновитьЗначениеПараметраКомпоновкиДанных(Форма.ПользователиСписок,
            "ВсеПользователи", Ложь);
        
        ОбновитьЗначениеПараметраКомпоновкиДанных(Форма.ПользователиСписок,
            "ВыбиратьИерархически", Форма.ВыбиратьИерархически);
        
        ОбновитьЗначениеПараметраКомпоновкиДанных(Форма.ПользователиСписок,
            "Подразделение", Форма.АктивноеПодразделение);
            
    КонецЕсли;
    
КонецПроцедуры
   TolstiyBeremenniy
 
7 - 01.11.18 - 06:20
Видимо менять в процедуре (6)

Форма.ПользователиСписок -> Форма.СписокЗаявокУИиС

Форма.ПользователиСписок - это было в оригинале
Форма.СписокЗаявокУИиС   - это мой список документов
   TolstiyBeremenniy
 
8 - 01.11.18 - 06:35
Разница в том что у ДинамическогоСписка СписокПользователей
есть элементы в параметрах.

А у моего динамического списка, списка документов параметров нет. Подскажите пожалуйста как их добавить?
   TolstiyBeremenniy
 
9 - 01.11.18 - 06:43
(8+) Это элементы параметров компоновки данных.
У динамического списка. Как их задать моему списку документов?
   TolstiyBeremenniy
 
10 - 01.11.18 - 06:55
(9+) Понял у СправочникСписок они задаются в запросе.
А если у моего у моего динамического списка основная
таблица ФормаСписка документа. Как ей задать параметры?
 
 Рекламное место пустует

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует