Имя: Пароль:
1C
1С v8
Несколько языков наименований значений полей номенклатуры, как лучше сделать?
,
0 Pentosh
 
19.06.17
08:18
Здравствуйте.
Конфигурация самописка, 8.3, УФ.
Поставили задачу: "надо сделать чтоб значения полей было на нескольких языках (немецкий/английский)!".
Т.е. нужно что бы у номенклатуры наименование (и другие поля, и поля других объектов) было на русском, но были переводы на другие языки. Многоязычность нужна для выгрузки на сайт, т.е. в программе все будут работать с русским языком, а на сайт будет передаваться русский и другие варианты.

Мои думы по этому поводу:
1) Сделать 1 табличку куда складывать все переводы полей объекта, структура следующая:
|ссылка на объект|поле объекта|язык|перевод|
2) Реализовать как предложено http://catalog.mista.ru/public/191421/
3) Дублировать справочники или всю базу на каждый язык (самая плохая идея, на правах бреда)

Больше придумать пока не могу.
Как бы вы это сделали?
1 Андрюха
 
19.06.17
08:20
Я бы завел регистр сведений.
2 Pentosh
 
19.06.17
08:23
(1) структуру как у меня представлено или другую?
3 craxx
 
19.06.17
08:28
(0) идея 1 самая адекватная. Более того, в УПП кажись так и реализовано, регистр чета типа "Номенклатура поставщиков"
4 Pentosh
 
19.06.17
08:29
(3) Спасибо, посмотрю
5 craxx
 
19.06.17
08:31
(4) Наврал, НоменклатураКонтрагентов
6 Адинэснег
 
19.06.17
08:58
в самописку можно и http://v8.1c.ru/overview/Term_000000293.htm  добавить
7 Адинэснег
 
19.06.17
09:00
а блин, она же не для данных наверное, хотя..
8 Pentosh
 
19.06.17
09:10
(6) напишите, пожалуйста, что по ссылке, не открывает (502 Bad Gateway)
9 Pentosh
 
19.06.17
09:15
+(8) открылось.
Сомневаюсь что это поможет данные хранить в нескольких языках одновременно, это решение для перевода интерфейса вроде
10 mistеr
 
19.06.17
09:50
(0) Оптимальное решение будет зависеть от необходимых сценариев работы. Скажем, та же номенклатура на английском не будет пересекаться с номенклатурой на немецком? Или при заведении новой номенклатуры пользователь будет обязан заполнить и перевод на все языки? (Имхо, второй сценарий нереальный, но все же.)
11 Лефмихалыч
 
19.06.17
09:53
(0) нормальное решение.
Потом встанет вопрос о том, что допсвойства и характеристики тоже бы надо перевести. Для них еще один отдельный регистр придется делать.
12 Pentosh
 
19.06.17
10:17
(10) Номенклатура одна и нужно перевести значения ее полей и полей связанных с номенклатурой данных.
Т.е. 1 номенклатура должна быть доступна на нескольких языках

(11) у меня в голове, идея что если делать регистр сведений, то имена характеристик можно вместе с полями номенклатуры переводить, а их значения переводить вроде не нужно, там только числовые пока
т.е. будет регистр у в котором указано:
"для номенклатуры А перевод поля Наименование, на англ языке, ВотТакой"
"для номенклатуры А перевод поля Описание, на англ языке, ВотТакой"
"для характеристики Ширина перевод поля Наименование, на англ языке, width"

в голове вот такая красота:)
поля буду перечислениями или справочником делать.
А т.к. эта мультиязычность нужна только при выгрузке на сайт то в коде выгрузки уже буду писать что да как получить
13 Лефмихалыч
 
19.06.17
10:41
Для перевода интерфейса есть штатная интернационализация (6). Не городи сложную систему палок и веревок. Сабж тебе нужен для перевода значений, а не интерфейса системы.
14 Pentosh
 
19.06.17
10:45
(13) перевод значений и нужен, может не правильно выражать или поняли)

"для номенклатуры А перевод значения поля Наименование, на англ языке, ВотТакой"
"для номенклатуры А перевод значения поля Описание, на англ языке, ВотТакой"
"для характеристики Ширина перевод значения поля Наименование, на англ языке, width"
15 Pentosh
 
19.06.17
10:45
(14) выражать = выражаюсь
16 mistеr
 
19.06.17
10:49
(12) Если только для сайта, то годится. Если потом потребуется еще в формах, ввод по строке и т.д., то будет тяжко.
17 Лефмихалыч
 
19.06.17
10:50
(16) это в любом случае будет тяжко
18 Pentosh
 
19.06.17
10:58
(16) нет, конфа для внутреннего пользования и будут только с русским текстом работать, а другие языки только для выгрузки

Т.о. если использовать РС, то XML будет примерно так выглядеть:
<names>
  <name lang='ru'>Имя</name>
  <name lang='en'>Name</name>
  и т.д.
</names>

т.е. будет делаться запрос к РС по нужному полю у номенклатуры
мне так кажется
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс