А как выйти из режима редактирования строки документа... #27926


#0 by Барбариска
...программно? Иногда очень нужно бывает... Недавно вот обнаружила, что у 1С на панели инструментов документа - рядом с "новая строка" и т.п. - есть такая замечательная кнопочка - "Записать изменения" - по которой редактирование строки завершается ))) Но я хочу программно!
#1 by vS
Esc жми а как ты ПРОГРАММНО входишь в режим редактирования строки, а?
#2 by Барбариска
скрипты и программные нажатия кнопок - крайний вариант - не всегда корректно с 1С работает. Тогда уж лучше не Esc, а Enter - мне же сохранить нужно. Программно входить - это другой вопрос, и не всегда сабж с этим связан.
#3 by miki
1.Передай фокус другому реквизиту. 2.Может сработает АктивизироватьСтроку.
#4 by Барбариска
один из примеров применения ... по флажку в документе (в шапке) - нужно запретить изменения документа - но не "в лоб", чтобы Форма.ТолькоПросмотр, а так, чтобы в любой реквизит типа "справочник" можно было зайти (но изменения не сохранялись), а числа, строки и т.п. - оставалось бы недоступным. Все почти работает, но слабое место - строка с неоконченным редактированием... Кстати, в процедуре, привязаной к флажку, стоит "Активизироватьстроку", но как мертвому припарки.
#5 by miki
Объянси, плз. Так что ты хочешь: что бы сохранялись изменения или нет ?
#6 by Барбариска
изменения строки по программному окончанию ее редактирования должны сохраняться. "Не сохранялись изменения" - это режим работы документа с проставленным флажком "запретить изменения" - например, распечатали накладную -далее изменения должны быть "только сознательно", а не так, что решили прямо из списка строк просмотреть товарную карточку и нечаянно выбрали другой товар или при выборе товара нечаянно изменили цену...
#7 by zzzzz
У меня сейчас такая гадость происходит, что пришлось при открытии документа копировать табличную часть, Проверять модифицируемость и затем спрашивать - точно ли они хотят сохранить документ? уверены ли и все это еще и в журнал регистрации пихать. Флажок запретить изменения в твоем случае пройдет как флаг модифицируемости.
#8 by Барбариска
Флаг модифицированности не подошел бы - режим должен уметь корректно включаться/выключаться в пределах одного открытия документа... ...О, кажется с флажком - победила через Форма.Закрыть и через переменные МожноЗакрыть и РедактированиеСтроки (=1 при вводе строки и при начале редактирования, =0 при окончании редактирования =0) Сейчас попробую применить это к другой задаче (серийные номера сканером в готовом документе...)
#9 by Rovan
А что является критерием нечаенности и сознательности ?
#10 by Барбариска
распечатали накладную или просто сохранили - это уже серьезно - флажок проставился - и чтобы изменить что-то в документе, нужно этот флажок снять, а потом менять - это уже сложнее сделать нечаянно, к тому же можно разграничить к этому флажку доступ (автор=пользователь или супер-набор-прав)... По крайней мере, с введением флажка жить стало намного легче и мне и главбуху - несоответствия между распечатанными и электронными документами стало намного меньше.
#11 by Rovan
А если так ?- Процедура ПриЗаписи .... КонецПроцедуры
#12 by miki
Это не помешает понапечатать доков, не соответствующих сохраненным в базе. Да, в принципе, ничто не помешает...
#13 by Барбариска
с флажком я уже проблему решила на 100% - да и не в нем было дело - это вообще очень давно делалось, оставалась только когда-то заброшенная проблемка с окончанием редактирования строки. А вариант не подошел бы - ввели новый документ, корректно все набрали, распечатали (после чего менять нельзя, и потому флажок=1) - а записать-то не можем (((
#14 by Барбариска
исходим из предположения, что пользователи все-таки сознательные, и обычно не гадят. Все гадости получаются нечаянно и им же выходят боком. Потому делалось так, чтобы "нечаянно" получалось как можно реже, но при этом не нарушалось удобство работы с программой.
#15 by miki
У юзеров по-жизни _всЁ_ получается "нечаянно"...
#16 by Барбариска
если у кого-то что-то часто получается нечаянно, достаточно минут двадцать постоять (с его согласия) за его плечом во время работы - ... узнаешь много нового о написанном тобой же коде )))  На мой взгляд, лучше иногда "впадать в паранойю" при программировании, чем потом во всем винить юзеров.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С