Как запретить ввод строки табличной части копированием? #344007


#0 by Chum
Вроде предопределенными п-ми не предусмотрено такое. Ввод новой строки (по Ins) надо оставить, но ввод строки копированием (по F9) запретить. Подскажите идею реализации.
#1 by Skom
Синтаксис: ПриВводеСтроки Назначение: Предопределенная процедура при интерактивном вводе строки документа. Замечание: Данная процедура может располагаться только в модуле формы документа. Подробнее см. в документации, глава 'Системные предопределенные процедуры'
#2 by Skom
ИМХАЕТСЯ мне что при копировании значения полей таблиц будет непустым уже попробуй тут проверить если пустоезначение например номенклатура.....ну примерно так
#3 by Chum
ну и как определить, что строка введена копированием?
#4 by Skom
ну если у тебя номенклатура будет пустая....соответственно это ввод а номенклатура будет равноа чему то тогда это копирование
#5 by Chum
не совсем правильно тебе имхается, но мысль подал верную :-) проверять здесь надо: КонецПроцедуры
#6 by Skom
я для проверки вот это вставил Процедура ПриВводеСтроки проверил все нормально отрабатывает..... а при редактировании он вроде как каждую колонку будет тебе выдавать....хотя тут точно не скажу а вот при вводе вызываться будет однократно только при вводе и все ну вобщем ответ ты получил...дальше делай.... как сделаешь расскажи нам какова реализация...интересно же все таки
#7 by Skom
и ваще читай ЖКК...цитирую Процедура ПриРедактированииНовойСтроки КонецПроцедуры Синтаксис: ПриРедактированииНовойСтроки Назначение: Предопределенная процедура при интерактивном редактировании новой строки документа. Замечание: Данная процедура может располагаться только в модуле формы документа. Подробнее см. в документации, глава 'Системные предопределенные процедуры' далее смотрим в ЖКК "в данной процедуре установка СтатусаВозврата не имеет смысла, так как отказаться от ввода новой строки в этот момент НЕВОЗМОЖНО...
#8 by Chum
Вроде выкрутил так: В моем случае НужныйРеквизит всегда заполнен, если при копировании значение было изменено, то срабатвает ОбработкаВыбораЗначения, в которой есть дополнительный контроль.
#9 by Skom
нафига делать две процедуры если в одной можно все урегулировать
#10 by Chum
Практика показывает, что событие ПриВводеСтроки отрабатывается ДО того, как строка быдет добавлена в ТЧ, следовательно, в этой процедуре значения реквизитов будут взяты из той строки, на которой стоял курсор ДО нажатия кнопки добавления строки. Поэтому, анализ начения, как в - неверный: и по Ins, и по F9 ПустоеЗначение(Номенклатура)=0
#11 by FanatToNight
приокончанииредактирования всосать ТЧ в ТЗ, добавить колонку Кол, присвоить ей все 1 и свернуть по ("Товар","Кол"). найти Кол<>1, значит, скопировано, надо удалить последнюю строку в этом варианте использую. Вроде сбоев не было.
#12 by Chum
тоже вариант, то строк кода больше
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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