Проанализируем ситуацию, с которой часто сталкиваются пользователи и разработчики 1С после обновления платформы или конфигурации. Операторы по вводу данных, которые заводят документы «вслепую» и с высокой скоростью, замечают, что при переходе в ячейку (например, «Количество») она перестает подсвечиваться (выделяться синим). В итоге, если раньше новая вводимая цифра автоматически заменяла старую, то теперь она просто дописывается рядом. В результате, вместо единицы получается 11.
Рассмотрим подробнее, от чего зависит такое поведение системы, почему перестала происходить автозамена содержимого ячейки и как мы можем совместно решить эту проблему.
Разберем по шагам самую частую программную причину. В конфигураторе у элементов управляемой и обычной формы (в том числе у колонок табличной части) есть специализированное свойство ВыделятьПолныйТекст.
Если при недавнем обновлении конфигурации программисты вносили изменения в форму документа, они могли случайно снять этот флажок для колонки «Количество». В результате при активации ячейки курсор просто встает в конец значения, и пользователям приходится удалять старое число вручную.
Решение: Откройте конфигуратор, зайдите в нужную форму документа, выделите элемент табличной части (колонку с количеством) и в палитре свойств установите галочку напротив параметра «Выделять полный текст».
Посмотрим на пример аппаратного-программного рассинхрона. В современных конфигурациях 1С активно используются обработчики событий, такие как ПриАктивизацииСтроки или ПриАктивизацииЯчейки. Если при переходе на новую строку система выполняет тяжелый фоновый вызов на сервер (например, чтобы проверить остатки товара на складе или пересчитать автоматические скидки), интерфейс на доли секунды блокируется.
Когда ответ от сервера возвращается на клиент, платформа обновляет строку, тем самым непроизвольно сбрасывая первоначальное выделение текста. Операторы, обладая высокой скоростью печати, нажимают клавиши с цифрами именно в этот момент. Система банально «не успевает» за пользователем.
Решение: Проанализируем программный код вашей конфигурации. Избегайте тяжелых запросов к базе данных в событиях активации строк. Выносите проверки в событие ПриИзменении или используйте механизмы кэширования.
// Плохой пример: вызов сервера при каждом клике на строку (тормозит интерфейс)
&НаКлиенте
Процедура ТоварыПриАктивизацииСтроки(Элемент)
ПолучитьДанныеОстатковНаСервере();
КонецПроцедуры
// Хороший пример: проверка только при реальном изменении количества
&НаКлиенте
Процедура ТоварыКоличествоПриИзменении(Элемент)
ПолучитьДанныеОстатковНаСервере();
КонецПроцедуры
У табличных частей в 1С есть свойство РежимРедактирования. Оно может принимать значения Непосредственно, ВДиалоге или Оба. При обновлениях это свойство могло быть изменено разработчиками конфигурации. Из-за этого стандартные клавиши (Enter или Tab) начинают вести себя иначе, открывая ячейку для точечного редактирования текста, вместо полного выделения всего числа.
Если проблема проявилась массово именно после обновления платформы (например, при переходе на версии 8.3.13 и выше), скорее всего мы имеем дело с внутренней ошибкой самой платформы 1С:Предприятие. Разработчики регулярно фиксируют баги, связанные с потерей фокуса или сбросом выделения в динамических списках и табличных частях при высокой скорости набора.
Решение: Рекомендуется протестировать работу базы на более свежем, стабильном патче или релизе платформы. Также можно попробовать переключить пользователей с тонкого клиента на веб-клиент для проверки воспроизводимости ошибки.
Не будем забывать и про аппаратное обеспечение. Очень часто проблема кроется в физически изношенных компьютерных мышках. Микропереключатель внутри мыши начинает «дребезжать», выдавая так называемый «даблклик» (двойной щелчок) при одном одиночном нажатии пользователя.
Помимо мыши, проблема может заключаться в клавиатуре: залипание клавиш Shift, Ctrl, Alt или кнопок со стрелками также приводит к мгновенной потере фокуса выделения.
Решение: Проверим мышки у операторов на предмет двойного клика, подключив их к другому ПК, либо заменим на новые. Переверните и потрясите клавиатуры, чтобы исключить физическое залипание из-за мусора под клавишами.
Подводя итог, выясним главную закономерность: если сбой воспроизводится стабильно у всех пользователей — ищите причину в конфигураторе (свойства элементов или тяжелый серверный код). Если проблема плавающая и возникает только у некоторых операторов — обратите внимание на техническое состояние их мышек и клавиатур. Проведя этот комплексный анализ, вы быстро локализуете и устраните этот раздражающий дефект!