Забавный глюк в форме 1С (стандартные и управляемые формы)

25.10.21

Разработка - Механизмы платформы 1С

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

  2. Создаем 3 реквизита : Длина, Высота, Ширина типа число. Выводим на форму.

  3. В форме определяем их значения, например :
    Ширина=10;
    Высота=10;
    Длина=10;

  4. Открываем форму в режиме 1с-предприятия, и что мы видим ?
    Длина=10 (как и ожидалось)
    А вот в полях Высота и Ширина - нули!

Я чуть с ума не сошел. Потом понял, что эти слова зарезервированы. Но ИМХО, в таком случае нужно было запретить их использовать. Иначе нервные клетки назад то не вернешь !  :)

Проверено на релизах 1с 8.3.13 и 8.3.18.

форма зарезервированные слова ширина высота

См. также

Сервисы интеграции без Шины и интеграции

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример использования «Сервисов интеграции» без подключения к Шине и без обменов.

13.03.2024    3209    dsdred    16    

65

Как готовить и есть массивы

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Все мы используем массивы в своем коде. Это один из первых объектов, который дают ученикам при прохождении обучения программированию. Но умеем ли мы ими пользоваться? В этой статье я хочу показать все методы массива, а также некоторые фишки в работе с массивами.

24.01.2024    7491    YA_418728146    25    

69

Планы обмена VS История данных

Перенос данных 1C Механизмы платформы 1С Системный администратор Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Вы все еще регистрируете изменения только на Планах обмена и Регистрах сведений?

11.12.2023    7733    dsdred    36    

115

1С-ная магия

Механизмы платформы 1С Программист Бесплатно (free)

Язык программирования 1С содержит много нюансов и особенностей, которые могут приводить к неожиданным для разработчика результатам. Сталкиваясь с ними, программист начинает лучше понимать логику платформы, а значит, быстрее выявлять ошибки и видеть потенциальные узкие места своего кода там, где позже можно было бы ещё долго медитировать с отладчиком в поисках источника проблемы. Мы рассмотрим разные примеры поведения кода 1С. Разберём результаты выполнения и ответим на вопросы «Почему?», «Как же так?» и «Зачем нам это знать?». 

06.10.2023    20098    SeiOkami    46    

124

Дефрагментация и реиндексация после перехода на платформу 8.3.22

Механизмы платформы 1С Системный администратор Платформа 1С v8.3 Бесплатно (free)

Начиная с версии платформы 8.3.22 1С снимает стандартные блокировки БД на уровне страниц. Делаем рабочий скрипт, как раньше.

14.09.2023    14028    human_new    27    

77

Валидация JSON через XDTO (включая массивы)

WEB-интеграция Универсальные функции Механизмы платформы 1С Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    10386    YA_418728146    7    

148

Внешние компоненты Native API на языке Rust - Просто!

Механизмы платформы 1С Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Внешние компоненты для 1С можно разработывать очень просто, пользуясь всеми преимуществами языка Rust - от безопасности и кроссплатформенности до удобного менеджера библиотек.

20.08.2023    7005    sebekerga    54    

99
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. comptr 34 25.10.21 08:49 Сейчас в теме
Если уж тестировать, то нужно накидать как можно больше зарезервированных слов:
Для, Каждого, Цикл, КонецЦикла, Структура, Элементы, Форма, Если, КонецЕсли и т.д.

Ещё бы выдернуть список всех зарезервированных слов и создать реквизиты и элементы формы программно.
RocKeR_13; AnryMc; +2 Ответить
4. bulpi 215 25.10.21 12:37 Сейчас в теме
(1)
Попробовал.
Зарезервированные слова (те, которые красным выделяются) можно использовать в реквизитах формы (и это баг, что бы не писали нижеследующие авторы!), но им не получится присвоить значение. А те, которые синим выделяются, те можно. Но не все :) Тут создатели платформы поленились сделать строго.
2. AnryMc 849 25.10.21 09:05 Сейчас в теме
ИМХО: Свои "ошибки" не тема публикации.
Если что - то можно пожаловаться на свою усталость/заежженость/... в форуме

З.Ы. И это не голюк системы - а автора...
RocKeR_13; SergeyTerentyev; +2 Ответить
7. bulpi 215 25.10.21 15:52 Сейчас в теме
(2)
Судя по Вашему рейтингу, Вам эта публикация ни к чему. Но здесь пишут и читают разные люди. Например, я был бы благодарен автору, если бы кто-то написал такое, а я прочитал ДО ТОГО, КАК. Поэтому я и опубликовал, рассчитывая на таких, как я и ниже.
9. AnryMc 849 25.10.21 15:56 Сейчас в теме
(7)
Судя по Вашему рейтингу, Вам эта публикация ни к чему.


Я тоже "спотыкаюсь".
Например: Время документа при записи в последний день месяца устанавливается в 23:59:59

Хотя точно помню что это связано с оперативным проведением и я с этим уже "трахххся" лет 10 назад...
3. RocKeR_13 1333 25.10.21 09:57 Сейчас в теме
в таком случае нужно было запретить их использовать

У формы есть реквизиты доступные как только для чтения, так еще и для записи. Платформа должна читать мысли "писателей", чтобы понять, хочет ли программист изменить реквизит формы или инициализировать свою переменную? Открою тайну: у формы еще есть свойство "Параметры", имя которого программисты тоже часто порываются использовать для своих переменных)
5. bulpi 215 25.10.21 12:39 Сейчас в теме
(3)
ИМХО, если у формы есть свойство Ширина, то не должно быть реквизита с именем Ширина. Вы же не можете сделать 2 реквизита с 1 именем ? Если бы я проектировал платформу, я бы так сделал. "инициализировать переменную" тут не при чем.
6. RocKeR_13 1333 25.10.21 13:12 Сейчас в теме
(5) Тем не менее, это не глюк, а отсутствие проверки от неверных действий программистов. Возможно, платформа сначала в контекст формы объединяет предопределенные свойства и реквизиты, после чего только проверяет уникальность. Здесь уже нужно более подробно знать нюансы платформы. В любом случае, есть же палитра свойств, где можно увидеть все зарезервированные имена, и писать ради такого отдельную статью на Инфостарте - довольно-таки сомнительное занятие.
8. bulpi 215 25.10.21 15:54 Сейчас в теме
(6)
Согласен. На это я ответил см. выше, в (7)
Оставьте свое сообщение