Локализация 1С приложений (адаптация продуктов под другие рынки)

09.05.18

Разработка - Локализация решений

Эта статья об адаптации программных продуктов под другие рынки. Что же такое локализация приложений, какие есть общие проблемы в этой области и какие есть специфичные проблемы именно 1С платформы.

1. Адаптация приложений как Интернационализация (удаление особенностей) и Локализация (добавление особенностей)
2. Подходы к адаптации
- 2.1. Адаптации средствами настройки в режиме пользователя.
- 2.2. Создание отдельных версий продукта.
3. Что именно адаптируем:
- 3.1. Логика работы приложения
- 3.2. Сложности при переводе интерфейсов
- 3.3. Работа с многоязычными данными.

Достаточно давно сталкиваюсь с задачами локализации учетных систем. Когда-то занималась адаптацией под другие страны ЕРП-системы ИТ-Предприятие, последние годы занимаюсь этим же с продуктами на платформе 1С. За время работы в голове накопился некоторый объем информации по этой теме и полезно будет эту информацию структурировать, чтобы взглянуть на нее более обобщенно.

Для начала рассмотрим основную терминологию. Что такое локализация, интернационализация и глобализация, зачем они нужны.

1. Адаптация приложений как Интернационализация (удаление особенностей) и Локализация (добавление особенностей)

В общем случае локализация приложения это лишь часть процесса адаптации его под другие территориальные рынки, т.е. под рынки других стран.

Глобализация, локализация, интернационализация

В соответствии с терминологией, используемой Ассоциацией по стандартам в области локализации (Localization Industry Standards Association или LISA), адаптация приложения начинается с  Интернационализации (от англ. Internationalisation). Под Интернационализацией подразумевается удаление из продукта национальных особенностей. Для учетных систем к этому можно отнести вынесение национальной информации (ставок НДС, статей движения денежных средств, единиц измерений) из кода в пользовательскую информацию (справочники): создание более универсальных документов, которые проще потом адаптировать. 

Второй этап адаптации это Локализации (от англ. Localisation). Это непосредственная адаптация продукта к конкретному рынку. Доработка под учет национальных особенностей (законодательства, документооборота). Также к Локализации относится перевод приложения на местный язык. Интернационализация выполняется для продукта один раз, локализация для каждого региона, для которого будет использоваться продукт. Чем качественнее выполнена интернационализация, тем проще локализация.

Интернационализация и Локализация вместе представляют из себя процесс Глобализации.

Глобализовать — означает заранее продумать проект и методы продвижения продукта, учитывая многонациональную аудиторию, чтобы избежать увеличения стоимости и проблем, связанных с качеством, а также сэкономить время и уменьшить объём усилий, затраченных на локализацию в каждой стране и регионе.

В идеале Глобализация не линейный, а циклический процесс.  Каждый виток цикла это новая редакция продукта. Изменения, сделанные на этапе Интернационализации и Локализации постепенно включаются в основной продукт, упрощая следующие итерации. 

Применительно к 1С цикл глобализации очень условно можно рассмотреть на примере адаптации УНФ к европейскому рынку. 

Конфигурация УНФ это исходный продукт. К Итернационализации можно отнести разработку на его основе продуктов SmallBusiness и SimpleERP (она же 1C:Drive).  На этом этапе мы создаем из ориентированного на русскоязычную аудиторию продукта более универсальный вариант. А Локализация это разработка на их основе отдельных конфигураций для Болгарии, Германии, Литвы и других стран. Один виток цикла глобализации это одна редакция УНФ, адаптированная для Европы.

Для многих универсальных приложений (Photoshop, Total Commander) адаптация достаточно простой процесс.  Он заключается в переводе интерфейса. Нам в это плане не повезло. Большинство приложений на 1С это учетные системы. А учетные системы очень сильно зависят от региональных стандартов. Рассмотрим, что включает в себя адаптация учетных приложения под рынок другой страны.

2. Подходы к адаптации.

2.1. Адаптации средствами настройки в режиме пользователя

Для начала рассмотрим адаптацию логики работы приложений. Это основная и наиболее сложная задача в локализации. Фактически 80% работ по локализации это именно переработки логики работы приложения. И лишь 20% времени это перевод текстов.

