Описание сценариев использования

Синхронная разработка локальной и международной конфигурации

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

Основным языком разработки конфигурации русский. На нем задаются имена всех объектов метаданных, процедур, переменных, а также все элементы интерфейса. Одновременно разработчики задают переводы всех объектов метаданных, процедур, переменных и элементов интерфейса на английский язык. 1C:Language Tool позволяет автоматизировать перевод, используя словари и сервисы автоматического перевода. Для специальных терминов перевод должен составляться на основе консультации с англоговорящим специалистом в предметной области. 1C:Language Tool позволяет хранить переводы таких терминов в контексте их использования.

Результатом разработки в данном сценарии является:

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

Сценарий применим для команды, которая одновременно разрабатывает конфигурацию и одновременно переводит элементы интерфейса на несколько языков. 1C:Language Tool позволяет автоматизировать перевод, используя словари и сервисы автоматического перевода. Также расширение позволяет контролировать полноту перевода.

Выпуск конфигурации с поддержкой нескольких интерфейсов с привлечением внешних команд для перевода

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

1C:Language Tool позволяет отдельно хранить исходные данные для перевода интерфейса, что обеспечивает полную независимость внешней команды. Также расширение позволяет контролировать полноту перевода.

Для основной команды 1C:Language Tool позволяет легко объединять перевод интерфейса с изменениями в релизе поставщика.

Выпуск кастомизированной локальной версии

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

1C:Language Tool позволяет отдельно хранить исходные данные для перевода интерфейса, что обеспечивает полную независимость внешней команды, легкое объединение локальной конфигурации и перевода с изменениями в конфигурации поставщика, выполнять перевод расхождений и контролировать полноту перевода.

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

Порядок создания проекта:

  1. Создаем Git репозиторий (конечно в формате EDT);
  2. Первая версия в master — должна быть исходная версия конфигурации поставщика, например Розница v.1.0.1.1. Тут можно например взять 1С:ГитКонвертер, создать хранилище для конфигураций поставщика, чтобы получая новые версии (особенно если cfu) автоматически потом выгружать из хранилища;
    1. Далее следует в репозитории создать ветку supplier (неважно, как называть) — это ветка будет всегда идентична конфигурации поставщика, а в ветке мастер будет идти основная разработка;
  3. Следует вынести в отдельный процесс — само обновление типовой конфигурации поставщика — для этого можно написать скрипт который будет загружать обновления cf/cfu в базу (или хранилище 1С + ГитКонвертер) — и далее изменения (новые версии поставщика) должны помещаться в ветку supplier — выполнить коммит можно по мере выхода новых версий поставщика и никого не ждать. Это отдельный процесс;
  4. В основную ветку master следует вторым коммитом поместить функциональные изменения основанные ровно на той же версии поставщика v.1.0.1.1 (без интерфейса!!! в исходных файлах конфигурации) — если изначально была уже локализированная и модифицированная конфигурации — сначала надо в сторонке выполнить конвертацию языка и в мастер уже коммитить раздельно конфигурацию и интерфейсы;
    1. Тут настоятельно советую использовать функциональность Language Tool — которая позволяет хранить интерфейсы в отдельном проекте! Это важно для удобства работы. Назвать проект с языком: Розница.Английский в который перенести (сейчас пока вручную!) все сконвертированные файлы *.lstr и *.nstr и настроить язык Английский (в редакторе проекта конфигурации) как хранящийся в отдельном проекте;
  5. Вынеся в отдельный процесс загрузку в проект новых версий (п.п.3) — мы в репозитории имеем в ветке supplier новые коммиты с версией поставщика v1.0.1.2 — в которой поставщик выпустил исправления. А так же можно иметь версии v1.0.1.3, v1.0.1.4, v1.0.1.5,... v1.0.1.N — сколько угодно.

Порядок обновления:

  1. Создаем отдельный воркспейс в котором будем производить обновление без участия добавленных внешних интерфейсов;
  2. В созданном воркспейсе импортируем из ветки master нашу модифицированную конфигурацию поставщика, но (это важно!) не импортируем или закрываем проект+очистка если уже импортировали — проект Розница.Английский в котором хранится английский интерфейс, т.о. у на с в вокспейсе конфигурация с мотивированным проектом только функционально относительно конфигурации поставщика;
  3. Выполняем слияние ветки master с веткой поставщика supplier (supplier в master) при чем, имея в этой ветке множество версий (коммитов) — можем выбрать на какую версию обновляться — например, сразу на v.1.0.1.4 и не обновляться на последнюю версию N (по желанию)! для этого надо понимать на каком коммите находится ветка или уметь это настраивать. Можно использовать тегирование коммитов (например ГитКонвертер умеет сразу делать) — выбирать слияние с тэгом v1.0.1.4 и т.д. Тут вступает в игру "Сравнение-Объединение" от EDT которое по функциональности в разы превосходит Конфигуратор и к тому же участвует только измененные объекты относительно v1.0.1.1v1.0.1.4 с пересечением v.1.0.1.1-master (функциональная модификация исходной конфигурации поставщика — п.п.4) — так что обновление сильно упрощается и ускоряется;
  4. Далее возвращаемся в основной воркспейс — в котором есть наши 2 проекта Розница и Розница.Английский — если на одном машине и на одной Git-репе делалось — ожидаем построения проекта. Тут можно вывести процесс обновления на отдельную машину, поручить отдельному разработчику — в будущем сделать робота который обновляет автоматически это на сервере и т.д. Много перспектив! Если обновление делалось отдельно — получаем изменения master с сервера и ожидаем построения проекта.

Все, у нас обновленная модифицированная конфигурация v1.0.1.4 с добавленными интерфейсами, готовая к выпуску.