Когда я делал в Йокселе поиск, то, естественно, обращал большое внимание на то, как поиск работает в 1С. При этом удалось найти один довольно забавный косяк. Проявляется он в том, что если мы выполняем поиск в тот момент, когда набираем текст в ячейке, то можно модифицировать текст совершенно в другой ячейке.
Для демонстрации глюка откроем форму баланса в 1С:Бухгалтерии 7.7. Перейдем в ячейку для ввода «ОКПО» и введем там какую-нибудь строку:
После этого, НЕ ЗАВЕРШАЯ ВВОД в ячейке, будем искать в таблице слово «баланс», пока не перейдем к заголовку формы:
Как можно видеть, редактируемая ячейка по прежнему – ячейка с «ОКПО», а вот активной ячейкой теперь является заголовок формы. Теперь нажмем Enter и полюбуемся на полученный результат:
В принципе, глюк достаточно безобидный. Правда, есть возможность его использовать для обхода некоторых защитных мер, предпринятых в некоторых организациях. Допустим, чтобы исключить возможность обмана, все, без исключения, печатные формы выдаются пользователям с включенной защитой. Т.е. любые фальсификации печатных форм запрещены. Так вот, если случайно в печатной форме окажется хотя бы одна ячейка с отключенной защитой, то недобросовестный пользователь получит возможность модифицировать таблицу почти любым нужным ему способом.
Кстати, в 1С:Предприятии 8.х этот глюк уже не работает. При входе в режим редактирования поиск становится недоступным. В Йокселе реализовано другое поведение – при попытке выполнить поиск ввод в ячейку принудительно завершается.
Ссылок на эту страницу нет