Английский интерфейс для 1С: Управление торговлей. Перенос перевода из 1С: ERP

Публикация № 1231793 05.05.20

Разработка - Работа с интерфейсом

Перевод текстов интерфейсов Управление торговлей Trade managment Английский интерфейс english interface.

Полноценный англоязычный интерфейс для 1С: Управление торговлей. Я передаю идею, а пользоваться или нет, решайте сами. Надеюсь, эта статья ускорит появление продукта 1C:Trade Management 11.

1. Предыстория.

1 мая 2020 года. Готовлюсь к экзамену 1С Специалист-консультант по Бюджетированию в ERP. Копаюсь в отладке, пытаясь понять, почему не работает отчет. И вдруг обнаруживаю, что в 1С ERP, присутствует перевод на Английский. Причем вполне рабочий. Причем уже больше года (как выяснилось при дальнейшем рассмотрении). Открываю 1С Управление торговлей, и вижу, что нет перевода на Английский. И тут я понимаю, что экзамен может подождать, а заняться чем-то интересным ждать не может.

2. Первые шаги.

Взяв одинаковые версии УТ (11.4.11.100) и ERP (2.4.11.100) принялся колдовать.

1. В 1С Управление торговлей снял конфигурацию с поддержки (Хотя это делать было не обязательно). Добавил Английский язык.

В 1С ERP выбрал Правка - Редактирование текстов интерфейса. Включил всю конфигурацию + Поиск в НСтр(NStr).

Выгрузка файла с расположением кода заняла более 4 гигабайт в формате MXL. Без расположения - 258 мегабайт.

Заполнился огромный список результатов.

Думая, что сейчас я загружу этот список в 1С Управление торговлей, и будет 1C Trade Management.

Однако при загрузке поймал ошибку 

Потратив около часа на поиск причины возникновения ошибки обнаружил, что при выгрузке выгружаются значения 

Русский (ru) Английский (en)

А загрузчик ожидает получить

ru en

Исправив это недоразумение, я перешел к загрузке.

Однако заполнился минимум значений из файла с переводом на английский язык.

 

3. Формирование собственного файла с переводом.

Решив использовать очень популярную конфигурацию 1С Переводчик я скачал ее с пользовательского портала. Загрузил. И ничего не получилось.

Посмотрел внимательно видео на Youtube, повторил, и опять ничего не получилось. Точнее файл загрузил. Но словарь не заполнился. Соответственно переводить нечего, а т.к. время было уже 3 часа утра, принял решение идти спать.

На утро возникла светлая мысль, перейти к анализу в python, для удобства выбрал Juputer notebook.

Первое, что сделал - это сформировал в голове идею.

Мне необходимо выгрузить все тексты интерфейса + НСтр из 1С Управление торговлей, и уже для них искать переводы.

Для анализа использовал пакет Pandas в Python.

Сначала подгрузил нужные библиотеки Python.

Далее перешел к очистке выгруженных переводов, а именно.

Строчки, в которых отсутствует перевод на Английский, строки, в которых отсутствует перевод на русский. (Да, такие были).

Строчки, в которых текст на русском, и на английском был одинаковым.

Далее, для меня было откровением, что были чудесные переводы. Когда к примеру число 2 переводилось на английский как 3 :)

Так и откровенно полное нарушение смысла задумки.

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

Далее примерное подобные действия выполнил для выгрузки текстов интерфейса + НСтр из конфигурации 1С Управление торговлей.

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

Далее произвел объединение двух датасетов, по внутреннему соединению, с проверкой, что в результате не возникло ситуации, когда одному русскому переводу соответствует более 1 перевода на английском языке. По непонятной мне причине заполнение текстов в этом случае просто не отрабатывает.

Сохранил результат в файл excel, для дальнейшей обработки. С помощью 1С перевел файл excel в mxl и произвел загрузку.

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

С интерфейсами было все хорошо. А вот с печатными формами была беда. По непонятной причине отсутствовал перевод всех полей типа текст.

А победа была так близка.

При попытке поправить элемент поля текст, данная строка подсвечивалась серым, и перевод естественно не удавался.

4. Перевод текстов макетов.

3 мая.

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

Я понял, что нужна будет отладка, много отладки. И перевел разработку в PyCharm

В Jupyter notebook сохранил результат объединения в csv файл

 

