Вводящая в заблуждение ошибка

Как-то ко мне обратился пользователь с ошибкой, текст которой выглядел вот так:

Обработка.XXX.Форма.Форма.Форма(82)}:        НСтрока.Сумма = Объект.ТД.Область(«R» + Строка(ы) + «C33»).Значение;

Мой взгляд зацепился за «Строка(ы)» и воспринял его как «Гражданин(ка)». Я начал думать, что платформа 1С имеет ввиду, пытаясь поставить эту букву «ы» в скобках. И только потом до меня дошло, что это Ы не от платформы, а из исходного кода.

Несколько драгоценных минут было потеряно только потому, что программист в качестве номера строки использовал переменную Ы.

Коллеги, не пишите так, не тратьте драгоценное время тех, кому придется сопровождать Ваш код!

А моя правка, кстати, заключалась в том, что я заменил обращение к значению на функцию по получению значения и такие ошибки стали пропускаться (о пропусках сообщалось пользователю):

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментария 4

  1. naf2000:

    Копипаст зашкаливает.
    СтрокЫ это вообще про что?
    Зачем гасишь исключение?

    • не все вопросы понял, но как раз «Строк(Ы)» это фирменный стиль автора кода, не мой. Как раз и послужило написать пост.

  2. НуфНуф:

    Так в чем фишка-то? Не понравился счетчик цЫкла?
    Так для них обычно однобуквенную переменную и используют, а классическое «И» — ключевое слово и использовать ее низзя (а переключать раскладку всем есс-но лень). Вот и выкручиваются кто как может: Ч, Г, Ш, К, Н… Ы в этом ряду ничем не хуже.

    А что касается ошибки — там скорее всего счет перевалил за 1000, и Строка(ы) разделяла разряды пробелом, в результате чего получалось негодное имя области. И исправлять это надо было: если по-правильному — используя координатную адресацию навроде Область( Ы, 20 ), а если по-ламерному как в коде — то приведя к строке без пробела через Формат() или XMLСтрока().

    Короче, один тупой 1Сник накосячил, а другой вместо исправления — замел под коврик.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *