Проверки в коде - это хорошо, это правильно, без них не обойтись, это даже не обсуждается. Ещё раз процетирую себя
Цитата:
Сообщение от
S.Kuskov
У меня не было задачи исключить проверки в коде на пустой курсор, у меня была задача отобразить недоступную кнопку в случае, когда нажатие на неё некоректно.
Я думаю, мы бы здесь не спорили стоит ли блокировать кнопки или нет, если бы данная возможность была бы предусмотрена ядром системы, и для получения требуемого эфекта не нужно было бы перекрывать кучу методв или добавлять фиктивные контролы.
Вопрос, почему в системе этого не предусмотрено? Много ли смысла в передаче пустого курсор из формы (нормальной аксаптовской формы) в код? Т.е. создавая menuItemButton и связывая его с конкретным источником данных, разве мы не подразумеваем использование этой кнопки
только в контексте какой-то (одной или нескольких в случае мультиселекта) записи?
P.S.: Cам я несколько раз использовал возможность передачи пустого курсора в различных целях. Например, для получения ссылки на временую таблицу (в результате обработки в неё добавлялись записи), либо для доступа через полученный курсор к связанному с ним источнику данных (в этом случае вообще было не важно есть ли в курсоре данные или нет). Но не думаю что, использовать для этого args.record() оправдано, в таких случаях вполне можно обойтись и без него. И честно говоря в первый раз был удивлён когда данная комбинация сработала. Не было это... интуитивно понятным что ли.