Имя: Пароль:
1C
1С v8
Отмена удаления строки в документе 1С
0 ahmato
 
14.05.15
15:43
Коллеги, Добрый день!
Платформа - 8.2.19.80
Конфигурация - Управление торговлей, редакция 11.0.
Меня озадачили вот какой задачей:
пользователь работал с документом (к примеру счет на оплату), там более 50 позиции. Работал значит он работал, ввел в табличную часть документа N-ое количество строк, и ступил, удалил какую то полезную строку, какую он не помнит, но она нужна. В экселе к примеру, это решается нажатием волшебного сочетания клавиш: Ctrl + Z или Alt + BackSpace, но в 1С для строк это не работает, здесь либо надо закрывать документ без сохранения либо плюнуть на эту "нужную" строку, завершить работу, а потом разбираться.  
Так вот, как бы Вы решили такую задачу?
1 DrShad
 
14.05.15
15:45
ну тут два варианта
1. если строка сохраненная, то вытащить из ссылки
2. кэшировать стоки в процессе заполнения и потом давать выбор из кэша
2 Fish
 
14.05.15
15:45
Запретил бы удалять строки без подтверждения.
3 rifat
 
14.05.15
15:46
(0) Что первое в голову приходит, на событие ПередУдалением вешать обработчик, который сохраняет вашу строку в какую либо временную структуру, например временное хранилище. Добавить команду, которая возвращала при необходимости нужную строку.
4 bolero
 
14.05.15
15:54
кмк это должна быть фича платформы, тупняк в каждом документе в каждой конфе соломку подстилать
5 Classic
 
14.05.15
16:03
(4)
История изменений много места занимает
6 Classic
 
14.05.15
16:03
Хотя это ж не в базе изменения, сори тупанул
7 ahmato
 
14.05.15
16:06
(1) 1. вполне возможный сценарии что строка не была сохранена.
меня больше интересует вариант 2) как бы Вы реализовали кэширование строк?
(2) Мне кажется это идеальное решение, в принципе уже так сделал. Но опять же, такой подход не безупречен.
(3) Идея интересная, я думаю бы добавил обработчик в ПриОкончанииРедактирования, тогда можно было бы все операции отменять )
(4) Согласен.
(5) История изменении к примеру нет в обычных формах, там ее надо допиливать) Хотя для УФ это выход чтоб восстановить удаленную строку.
8 DrShad
 
14.05.15
16:09
(7) завел бы реквизит формы  с произвольным типом и в него бы писал ПриОкончанииРедактирования массив структур, ну и при открытии документа считывал бы уже сохраненные

массив структур потом легко трансформируется в ТЗ для выбора удаленной строки
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.