Произвел импорт необходимых библиотек.

Создал функцию, которая будет возвращать перевод, + дополнительно выводить отладку, впервые найденных возможных переводов.

Загрузил результат перевода, с которым я работал в Jupyter notebook

Выгрузил конфигурацию 1С Управление торговлей в файлы. Конфигурация - Выгрузить конфигурацию в файлы.

И произвел поиск всех файлов, которые содержат имя Template.xml, эти файлы и есть mxl файлы, переведенные в xml вид.

 

А далее начинается треш. Я до этого много работал с XML в 1С, а в Python столкнулся в первый раз. Сначала воспользовался модулем ElementTree, который отлично справляется с поиском. Но при модификации xml файла, считает, что пространства имен, объявленные в xml файле имеют не совсем идеальные префиксы, и выполняет присвоение новых префиксов. Плюс удаляет старые, неиспользуемые префиксы.

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

    <line width="1" gap="false">
        <v8ui:style xsi:type="v8ui:SpreadsheetDocumentCellLineType">Solid</v8ui:style>
    </line>

Исправив эти ошибки, начали появляться артефакты в макетах СКД, и я понял, что надо более деревянный инструмент, который будет только добавлять требуемый мне текст.

И этим инструментом оказался minidom.

Путем разбора полетов, я понял, что в xml меня интурусуют тэги tl

, внтри которых мне нужно проанализировать, есть ли перевод на английский, и если нет, то, поискав в базе переводов, добавить его. Очень приятно, что данная библиотека не меняет пространства имен. И загрузка прошла без ошибок.

Основной функционал переведен на английский язык.

И оно работает.

Это было очень приятное отвлечение, от основных рабочих задач. 3 дня самоизоляции пролетели незаметно.

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. starik-2005 2834 05.05.20 10:20 Сейчас в теме
Питончик - мегавещЪ!
cleaner_it; anatoliy.kichuk; _Ramzes; +3 Ответить
2. _Ramzes 119 05.05.20 12:09 Сейчас в теме
(1) Я когда в первый раз познакомился с Python, понял, как скудны возможности 1C. Но 1С исправно кормит меня и мою семью уже 17 лет. Поэтому 1С вне конкуренции.
iCortezik; yurowski; cleaner_it; andrvyst; pm74; +5 Ответить
3. capitan 2341 05.05.20 16:28 Сейчас в теме
(2)Вспоминается...
— Девушка, это вы вчера танцевали на столе в нижнем белье? — Я? В нижнем белье? Да вы рано ушли! ...

Это вы видимо еще с JAVA не знакомились )
4. DitriX 2075 06.05.20 17:27 Сейчас в теме
Вот только то, что вы сделали - в реалиях не понятно как использовать.
Причин несколько:
1. При очередном обновлении УТ11, надо будет вырезать инглишь, обновить и накатить снова.
2. Проблема двойного перевода слов - никуда не делать, а все только усугубилось, так как не понятно - что будет взято за основу
3. В ЕРП в не малом количестве мест - английский = русскому, т.е. вместо инглиша там тупо русский, а значит - не понятно что возьмет ваш скрипт за основу
4. Идеологически, программисты не должны знать о втором языке ничего, иначе получите трешь и содомию, в виде скопированных реквизитиов и исправленных только в русском переводе
5. Наличие второго языка - подразумевает, что и все доработки, в том числе внешние - тоже должны переводиться.

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

Но, в качестве изучения темы, разбора ее и анализа - вполне уместное время провождения :)
А проблема переводов уже решена (и это не древний не подъемный переводчик), причем, как мне кажется - даже круче чем в других языках :)
5. _Ramzes 119 06.05.20 19:26 Сейчас в теме
(4) Спасибо большое за комментарии.
То, что было сделано, выполнялось только для интересного времяпровождения, чтобы отвлечься от основных рабочих задач.
Подскажите пожалуйста, каким образом проблема переводов успешно решена? Я пока знаю только НСтр и Синонимы объектов.
6. DitriX 2075 06.05.20 19:37 Сейчас в теме
(5)тут идея немного в другом. И проблемы другие.

https://infostart.ru/public/1156027/
тут подробнее и видео есть.
7. user729991 05.08.20 16:49 Сейчас в теме
Продайте готов обсудить, как готовое решение на штатную конфигурацию
8. k-service44 81 05.01.23 08:46 Сейчас в теме
Добрый день!
У Вас написано:
"Взяв одинаковые версии УТ (11.4.11.100) и ERP (2.4.11.100) принялся колдовать.

