Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
27 сен 2021, 18:48

Событие ПередОкончаниемРедактирования

Автор tasya, 05 авг 2021, 17:11

0 Пользователей и 1 гость просматривают эту тему.

tasya

Добрый день! Помогите разобраться.
Задача стоит такая, если пользователь добавляет строку в ТЧ, он должен заполнить все колонки. Если какая-то колонка не заполнена выводится сообщение и запрет на дальнейшие действия.

Использую обработчик события ПередОкончаниемРедактирования(), проверяю строку, если что-то не заполнено, то параметр
Отказ= Истина.
Все отлично, но если пользователь добавил случайно строку, то он даже не может ее удалить, так как срабатывает это событие, то есть при нажатии кнопку Удалить, выводится сообщение, что нужно заполнить все колонки. Как разрешить пользователю удалять добавленную пустую строку?

LexaK

заполнить не может, пытается удалить, а система не дает выйти из редактирования, а заполнить не может...
прямо какой-то замкнутый круг получается!  :D

как вариант сделайте добавление строк через новую/дополнительную форму ввода данных
т.е. Пользователь нажимает на кнопку добавить строку, ему открывается форма со всеми полями (элементы как ПолеВвода) он заполняет эти поля
1.если все заполнил нажимает кнопку Завершить (опять-же производим проверку а все ли поля заполнены, ведем бурный диалог с Пользователем)
и в нужном месте добавляем сразу заполненную строку 
2.нажимает Отменить - просто ни чего не делаем (закрываем форму ввода)
ответ Понравился? (в смысле пригодился?)

tasya

@LexaK, Теоретически можно, но практически дополнительную форму не хотят

LexaK

Цитироватьдополнительную форму не хотят

тааак, замкнутый круг увеличивается. 

ну как вариант предложите им, просто закрыть 1С
(перезапустить сеанс, событие закрыть сеанс перебивает событие невыхода из незаполненной строки) 
ответ Понравился? (в смысле пригодился?)

antoneus

Ну так посчитать незаполненные колонки и если количество незаполненных = количеству колонок - выдохнуть и успокоиться.

LexaK

@tasya, ну а если кроме шуток,

то убирайте тогда свое ограничение/проверку ПередОкончаниемРедактирования
пусть заполняют как могут.
а вот потом....

все равно же с этими данными что-то делать будете, Сохранять ли, Обрабатывать ли, либо еще что
вот пере этими действиями и вставьте свою процедуру проверки, которая проверить ВСЕ введенные/добавленные строчки
и ВСЕ поля в них, на предмет заполнения и правильности!

и если что-то не заполнено или неправильно, Сообщаете пользователю и не выполняете основное действие с этими данными.
(что там Сохранить, Обработать)
ответ Понравился? (в смысле пригодился?)

tasya

В общем сделала так. В процедуре ПередОкончаниемРедактирования вывожу вопрос да/нет. "Колонки должны быть заполнены. Удалить текущую строку", отвечает да - удаляю строку программно.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск