Никогда такого не было, и вот опять! #1С
Расследую необычное поведение клиентской базы 1С:Бухгалтерия, которая периодически выдает сообщение, что параметр Л не поддерживается. Нахожу строчку, которая выдает ошибку, а в ней вызов платформенной функции ПолучитьСклоненияСтроки (GetStringDeclensions), которая предназначена для склонения по падежам и родам переданной строки.
Когда-то в типовой конфигурации была внешняя компонента для склонения строк, поскольку такое склонение частая задача для кадровых приказов и торговых печатных форм. Но как только программисты платформы встроили в платформу свой аналог, то программисты конфигураций сразу же заменили внешнюю компоненту на "родную".
Вот только есть несколько нюансов:
1) Программисты платформы проигнорировали популярную компоненту, которая умела работать с русским, украинским, белорусским и казахскими языками. Видимо у них была куплена лицензия реализации, которая умела работать только с русским языком, и только эту обрезанную компоненту добавляют на платформу (баг платформы)
2) Ну, допустим. Пусть уже для РФ будет встроенная компонента, а для остального СНГ внешняя. Но внезапно оказалось, что внешнюю компоненту заменили на встроенную и для других стран 😳 Хорошо помню как мне приходилось искать расширенную компоненту на Инфостарте, чтобы встраивать украинским клиентам (баг конфигурации)
3) Не смотря на то, что встроенная компонента умеет работать только с русским языком, она содержит параметр для указания языка. Видимо много лет назад надеялись добавить поддержку других языков, а потом об этом забыли. Параметр очень странный! Если указать любой язык кроме русского, то платформа выдает исключение. Язык не обязателен к указыванию, если явно не задать, то берется язык по-умолчанию. (Тут барабанная дробь) Языком по-умолчанию для компоненты склонения является не язык сеанса пользователя, не язык локализации интерфейса или ключа запуска, не русский как единственный поддерживаемый язык, а внезапно - язык ОС (баг платформы)
4) Не смотря на спорную реализацию API платформы, разработчики типовых конфигураций часто использовали встроенную компоненту склонения без явного указания русского языка. Если в типовой 1С:Бухгалтерии сделать поиск вызовов ПолучитьСклоненияСтроки, то меньше чем у половины явно указан язык ru_RU - видимо только в наиболее критичных местах, на которые жаловались пользователи (баг конфигурации)
Дальше уже очевидно. Ведь даже в РФ далеко не у всех установлен русский язык в качестве языка интерфейса Windows, а уж по СНГ количество английских и национальных интерфейсов тем более является подавляющим.
Upd. Смотрите комментарий
Post #137
133
- 🤯 2