1. В 1С Управление торговлей снял конфигурацию с поддержки (Хотя это делать было не обязательно). Добавил Английский язык."
Как понимать фразу - "Хотя это делать было не обязательно"?

и как добавить язык без снятия конфигурации с поддержки?
Оставьте свое сообщение

См. также

Подсистема 1С "Визуальные инструменты АФРОДИТА" (Панель показателей и виджетов)

Работа с интерфейсом Рабочее место Мониторинг Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Создайте свою панель показателей и виджетов в любой конфигурации 1С с помощью подсистемы 1С "Визуальные инструменты АФРОДИТА". Дашборды на начальном экране изменят ваш подход к интерфейсу и рабочему месту.

10800 руб.

20.03.2023    6913    7    17    

24

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    52123    15    21    

38

Конструктор HTML, CSS и javascript

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

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

2 стартмани

10.04.2023    6049    130    acces969    28    

103

Модель состояния для MVC

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

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    1522    kalyaka    2    

16

Программный интерфейс для доработки форм

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

Реализовал простой способ программного создания новых элементов, команд и реквизитов на форме.

25.11.2021    6757    AtamanovYS    19    

122

[mobile] Переносим HTML интерфейс на 1С

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

Разберем методы переноса HTML интерфейса на 1С на примере реализации нижнего меню для мобильного приложения. Сравним методы между собой. Данные методы можно применять не только для мобильной разработки, но и для веб-клиента и т.д

02.11.2020    13743    leobrn    82    

106

Редактор графов

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Внешний отчет, формирует граф на основе таблицы значений, используя рисунки табличного документа. Есть возможность добавления, редактирования объектов графа и выгрузки результата в таблицу значений.

1000 руб.

06.10.2020    7541    4    7    

6

[Общий модуль] Динамическое формирование интерфейса

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

Библиотека готовых функций для разработки интерфейса формы и размещения на нём элементов формы с помощью программного кода.

28.08.2020    31069    rpgshnik    88    

284

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

2400 руб.

29.06.2020    13050    15    4    

22

Форма выбора (подбор) в управляемых формах

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

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020    180248    user5300    40    

291

Простой и красивый интерфейс

Работа с интерфейсом Мобильная разработка Мобильная платформа Бесплатно (free)

Разработчики мобильных приложений на платформе 1С сталкиваются с проблемой адаптации сгенерированного платформой интерфейса под удобство использования. О том, какие приемы помогут сделать интерфейс красивым и удобным, на конференции Infostart Event 2019 Inception рассказал руководитель отдела мобильной разработки компании «1С-Рарус» Никита Бакшеев.

30.01.2020    20963    Baksheev-Nikita    36    

110

СКД. Шаг 3. Используем макеты для оформления отчета

Работа с интерфейсом Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

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

13.01.2020    72238    aximo    23    

199

[СКД] Вывод картинки в результат любого отчета на СКД

Работа с интерфейсом Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

Если у вас в справочнике Номенклатура (или другом справочнике) заполнена картинка, то ее можно легко вывести для наглядности отчета.

09.12.2019    16187    John_d    18    

122

[Взрыв шаблона!] Новый способ программной настройки условного оформления

Работа с интерфейсом Управляемые формы Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

01.12.2019    30546    73    mszsuz    13    

161

Управляемые формы. Изменение формы списка или формы объекта без внесения изменений в типовые формы (без использования расширений)

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

Вносим изменения в типовые формы объектов (документы, справочники, журналы, обработки, общие формы). Не снимая с поддержки эти формы. Создаем программно элементы из общего модуля. Для примера рассмотрю добавление колонки "Скрепка" в форму списка документа. Если к документу привязан файл, то в списке в новой колонке должна отображаться "скрепка".

12.11.2019    21533    John_d    29    

125

"Живые" картинки со Snap.SVG

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 Абонемент ($m)

В статье рассмотрен пример использования http-сервисов для визуализации данных

1 стартмани

24.10.2019    16593    blackhole321    7    

94

Создание асинхронных виджетов

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

Описание нескольких способов создания асинхронных виджетов для 1С:Предприятия. Рассматриваются способы с использованием HTTP-сервисов и фоновых заданий.

