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

1С:Предприятие :: 1С:Предприятие 8 общая

Планировщик

Планировщик
Я
   nAPACEHAK
 
12.10.18 - 11:48
Доброго

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

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

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

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

    ОтменаРедактирования = Истина;
        // И тут ДатаПлан = 20.10

КонецПроцедуры
// Тут ДатаПлан = 01.10


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

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

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

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

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

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

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

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

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

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

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

Список тем форума
Рекламное место пустует  Рекламное место пустует
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует