Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Планировщик. Перетаскивание из других элементов управляемой формы

Планировщик. Перетаскивание из других элементов управляемой формы
Я
   DosBot
 
10.08.20 - 16:02
Платформа 1С:Предприятие 8.3.15.1700

Делаю интерфейс на управляемых формах. Внешняя обработка. На форме: Планировщик с измерениями по физ. лицам, табличная часть "Заявки", которые я хочу перетаскиванием добавить в Планировщик на конкретного работника.
Проблема, что в финальном событии ПланировщикПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Дата, Значения) - я не могу тут выловить к какому конкретному измерению - Физ. лицу осуществлено перетаскивание.
Значение = пустое ФиксированноеСоответствие. Заполнено только Дата, блин.

В событии ПланировщикПроверкаПеретаскивания(...) делаю СтандартнаяОбработка = Ложь, иначе ПланировщикПеретаскивание(...) вообще не возникает.

ЧЯДНТ?
   Ёпрст
 
1 - 10.08.20 - 16:19
больше кода
   DosBot
 
2 - 10.08.20 - 18:42
&НаСервере
Процедура Планировщик_Построить()
    
    Планировщик.Элементы.Очистить();
    Планировщик.Измерения.Очистить();
    
    ТЗ = ДанныеПланирования.Выгрузить();
    ТЗ.Свернуть("ФизическоеЛицо");
    ВсеФизЛица = ТЗ.ВыгрузитьКолонку("ФизическоеЛицо");
    ИзмерениеФизЛица = Планировщик.Измерения.Добавить("ФизЛица"); 
    
    // Измерения Физические лица

    Для каждого ТекФизЛицо Из ВсеФизЛица Цикл
        
        НовоеИзмерение = ИзмерениеФизЛица.Элементы.Добавить(ТекФизЛицо);
        НовоеИзмерение.Текст = "" + ТекФизЛицо;
        
        НужныеСтроки = ДанныеПланирования.НайтиСтроки(Новый Структура("ФизическоеЛицо", ТекФизЛицо)); 
        
        // Элементы

        Для каждого ТекСтрока Из НужныеСтроки Цикл
            
            Соответствие = Новый Соответствие();
            Соответствие.Вставить("ФизЛица", ТекСтрока.ФизическоеЛицо);
            ЗначенияИзмерений = Новый ФиксированноеСоответствие(Соответствие);
            
            Если ТекСтрока.СвободноеВремя Тогда
                НовыйИнтервал = Планировщик.ИнтервалыФона.Добавить(ТекСтрока.ДатаНачала, ТекСтрока.ДатаОкончания);
                НовыйИнтервал.Цвет = ЦветГрафикРаботы;
                НовыйИнтервал.ЗначенияИзмерений = ЗначенияИзмерений;
            Иначе
                НовыйЭлемент = Планировщик.Элементы.Добавить(ТекСтрока.ДатаНачала,
                                                                 ТекСтрока.ДатаОкончания);    
                ТекЗначение = Новый Структура("ФизическоеЛицо,ДокументПланирования,Событие");                                                         
                ЗаполнитьЗначенияСвойств(ТекЗначение, ТекСтрока);
                
                НовыйЭлемент.Значение = ТекЗначение;
                НовыйЭлемент.Текст       = "" + ?(ТекСтрока.СвободноеВремя, "", ТекСтрока.Событие);
                НовыйЭлемент.ЦветФона = WebЦвета.ЦианСветлый;
                НовыйЭлемент.ЗначенияИзмерений = ЗначенияИзмерений;
            КонецЕсли; 
            
        КонецЦикла; 
        
    КонецЦикла; 
    
КонецПроцедуры
   DosBot
 
3 - 10.08.20 - 18:43
&НаКлиенте
Процедура ПланировщикПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Дата, Значения)
    СтандартнаяОбработка = Ложь;
КонецПроцедуры
   DosBot
 
4 - 12.08.20 - 06:55
В общем плюнул я на перетаскивание в планировщике. Сделал кнопку с быстрой клавишей и успокоился...

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