С задачами адаптация приложений лично я первый раз столкнулась лет пятнадцать назад. В это время я работала с ERP-системой ИТ-Предприятие. Изначально данная система была разработана под украинские стандарты учета. Неожиданно оказалось, что в России есть шикарный платежеспособный рынок и её можно продавать и там. Есть несколько вариантов адаптации приложений под рынки других стран. Для ИТ-Предприятия изначально был выбран подход, предусматривающий максимальную Интернационализацию на уровне исходного кода. И последующую Локализацию на уровне пользовательских настроек. Это способ проектирования, при котором возможность мягкой настройки под особенности учета заложена изначально. В данном подходе национально-зависимая часть отделена от каркаса приложения и может изменяться под задачи заказчика без изменения ядра системы. В ИТ-Предприятии каркас системы не зависит от страны использования. Вся национально-зависимая логика (перечень документов, взаимосвязи документов, классификаторы, ставки налогов и НДС ....) не встроена в каркас приложения, а поставляется в виде данных системных таблиц. Все отчеты для подачи в государственные органы настраиваются конструктором и поставляются в виде настроек, а не вшиты. 

Соответственно, адаптация под региональные стандарты заключается в настройке системы в режиме пользователя, без влезания в код. 

Примечание: на самом деле, последние лет 8 я не сталкивалась с этой системой и вполне возможно, что архитектура полностью поменялась. Всё, что написано тут и далее касается достаточно старого периода и используется исключительно для иллюстрации подходов к разработке.

2.2. Создание отдельных версий продукта.

Когда я начинала работать с 1С, то изначально я ожидала чего-то похожего и при адаптации 1С-продуктов. Реальность оказалась несколько иной. В 1С-решениях очень жесткая привязка к региональным стандартам именно в коде. Соответственно, для локализации используется другой подход. Условно его можно назвать, как "отдельная версия" каждого продукта под каждую страну. Так уж сложилось, что почти любое решение разрабатывается изначально под российский учет. А партнёры в каждой стране создают свою версию конфигурации на базе российского варианта. Основной проблемой такого подхода является большая трудоёмкость. Локализованные приложения очень сильно отстают по срокам выпуска исходного продукта. Часто на года. 

Собственно, "Глобализация" и "Отдельные версии" это две совершенно разные концепции адаптации приложений. Они относятся не только в локализации, но и к адаптации под особенности учета конкретного предприятия. 

Нельзя сказать, какой из этих подходов лучше. В каждом случае есть свои преимущества и недостатки. Попробуем их систематизировать.

  Глобализация Отдельные версии
Простота первичной разработки базовой версии - +

Простота адаптации под другие рынки

+ -
Простота обновления локализованных версий + -
Гибкость настройки + -
Глубина адаптации - +
Скорость работы - +

Сложность начальной разработки гораздо выше у интернационального решения. Это несколько другой и более сложный уровень абстракции. Схема вынесения национальной логики работы за пределы кода гораздо более сложная, чем просто прописать всё на этапе разработки. Зато адаптировать решение гораздо быстрее и дешевле, если в нём изначально национальные особенности выделены за пределы кода. Но и возможности такой адаптации в виде настроек гораздо ниже, чем адаптация в варианте разработке отдельных версий. Обновления проще выполнять на интернациональном решении, так как в нём национальный код не зависит от ядра и его не требуется изменять при обновлениях конфигурации. Для 1С-решений обновление национального решения на новую редакцию очень трудоемкий процесс. Фактически для обновления локализованного решения с УТ11.2 на УТ11.3 нет смысла вносить изменения в локализованную версию. Проще взять 11.3 и локализовать ее заново с нуля, используя выполненные ранее наработки. 

Скорость работы выше у "отдельных версий". Просто потому, что при вынесении логики работы в отдельные справочники требуется дополнительное время на определение этой логики при выполнении. Кроме того, при описание вычислений в виде исходного кода, а не обобщенных алгоритмов, можно получить более оптимальную конструкцию, выполняющуюся быстрее.

Обычно "Глобализация" и "Отдельные версии" не встречаются в чистом виде. 1С решения, на самом деле, тоже не совсем независимые версии. Есть промежуточное ядро платформы, общее для всех конфигураций. Соответственно, это ядро сильно упрощает разработку, но дает потери в скорости, по сравнению с прямой разработкой учетной системы, например, на Java или популярных ранее FoxPro или Delphi.

Для предприятий, переходящих с самописных программ учета на 1С, достаточно неприятным фактом является потеря в скорости работы. Это цена, которые мы платим за простоту разработку и универсальность.

