TGViewer
Журнал инженера-программиста Журнал инженера-программиста @software_engineer_notes · 250 subscribers
Post #137 133
Никогда такого не было, и вот опять! #1С

Расследую необычное поведение клиентской базы 1С:Бухгалтерия, которая периодически выдает сообщение, что параметр Л не поддерживается. Нахожу строчку, которая выдает ошибку, а в ней вызов платформенной функции ПолучитьСклоненияСтроки (GetStringDeclensions), которая предназначена для склонения по падежам и родам переданной строки.

Когда-то в типовой конфигурации была внешняя компонента для склонения строк, поскольку такое склонение частая задача для кадровых приказов и торговых печатных форм. Но как только программисты платформы встроили в платформу свой аналог, то программисты конфигураций сразу же заменили внешнюю компоненту на "родную".

Вот только есть несколько нюансов:

1) Программисты платформы проигнорировали популярную компоненту, которая умела работать с русским, украинским, белорусским и казахскими языками. Видимо у них была куплена лицензия реализации, которая умела работать только с русским языком, и только эту обрезанную компоненту добавляют на платформу (баг платформы)

2) Ну, допустим. Пусть уже для РФ будет встроенная компонента, а для остального СНГ внешняя. Но внезапно оказалось, что внешнюю компоненту заменили на встроенную и для других стран 😳 Хорошо помню как мне приходилось искать расширенную компоненту на Инфостарте, чтобы встраивать украинским клиентам (баг конфигурации)

3) Не смотря на то, что встроенная компонента умеет работать только с русским языком, она содержит параметр для указания языка. Видимо много лет назад надеялись добавить поддержку других языков, а потом об этом забыли. Параметр очень странный! Если указать любой язык кроме русского, то платформа выдает исключение. Язык не обязателен к указыванию, если явно не задать, то берется язык по-умолчанию. (Тут барабанная дробь) Языком по-умолчанию для компоненты склонения является не язык сеанса пользователя, не язык локализации интерфейса или ключа запуска, не русский как единственный поддерживаемый язык, а внезапно - язык ОС (баг платформы)

4) Не смотря на спорную реализацию API платформы, разработчики типовых конфигураций часто использовали встроенную компоненту склонения без явного указания русского языка. Если в типовой 1С:Бухгалтерии сделать поиск вызовов ПолучитьСклоненияСтроки, то меньше чем у половины явно указан язык ru_RU - видимо только в наиболее критичных местах, на которые жаловались пользователи (баг конфигурации)

Дальше уже очевидно. Ведь даже в РФ далеко не у всех установлен русский язык в качестве языка интерфейса Windows, а уж по СНГ количество английских и национальных интерфейсов тем более является подавляющим.

Upd. Смотрите комментарий
  • 🤯 2
More from @software_engineer_notes
  1. Oct 3, 2026"Вы автоматизируете хаос" - этим страхом любят пугать своих бизнес-заказчиков консалтеры,…
  2. Sep 28, 2026Уже второй проект на работе делаю в методике "парного программирования" с Claude Code. И с…
  3. Sep 13, 2026За последний месяц произошло много событий, но наиболее интересным является использование…
  4. Sep 1, 2026Самая обычная бумажная книга учета - это пока лучший инструмент фиксации проектных изменен…
  5. Aug 31, 2026Очень показательная причина моей нелюбви реализации сравнения/объединения конфигураций в 1…
  6. Aug 29, 2026О концепции LLM-Wiki я впервые прочитал на X (Twitter). Чтобы позже ознакомится детальнее,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →