Имя: Пароль:
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]Значение;

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

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