Очень условно разные системы учета по степени вынесения настроек за пределы кода можно расположить следующим образом.

Чем правее на данной оси расположена система, тем более она универсальна и проста для адаптации.

3. Что именно адаптируем:

3.1. Логика работы приложения.

Что именно дорабатывается при локализации логики работы приложения? Для 1С решений к основным направлениям можно отнести:

  1. Документооборот предприятия. В разных странах банально разный набор требуемых документов. Особенно это относится к налоговым документам. Поэтому при локализации некоторые документы удаляются (например, российская счет-фактура), другие создаются заново с нуля. Меняется порядок ввода документов и их взаимодействие.
  2. Учет налогов. К сожалению, налоговая система везде разная. Начиная от ставок НДС и подоходного налога, заканчивая логикой расчета данных налогов.
  3. Отчетность. В каждой стране свой утвержденный законодательством набор отчетных форм.
  4. Учет кадров и расчет ЗП ну совершенно разный идеологически и обычно требует глобальной переработки.
  5. Торговое оборудование. К сожалению, торговое оборудование также везде разное. Разные драйвера, логика работы, порядок взаимодействия с учетными системами.
  6. Разный набор веб-сервисов, с которыми должна интегрироваться учетная система. Например, используемые в России ЕГАИС и Меркурий в других странах нафиг не нужны и их приходится аккуратно удалять из конфигурации, чтобы не путать пользователя.
  7. Классификаторы. Сюда можно отнести классификаторы единиц измерений, статей налоговых декларации, виды начислений и удержаний при расчете ЗП. При чем в большинстве случаев речь именно о разной структуре и логике использования классификаторов.

Все эти вещи в 1С  архитектуре требуют именно изменения исходного кода и не решаются универсально. Тут очень сильная зависимость от рынка, для которого выполняется адаптация. Так что подробно описывать нет смысла.

3.2. Перевод интерфейса пользователя.

Вторым основным направлением локализации является перевод приложения на язык того региона, для которого выполняется адаптация.

Есть несколько вариантов многоязычности программных продуктов. Условно их можно разделить на:

  1. Встраивание нескольких языков одновременно в исходный код программного продукта. Именно этот подход используется для 1С приложений. Если мы выпускаем многоязычную конфигурацию, то все поддерживаемые языки изначально встроены и добавить убрать что-то в режиме пользователя нельзя.
  2. Отдельный набор файлов продукта для каждого языка. Такая схема используется, например, в ИТ-Предприятии. При разработке логики работы в исходном коде используются только русскоязычные тексты. При сборке готового программного продукта русские тексты меняются на другие языки и собирается несколько наборов исходных файлов. Отдельный для каждого языка. 
  3. Отдельные файлы с текстами переводов. Достаточно популярный подход, при котором дополнительные языки поставляются в виде отдельных текстовых папочек. Такой подход часто используется в небольших программных продуктах, скриптах, многих опенсорс решениях.

Реализация полноценной многоязычности программного продукта на самом деле достаточно сложная техническая задача. И в 1С, на мой взгляд, она реализована очень хорошо именно средствами платформы. Разные языки платформы, любые языки интерфейса, поддержка национальных дат и чисел, интернационализация на строенном языке. И даже возможность писать код на двух языках. На самом деле это просто огромный пласт работы, выполненный за нас. Нам не нужно задумываться о выводе текстов в разные режимах, об анализе настроек пользователей. Всё это делает платформа.  Наша задача как разработчиков сводится к простому вписыванию нужных текстов в конкретные поля конструктора.

На текущий момент имеющиеся средства платформы позволяют полноценно перевести приложение на любой язык, поддерживаемый платформой. И частично перевести на любой другой неподдерживаемый. В этом случае платформенные сообщения останутся для пользователя на чужом языке, но основной интерфейс будет понятен. 

3.2. Сложности при переводе интерфейсов.

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

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

Текущие проблемы локализации конечно есть. Но большинство из них универсальны для любых продуктов, не только 1С.

