Имя: Пароль:
1C
 
Отмена/повтор изменений в ТЧ на УФ
,
0 bolobol
 
30.09.22
16:06
Добрый день!

Есть какой-то простой способ сделать отмену/повтор изменений в ТЧ на УФ ?
1 ejikbeznojek
 
30.09.22
16:29
Выгружать в ТЗ до и после изменений и хранить переменной?
А потом загружать обратно.
2 bolobol
 
30.09.22
16:32
Это надо на сервант бегать, хотелось бы этого избежать
3 БигБаг
 
30.09.22
16:39
Ctrl+z
4 mikecool
 
30.09.22
16:53
(2) храни массив структур на клиенте
5 OldCondom
 
30.09.22
17:09
Запись = Новый ЗаписьJSON;
    Запись.УстановитьСтроку();
    СериализаторXDTO.ЗаписатьJSON(Запись, Заказ.Товары.Выгрузить(), НазначениеТипаXML.Явное);
    ДанныеСтрокой = Запись.Закрыть();
    
    Чтение = Новый ЧтениеJSON;
    Чтение.УстановитьСтроку(ДанныеСтрокой);
    ДанныеОбъектом = СериализаторXDTO.ПрочитатьJSON(Чтение);
6 lubitelxml
 
30.09.22
17:11
(5) а можно просто в XMLСтрока убрать
7 bolobol
 
30.09.22
17:30
ЗаписатьJSON короче, а даже этому способу нужен вызов сервера
8 bolobol
 
30.09.22
17:31
ЗначениеВСтрокуВнутр - ещё короче
9 lubitelxml
 
30.09.22
18:02
(8) это вообще мое любимое. Я ТЗ так гоняю через ws ))
10 sergeyshimkov
 
30.09.22
23:49
Добавить в реквизиты формы ТЧ версий, где один из реквизитов сам будет являться ТЧ (такой же, изменения которой хотите сохранять).
При изменении основной ТЧ устанавливать флаг необходимости сохранения изменений.
Добавить обработчик ожидания (например, чтобы он срабатывал каждую секунду), в котором проверять флаг и, если он установлен, записывать в ТЧ версий копию основной ТЧ (построчно).
Добавить ограничитель количества версий, чтоб не съели всю память. Ну и команды, которые будут отменять/повторять изменения, копируя обратно из ТЧ версий в основную ТЧ.
Все будет работать на клиенте. Правда если основная ТЧ большая, то там все равно будут неявные вызовы сервера для чтения всей ТЧ.
11 sergeyshimkov
 
30.09.22
23:58
Я делал такое с деревом значений, работает быстро, пока дерево меньше тысячи строк. После начинаются подтормаживания при отмене изменений.