Имя: Пароль:
1C
1С v8
Планировщик
0 nAPACEHAK
 
12.10.18
11:48
Доброго

Реквизит: Планировщик

Как узнать состояние ДО изменения (редактирования, перетаскивания итд)

Например, у элемента планировщика дата начала была 01.10. Его перетащили на 20.10. в процедуре:

&НаКлиенте
Процедура ПланировщикПриОкончанииРедактирования(Элемент, НовыйЭлемент, ОтменаРедактирования)
    
        ДатаПлан = Элемент.ВыделенныеЭлементы[0].Начало;
        // Тут ДатаПлан = 20.10
    ОтменаРедактирования = Истина;
        // И тут ДатаПлан = 20.10
КонецПроцедуры
// Тут ДатаПлан = 01.10

*** Хочу найти запись регистра со значениями ДО переноса-редактирования, выполнить шаманство с записью и установить записи даты ПОСЛЕ переноса
1 1Сергей
 
12.10.18
11:50
Читай на сервере данные регистра
2 nAPACEHAK
 
12.10.18
11:54
(1) ага
только как читать?
в регистре есть запись с 01.10
Если я буду дату брать с планировщика для отбора регистра - то там она 20.10 уже
естественно с таким отбором я не найду ничего в регистре

мне и надо с планировщика забрать дату 01.10, т.е. дату ДО того как передвинули элемент планировщика
3 nAPACEHAK
 
12.10.18
11:57
4 Лодырь
 
12.10.18
12:04
(0) Запомнить при начале перетаскивания?
5 nAPACEHAK
 
12.10.18
13:05
(4)
&НаКлиенте
Процедура ПланировщикПередНачаломРедактирования(Элемент, НовыйЭлемент, СтандартнаяОбработка)
    А = 1;
КонецПроцедуры

&НаКлиенте
Процедура ПланировщикНачалоПеретаскивания(Элемент, ПараметрыПеретаскивания, Выполнение)
    А = 1;
КонецПроцедуры

&НаКлиенте
Процедура ПланировщикПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Дата, Значения)
    А = 1;
КонецПроцедуры

&НаКлиенте
Процедура ПланировщикОкончаниеПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
    А = 1;
КонецПроцедуры

&НаКлиенте
Процедура ПланировщикПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Дата, Значения)
    А = 1;
КонецПроцедуры

отладчиком когда перетаскиваем то тут не останавливается.
только на
Процедура ПланировщикПриОкончанииРедактирования(Элемент, НовыйЭлемент, ОтменаРедактирования)
6 nAPACEHAK
 
12.10.18
13:27
Есть конечно варианты типа
1) где то хранить изначальную коллекцию Планировщик.Элементы и потом сравнивать оригинал и измененную , то и есть даты до изменения
2) тупо очистить весь набор записей регистра, который был до планировщика и записать новыми после планировщика

наверно неправильно всё это ((
7 Лодырь
 
12.10.18
13:28
ПриАктивизации работает кстати
8 nAPACEHAK
 
12.10.18
13:52
(7) да.
только не пойму как это привернуть можно.

Например. ПриАктивизации буду где то хранить первоначальные
ДатаНачалоАктивизация     = Элемент.ВыделенныеЭлементы[0].Начало;
    ДатаКонецАктивизация    = Элемент.ВыделенныеЭлементы[0].Конец;
    ЗначениеАктивизация        = Элемент.ВыделенныеЭлементы[0]Значение;

теперь мы передвигаем элемент планировщика. соответственно у нас изменятся Начало, Конец. Можно сравнить и что то сделать.
нюанс:
вот это Значение может быть одинаково. Например, по одной заявке распланировано три разных отрезка времени. И мы уже ничего не сможем найти. Точнее смочь то сможем но не факт именно то что нам надо.

Наверно как то не так делается.
И потом, после отработки проц.ПриОкончанииРедактирования если ОтменаРедактирования, то передвинутая строка становится такой же как до редактирования. значит где то должны быть исходные данные? не?