Из основных сложностей можно выделить:

  1. Разная длина текстов в разных языках. В результате тексты не влазят в нужное место экрана. Эта проблема была очень актуальна для обычного интерфейса, в котором все позиции элементов жестко заданы. С переходом на управляемые формы проблема почти решилась. Платформа сама подстраивает размеры форм под длину текста.  В актуальных конфигурациях проблема с отображением текстов встречается в основном в печатных формах и обычно решается расширением поля для текста в печатной форме.
  2. Отсутствие контекста при переводе. Достаточно просто переводить связные тексты. Однако перевод интерфейса это в большинстве случает перевод отельных слов и фраз. Более того, иногда независимо переводятся разные части одного предложения. В итоге, когда эти фразы расставляются в нужные места, часто получаются достаточно бредовые сочетания. Можно, конечно, переводить каждую экранную форму независимо, но это просто дикий объем работы. Насколько я знаю, никем не используется. 
  3. Непонимание переводчиком логики работы ПО. Профессиональный переводчик старается делать красивый литературный текст. К сожалению, такой перевод неприменим для программного обеспечения. Ибо в этом варианте меняется логика фраз и часто меняется на совершенно не ту, которая подразумевалась. Для перевода интерфейса нужен максимально простой вариант перевода. И его должен выполнять человек, работающий с данной системой и понимающий её логику. 
  4. Многозначность слов. Одно и то же слово в одном языке может иметь несколько значений в другом. Поэтому мы не можем однозначно прописать перевод для каждого слова. Например, русское слово "Нет" может использоваться в контексте "Нет (Отрицание)" и "Нет (Отсутствует)". А в других языках это разные слова. И переводиться должны по-разному. В большинстве случаев такая проблема решается заменой в русском тексте слова на его синоним. Если менять русский тест нежелательно, то вводится третий язык, в который и записываются синонимы. И уже этот третий язык переводит на нужный.
  5. Динамически изменяемые параметры. Во многих сообщениях часть фразы (цифры, наименования элементов) неизвестны на этапе перевода. Более того в разных языках данные изменяемые параметры могут быть в разных частях фразы. В итоге получаются не совсем корректные переводы. Частично эта проблема решается использованием СтрШаблон(). Благодаря подстановке шаблонов можно разместить в разных языках параметр в разное место предложения.  Но всё равно остаются проблемы, связанный с разной логикой построения предложений, падежами в разных языках.
  6. Использование текстовых констант в программном коде. В 1С достаточно часто текстовые константы используются как ключи, имена переменных, имена элементов формы. При переводе очень важно отследить эти места и не переводить данные фразы. Иногда это достаточно сложно, так как текстовая константа одновременно и ключ, и отображаемый текст. В результате, для перевода интерфейса приходится менять логику работы кода.

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

3.3.Работа с многоязычными данными.

Из нерешенных сейчас полноценно задач хотелось бы отметить хранение в базе многоязычных данных. Это необходимо при одновременной работе в системе пользователей с разными языками интерфейса.

В идеале хотелось бы дойти до варианта, при котором каждый пользователь работает полноценно на своем языке.

Статичный интерфейс перевести просто. Сложности начинаются в случае, если нам нужно поддерживать актуальными многоязычные данные. К таким данным относятся.

  1. Интерфейсные данные. Т.е. данные об интерфейсе, хранящиеся в справочниках и отображаемые пользователю. Примером таких данных можно назвать механизм "Варианты отчетов". Данный механизм позволяет пользователю самостоятельно настраивать, какие отчеты отображать в интерфейсе и как их назвать. Проблема в том, что текущая реализация БСП подразумевает хранение данных только на одном языке. Поэтому наименования и описание отчетов отображаются для всех пользователей на одном и том же языке.
  2.  Данные классификаторов. Единицы измерения, справочники, валюты. Всё это логично отображать пользователю на его интерфейсе.
  3. Пользовательские данные. Наименование номенклатуры, должностей, подразделения, статьи доходов и расходов. 

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

Проблема в том, кто будет каждый раз выполнять перевод данных. Ведь если мы меняем данные на одном языке, то логично изменить и перевод на другой язык Можно, конечно, переводить автоматически при сохранении или вручную. Но в таком случае очень вероятны со временем совершенно левые данные на втором (неосновном) языке. 

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

глобализация локализация интернационализация адаптация

См. также

Склонение слов на казахском языке

Локализация решений Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Казахстан Абонемент ($m)

Данная обработка содержит функцию получения всех 7 падежей слова.

1 стартмани

11.05.2023    1697    1    VladimirB    0    

5

Перевод исходного текста

Инструментарий разработчика Локализация решений Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Перевод исходного текста форм конфигураций 1С.

1 стартмани