16.10.2019    16392    Infostart    19    

156

Формы. Трудности программной работы

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Бесплатно (free)

Рассматриваем основные подводные камни, с которыми приходится сталкиваться при программной работе с формами, а также способы обхода самых частых проблем.

06.10.2019    14744    Infostart    32    

116

Альтернативный способ добавления элементов и реквизитов на формы

Работа с интерфейсом Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Россия Абонемент ($m)

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

1 стартмани

09.09.2019    26125    46    bmk74    9    

83

[Шпаргалка] Программное создание элементов формы

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

Программное создание практически всех популярных элементов формы.

06.09.2019    208817    rpgshnik    87    

863

Отслеживание выполнения фонового задания

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

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    56168    ids79    23    

224

[Механизм интерфейса] Свой флажок (чекбокс)

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

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

1 стартмани

09.08.2019    32155    29    rpgshnik    44    

172

Форма отчета СКД

Работа с интерфейсом Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

Описание объекта ОбщиеФормы – ФормаОтчета.

01.08.2019    22435    vasilev2015    5    

89

Подсистема "Варианты отчетов". Используете ли Вы ее правильно?

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

Небольшая история про использование подсистемы "Варианты отчетов" из БСП. Используете ли Вы ее правильно?

04.06.2019    72661    Infostart    57    

334

Быстрый ввод неудобных символов

Работа с интерфейсом Бесплатно (free)

Использование Alt-кодов для ввода “[”, “]”, “”, “&”, “#”, “|”

15.04.2019    20056    pparshin    30    

97

Программное добавление элементов на управляемую форму

Работа с интерфейсом Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

Пример добавления Команд, Полей ввода, Групп, Страниц, Реквизитов, Обработчиков событий.

1 стартмани

13.02.2019    145198    74    spec8s    47    

256

Расширение: Темы для 1С 8.3

Работа с интерфейсом Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Расширение позволяет сменить цвет оформления для интерфейса Такси.

3 стартмани

10.02.2019    33840    211    spec8s    29    

60

HTML в новой версии 8.3.14 на примере 3-х JavaScript библиотек: AmCharts, HighCharts, DHTMLX

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

Тестируем возможности HTML в новой версии 8.3.14 платформы на примере 3-х JavaScript библиотек: AmCharts, HighCharts, DHTMLX.

1 стартмани

29.01.2019    34672    Synoecium    46    

215

Подмена заголовка 1С

Универсальные функции Работа с интерфейсом Россия Бесплатно (free)

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

08.12.2018    12450    moolex    26    

26

Шпаргалка разработчика для работы с формами

Работа с интерфейсом Платформа 1С v8.3 Россия Абонемент ($m)

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

3 стартмани

31.10.2018    22094    95    ELAM    3    

30

Открывашка ячеек таблиц

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

Глобальное сочетание клавиш для открытия объекта по ссылке из текущей ячейки любой таблицы в большинстве управляемых форм

1 стартмани

27.10.2018    29190    16    tormozit    39    

107

Прикладной пример переработки стандартной формы РМК - Розница

Работа с интерфейсом Кассовые операции Розничная торговля Платформа 1С v8.3 1С:Розница 2 Управленческий учет Бесплатно (free)

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

04.10.2018    25414    asdfgcom    88    

92

Визуализация событий на временной шкале средствами "Поле HTML документа"

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

Интересный способ наглядно отобразить события на временной шкале. Например, может быть применен для красивого вывода документов по клиенту. Тестировалось на платформе 8.3.12.1469

1 стартмани

31.07.2018    36238    160    Plotks2017    27    

236

Продвинутое рисование в табличном документе (стрелок и не только)

Работа с интерфейсом Платформа 1С v8.3 Абонемент ($m)

Вспоминаем геометрию и основы компьютерной графики. Матрицы и аффинные преобразования на плоскости.

1 стартмани

24.07.2018    28193    28    WalterMort    31    

87

[Шпаргалка] Свой заголовок отчету на СКД с параметрами, картинками (без программирования)

Работа с интерфейсом Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

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

23.07.2018    103181    rpgshnik    73    

365

Работа с данными выбора

Работа с интерфейсом Платформа 1С v8.3 Россия Абонемент ($m)

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

1 стартмани

17.07.2018    96715    33    kalyaka    17    

74