11.04.2023    2251    4    v3132    0    

5

Реализация перевода текста средствами Azure

WEB-интеграция Локализация решений Платформа 1С v8.3 Россия Бесплатно (free)

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

19.11.2021    1073    user1559835    2    

5

Нюансы создания конфигураций на нескольких языках

Локализация решений Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Рассмотрим на примере ERP WE различные нюансы при реализации решений на нескольких языках.

25.07.2020    2789    Flashill    4    

8

Перевод кода и метаданных конфигурации на английский язык: часть 2

EDT Локализация решений Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Практический пример подготовки словаря для перевода кода и модели конфигурации УНФ 1.6 на английский язык с использованием существующих словарей и плагина EDT Language Tool. В статье приводятся готовые скрипты и алгоритмы сборки и нормализации словаря.

1 стартмани

05.04.2020    5127    vanjushkin    0    

13

Перевод кода и метаданных конфигурации на английский язык с помощью плагина EDT: Language Tool

EDT Локализация решений Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Использование регулярных выражений для парсинга .mdo-файлов и составления русско-английского словаря метаданных. Перевод кода и метаданных конфигурации по словарю с помощью нового инструмента 1С - плагина EDT: Language Tool на примере УНФ 1.6

1 стартмани

03.04.2020    5647    vanjushkin    10    

14

Транслитерация украинского алфавита

Локализация решений Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка для транслитерации украинских текстов на латиницу. ВАЖНО - для транслитерации русского алфавита не подходит!

1 стартмани

23.03.2020    4233    3    kaliuzhnyi    0    

3
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. gorakh 26 19.01.18 12:01 Сейчас в теме
Пользовательские данные - Разруливаются через "представление ссылки", Можно хранить как в самом объекте, Так и в регистре сведений. Наименования базовых классификаторов аналогично. А с СКД проблема. Язык для макетов без "бубна" не передается.
2. ekaruk 4897 19.01.18 12:18 Сейчас в теме
(1) Язык макета обычно по умолчанию берется из языка интерфейса.
В регистре сведений нельзя. Вернее можно, но потом очень долго из регистра получать для каждой ссылки. Нужно именно в полях объекта.
Представление ссылок в СКД (как и в любых документах и справочниках) будет ровно то, что сформировано в процедуре модуля менеджера ОбработкаПолученияПредставления().
Тут вроде тоже никаких проблем нет.
3. gorakh 26 19.01.18 12:25 Сейчас в теме
(2)"для макетов" - для каждого языка свой макет.
4. ekaruk 4897 19.01.18 12:26 Сейчас в теме
(3) В смысле если нужно формировать СКД на языке, отличном от языка интерфейса?
5. gorakh 26 19.01.18 12:28 Сейчас в теме
6. gorakh 26 19.01.18 12:34 Сейчас в теме
(2) В регистре сведений преставления получаем через общий модуль со свойством повторное использование получаемых значений - на время сеанса. У меня на 100 человек работает.
7. ekaruk 4897 19.01.18 12:51 Сейчас в теме
(6) Да, согласна.
Тоже хороший вариант.
Повторное использование получаемых значений подходит, должно решать проблемы со скоростью.
Мне кажется, из полей объекта было бы чуть-чуть быстрее, особенно для большого количества данных. Но не принципиально.
Думаю, в данном случае легкость внесения изменений перекрывает другие недостатки.
8. gorakh 26 19.01.18 12:53 Сейчас в теме
(7) Особенно когда количество языков приближается к десятку.
9. Steelvan 302 19.01.18 20:04 Сейчас в теме
Человек должен знать два языка = Родной и Эсперанто.
19. ekaruk 4897 23.01.18 16:34 Сейчас в теме
(9) Увы, сейчас реальность другая. Нужен родной и английский. Причем родной не всегда :(
22. Steelvan 302 23.01.18 19:30 Сейчас в теме
(19) хе-хе, мы сами создаем эту видимость, что английский нужнее, сами себя ставим в эти рамки.

Достаточно просто начать использовать нормальный международный язык Эсперанто, и остальные подтянутся.
Эсперанто учится месяц по паре часов в день.
10. grumagargler 723 20.01.18 01:04 Сейчас в теме
Подскажите пожалуйста, а у вас был опыт не локализации, а разработки продукта на базе 1С под другой, не русскоязычный рынок? Была ли возможность сравнить затраты и полученный результат? Интересен полученный опыт, если конечно идея создания своего решения не была пресечена на корню.
12. ekaruk 4897 20.01.18 11:51 Сейчас в теме
(10) Я в основном работаю на украиноязычный рынок.
На самом деле создание продуктов на нероссийские рынки достаточно неэффективно.
У меня есть некоторая статистика по моим мелким продуктам (обработкам, расширениям), размещенным на Инфостарте. Спрос на версии по нероссийским конфигурациям (Украина, Белорусь, Казахстан) это мизер по сравнению со сросом на варианты для российского рынка. На англоязычные как-то совсем спроса пока не вижу.
Как мне кажется, логичнее все-таки адаптировать.
11. KAV2 156 20.01.18 03:20 Сейчас в теме
Одна из проблем при внедрении на международном рынке это отсуствие универсальных обработок адаптированных под ситуацию, когда основной язык конфигурации - английский, а также БСП английская. Чаще всего обработки, опубликованные на infostart также требуют допилки.
13. ekaruk 4897 20.01.18 12:14 Сейчас в теме
(11) Да, действительно это отдельная тема.
Тут я бы выделила 3 проблемы.
1. Отсутствие интерфейса. Если мы открываем обработку с языком пользователя, которого нет в обработке, то пользователь видит просто поля без наименований. Обычно решается режимом конфигуратора "Поиск текстов интерфейса" и копированием из русского языка в целевой. В этом случае отображается хотя бы русский интерфейс при открытии в другом языке.
2. Ошибки именно в работе чаще связаны не с англоязычным кодом, а с англоязычным языком платформы.
Например, обработка ожидает, что ошибка будет выглядеть, как "Слишком много фактических параметров". А на самом деле появляется ошибка "Занадто багато фактичних параметрів". В итоге вся логика обработки ломается.
Если речь идет именно о редком использовании администратором, а не постоянном использовании пользователем, то часто проблема решается просто запуском ИБ с русским языком платформы.
3. Есть и проблемы именно связанные языком разработки. Решаются только анализом кода и доработкой. Но их на самом деле все-таки не так много.
17. Dementor 1015 22.01.18 18:11 Сейчас в теме
(13)
2. Ошибки именно в работе чаще связаны не с англоязычным кодом, а с англоязычным языком платформы.

Буквально пару месяцев назад с таким сталкивался в одной отраслевой конфигурации, которая ранее успешно прошла сертификацию в 1С. Что бы понять тип переданного параметра (ссылочный или примитивный), от этого параметра получался тип и приводился к строке в нижнем регистре, в которой далее искалось русское слово "ссылка".Поскольку дело происходило в Украине, то параметр ошибочно определялся как не ссылочный и далее алгоритм работал неверно. И такой бред нашел в нескольких местах.
14. McSim_ 20.01.18 14:12 Сейчас в теме
На самый больной мозоль! Спасибо за статью.
Довольно типичная картина для иностранных 1С:Франчайзи. Каждый из нас рано или поздно выбирает какую-то типовую конфигурацию 1С и вкладывается в её адаптацию под свою страну. Положим, 1 год до выпуска полноценного релиза. Затем 1-2 года на то, чтобы потенциальный клиент воспринимал новое предложение как норму. Далее 2-3 года бурного развития и... Всё. В России за эти 5 лет концептуально меняется платформа, конфигурации и локализованная местная уже выглядит на фоне тысяч роликов в ютубе как прошлый век.
Мы месяц назад продали надеюсь последнюю 1С:Бухгалтерия 6.0 с нашими настройками. :-)
Бух77 с нашей написанной с нуля конфигурацией под Эстонию до сих пор пользуется спросом. Свой же ТиС не продаём, но поддерживаем.
Региональный дистрибьютор несколько лет назад предоставил - спасибо ему - типовую Бух8, созданную на основе латышской типовой, в свою очередь созданную на российской Бух 8.1 версии 1.3, по-моему.
1С считает эту конфигурацию региональной типовой со всеми вытекающими, что не способствует возникновению новой, на уровне всё-таки современных технологий.
В итоге что имеем. Конфигурации 1С в других странах всегда будут отставать от российских типовых. Вкладывать столько средств в развитие конфигураций, как этом может себе позволить 1С, не сможет ни один франчайзи, сколько бы у него в своём государстве ни было клиентов. В результате, даже по сравнению со ПО своей матери, ПО дочек всегда будет в хвосте и в некоторых случаях даже работать против репутации 1С. Пока не появятся универсальные конфигурации, о которых Вы говорите в начале статьи. Интернационализация на уровне исходного кода.
1С:Drive - шанс получить одну единственную конфигурацию, которая силами 1С будет поддерживаться в актуальном по технологиям состоянии. Это несколько другой подход. И отдельная тема.
Dementor; ekaruk; +2 Ответить
15. ekaruk 4897 20.01.18 14:48 Сейчас в теме
(14) Да. В этом и смысл.
В идеале нужна универсальная Интернациональная конфигурация, из которой при адаптации хотя бы не нужно ничего вырезать. При локализации нужно будет только добавить свои дополнительные документы, налоги, отчеты.
А следующая итерация должна быть не новой конфигурацией на основе актуальной российской типовой. А обновлением интернациональной на новые стандарты платформы. Чтобы для адаптации нужно было просто накатить сверху свои изменения сделанные для старой редакции и адаптировать их к новым стандартам платформы.
Но на самом деле это дикий объем работы. Поэтому не знаю, придём ли к такой идеологии.
16. gorakh 26 22.01.18 10:05 Сейчас в теме
В БСП должны присутствовать подсистема "интернализации".
20. ekaruk 4897 23.01.18 16:35 Сейчас в теме
(16) На самом деле в БСП действительно достаточно неплохие инструменты по вырезанию подсистем.
Иногда полезны.
18. Iaskeliainen 384 23.01.18 14:19 Сейчас в теме
Можно было бы и статью которая вас вдохновила указать в шапке https://infostart.ru/public/141022/
21. ekaruk 4897 23.01.18 16:38 Сейчас в теме
(18) Не могу ее назвать как вдохновителя. Хотя, возможно, когда-то давно и читала.
Финт с переводом через =GoogleTranslate() действительно красивый.
Но она об инструментах, а у меня больше об общей концепции.
23. KAV2 156 01.02.18 06:23 Сейчас в теме
Добавлю еще такую мысль, что не хватает infostart для англоязычных конфигураций. 1c-dn.com не закрывает всех потребностей, в частности потребность делиться опытом и разработками.
26. ekaruk 4897 01.02.18 11:10 Сейчас в теме
(23) Думаю, в первую очередь все-таки не хватает англоязычных конфигураций :)
24. spezc 782 01.02.18 06:37 Сейчас в теме
Для мировой экспансии нужен форум, где англоязычные пользователи могут задавать вопросы и получать ответы. Русско-язычные программисты даже с 10 летним стажем регулярно обращаются за помощью "к залу" - гуглят конкретные вопросы, а если не находят, то задают их.
А представьте у англоязычного пользователя есть вопрос, который по сути элементарный и ответ на него гуглиться по сути за пару минут на Мисте или Инфостарте, но ему это не доступно.
25. ekaruk 4897 01.02.18 11:07 Сейчас в теме
(24) Как вариант, для этого есть 1c-dn.com
Хотя он не особо активен сейчас.
27. КДЕ 19 29.05.20 00:37 Сейчас в теме
Интересно, а сталкивались ли вы с проблемой локализации (перевода) вычисляемых полей в динамических списках с произвольным запросом?

Например в динамическом списке с простым запросом:

ВЫБРАТЬ
	Справочник1.Наименование КАК Наименование,
	Справочник1.Реквизит1 КАК Реквизит1,
	ВЫБОР
		КОГДА Справочник1.Реквизит1 = Справочник1.Наименование
			ТОГДА ИСТИНА
		ИНАЧЕ ЛОЖЬ
	КОНЕЦ КАК ОдноименныйРеквизит
ИЗ
	Справочник.Справочник1 КАК Справочник1
Показать


интересует как локализовать поле "ОдноименныйРеквизит", чтобы в настройках динамического списка у пользователя оно отображалось на его языке, чтобы он мог по нему например отбор настроить.
Пример как это выглядит сейчас - на скриншоте. Копию базы с этим примером, на всякий случай прикрепил.
Прикрепленные файлы:
БазаЛокализацияДинСписка.dt
28. bigono 6 10.07.20 16:41 Сейчас в теме
Поясните, почему для международных продуктов речь идёт о локализации.
Это отдельные продукты со своей логикой и совершенно другими особенностями, чем российский учёт.
Оставьте свое сообщение