Модераторы: stron
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Печатная форма на определенном языке, 1С: Предприятие 8.1 
:(
    Опции темы
wind1
Дата 26.5.2008, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 29.6.2007

Репутация: нет
Всего: нет



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

Это сообщение отредактировал(а) wind1 - 26.5.2008, 17:40
PM MAIL   Вверх
mmvds
Дата 26.5.2008, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 22.12.2007

Репутация: 2
Всего: 6



Добавляем на форму ввода объект поле ввода, его имя ставим например "Язык", значения типа ссылка на справочник языков или перечислений (создать самому)
далее при создании табличного документа (для печатной формы) для нужного языка пишем нужные значения соответствующим областям документа, например:
Код

Таб=Новый ТабличныйДокумент;
если язык="Русский" тогда
Таб.Область(1,1).Текст="Документ";
Таб.Область(1,2).Текст="Прайс лист";
Таб.Область(2,1).Текст="Дата";
   иначеесли язык="English" тогда 
      Таб.Область(1,1).Текст="Document";
      Таб.Область(1,2).Текст="Price list";
      Таб.Область(2,1).Текст="Date";
           иначеесли язык="Espanol" тогда 
                     ....
конецесли;
...тут все остальное, что для всех языков (распечатка данных документа)...



Это сообщение отредактировал(а) mmvds - 26.5.2008, 19:49
PM MAIL ICQ   Вверх
wind1
Дата 27.5.2008, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 29.6.2007

Репутация: нет
Всего: нет



Спасибо за подсказку, но возникает ещё два вопроса:
1)  Макет имеет параметр "СуммаПрописью", которая формируется на русском языке.
Как с ней быть?
2) У меня ещё была мысль создать несколько макетов (столько, сколько и языков будет в диалоге выбора), каждый макет заполнить на нужном языке, и потом в зависимости от языка выбирать нужный макет.
Так вот вопрос: что вы посоветуете - назначать областям одного макета значения в зависимости от выбранного языка, или выбирать один из нескольких макетов?
PM MAIL   Вверх
Kaboom
Дата 28.5.2008, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 25.5.2007

Репутация: нет
Всего: нет



Цитата(wind1 @  27.5.2008,  15:02 Найти цитируемый пост)
2) У меня ещё была мысль создать несколько макетов (столько, сколько и языков будет в диалоге выбора), каждый макет заполнить на нужном языке, и потом в зависимости от языка выбирать нужный макет.

Так сделано в украинских конфигурациях, на мой взгляд удобнее искать в макете чем в коде, так что я бы рекомендовал именно этот вариант, ИМХО конечно.
PM MAIL   Вверх
mmvds
Дата 28.5.2008, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 22.12.2007

Репутация: 2
Всего: 6



1) По поводу прописи из справки:
Код

ЧислоПрописью (NumberInWords)
Синтаксис:
ЧислоПрописью(<Число>, <Форматная строка>, <Параметры предмета исчисления>) 
Параметры:
<Число> (обязательный)
Тип: Число. Число, которое необходимо преобразовать в строку прописью. 
<Форматная строка> (необязательный)
Тип: Строка. Форматная строка представляет собой строковое значение, включающее параметры форматирования. Параметры форматирования перечисляются через символ ";" (точка с запятой). Если параметр не указывается, используется значение параметра по умолчанию.
Каждый параметр задается именем параметра, символом "=" (равно) и значением параметра. Значение параметра может указываться в одинарных или двойных кавычках. Это необходимо, если значение параметра содержит символы, используемые в синтаксисе форматной строки.
Л (L) - Код локализации. По умолчанию используется код локализации, установленный в операционной системе. Примеры кодов локализации: ru_RU - Русский (Россия); en_US - Английский (США). 
НП (SN) - Включать/не включать название предмета исчисления (Булево), по умолчанию - Истина.
НД (FN) - Включать/не включать название десятичных частей предмета исчисления (Булево), по умолчанию - Истина.
ДП (FS) - Дробную часть выводить прописью/числом (Булево), по умолчанию - Ложь. 
<Параметры предмета исчисления> (необязательный)
Тип: Строка. Представляет собой строковое значение, определяющее параметры предмета исчисления. Параметры предмета исчисления перечисляются через "," (запятая). Формат строки зависит от кода локализации.
Для русского и белорусского языков (ru_RU, be_BY) 
"рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2", где:
"рубль, рубля, рублей, м" – предмет исчисления: 
рубль – единственное число именительный падеж, 
рубля – единственное число родительный падеж, 
рублей – множественное число родительный падеж, 
м – мужской род (ж – женский род, с - средний род);
"копейка, копейки, копеек, ж" – дробная часть, аналогично предмету исчисления (может отсутствовать);
"2" – количество разрядов дробной части (может отсутствовать, по умолчанию равно 2).
Для украинского языка (uk_UA) 
"гривна, гривны, гривен, м, копейка, копейки, копеек, ж, 2", где:
"гривна, гривны, гривен, м" – предмет исчисления: 
"гривна – единственное число именительный падеж, 
гривны – единственное число родительный падеж, 
гривен – множественное число родительный падеж, 
м – мужской род (ж – женский род, с - средний род);
"копейка, копейки, копеек, ж" – дробная часть, аналогично предмету исчисления (может отсутствовать);
"2" – количество разрядов дробной части (может отсутствовать, по умолчанию равно 2).
Для польского языка (pl_PL) 
złoty, złote, złotych, m, grosz, grosze, groszy, m, 2
где:
"złoty, złote, złotych, m " - предмет исчисления (m - мужской род, ż - женский род, ń - средний род, mo – личностный мужской род)
złoty - единственное число именительный падеж
złote - единственное число винительный падеж
złotych - множественное число винительный падеж
m - мужской род (ż - женский род, ń - средний род, mo – личностный мужской род)
"grosz, grosze, groszy, m " - дробная часть (может отсутствовать) (аналогично целой части)
2 - количество разрядов дробной части (может отсутствовать, по-умолчанию равно 2)
Пример:
Пропись = ЧислоПрописью(1832, “L=pl_PL;SN=true;FN=true;FS=true”, “złoty, złote, złotych, m, grosz, grosze, groszy, m, 2”);
Для английского, финского и казахского языков (en_US, fi_FI, kk_KZ)
"dollar, dollars, cent, cents, 2", где:
"dollar, dollars" – предмет исчисления в единственном и множественном числе;
"cent, cents" – дробная часть в единственном и множественном числе (может отсутствовать);
"2" – количество разрядов дробной части (может отсутствовать, по умолчанию равно 2).
Для немецкого языка (de_DE)
"EURO, EURO, М, Cent, Cent, M, 2", где:
"EURO, EURO, М" – предмет исчисления: 
EURO, EURO – предмет исчисления в единственном и множественном числе; 
М – мужской род (F – женский род, N - средний род);
"Cent, Cent, M" – дробная часть, аналогично предмету исчисления (может отсутствовать);
"2" – количество разрядов дробной части (может отсутствовать, по умолчанию равно 2).
Для латышского языка (lv_LV)
"lats, lati, latu, V, santīms, santīmi, santīmu, V, 2, J, J", где:
"lats, lati, latu, v" – предмет исчисления: 
lats – для чисел заканчивающихся на 1, кроме 11 
lati – для чисел заканчивающихся на 2-9 и 11
latu – множественное число (родительный падеж) используется после числительных 0, 10, 20,..., 90, 100, 200, ..., 1000, ..., 100000, 
v – мужской род (s – женский род);
"santīms, santīmi, santīmu, V" – дробная часть, аналогично предмету исчисления (может отсутствовать);
"2" – количество разрядов дробной части (может отсутствовать, по умолчанию равно 2);
"J" - число 100 выводится как "Одна сотня" для предмета исчисления (N - как "Сто"),
может отсутствовать, по умолчанию равно "J";
"J" - число 100 выводится как "Одна сотня" для дробной части (N - как "Сто"),
может отсутствовать, по умолчанию равно "J".
Для литовского языка (lt_LT)
"litas, litai, litų, М, centas, centai, centų, М, 2", где:
"litas, litai, litų, М" – предмет исчисления:
litas - единственное число целой части,
litai - множественное число целой части от 2 до 9,
litų - множественное число целой части прочие,
m - род целой части (f - женский род),
"centas, centai, centų, М" – дробная часть, аналогично предмету исчисления (может отсутствовать);
"2" - количество разрядов дробной части (может отсутствовать, по умолчанию равно 2).
Для эстонского языка (et_EE)
"kroon, krooni, sent, senti, 2", где:
"kroon, krooni" – – предмет исчисления в единственном и множественном числе;
"sent, senti" – дробная часть в единственном и множественном числе (может отсутствовать);
2 – количество разрядов дробной части (может отсутствовать, по умолчанию равно 2).
Для болгарского языка (bg_BG)
"лев, лева, м, стотинка, стотинки, ж, 2", где:
"лев, лева, м" – предмет исчисления:
лев - единственное число целой части,
лева - множественное число целой части,
м - род целой части,
"стотинка, стотинки, ж" - дробная часть:
стотинка - единственное число дробной части,
стотинки - множественное число дробной части,
ж - род дробной части,
"2" - количество разрядов дробной части.
Для румынского языка (ro_RO)
"leu, lei, M, ban, bani, W, 2"
"leu, lei, M" – предмет исчисления:
leu - единственное число целой части,
lei - множественное число целой части,
M - род целой части,
"ban, bani, W" - дробная часть:
ban - единственное число дробной части,
bani - множественное число дробной части,
W - род дробной части,
"2" - количество разрядов дробной части.
Для грузинского языка (ka_GE)
"ლარი, თეთრი, 2"
ლარი - целая часть
თეთრი - дробная часть
"2" - количество разрядов дробной части.
Для вьетнамского языка (vi_VN)
"dong, xu, 2"
dong, - целая часть
xu, - дробная часть
2 - количество разрядов дробной части.
Значение по умолчанию: Пустая строка 
Возвращаемое значение:
Тип: Строка. Представление числа прописью. 
Описание:
Формирует представление числа прописью в соответствии с заданными форматной строкой и параметрами предмета исчисления. 
Пример:
// Пример форматной строки для вывода числа прописью на русском
// языке, с выводом целой и дробной части прописью и выводом
// предмета исчисления.
ФормСтрока = "Л = ru_RU; ДП = Истина";
ПарПредмета="доллар,доллара,долларов,м,цент,цента,центов,м,2";
ПрописьЧисла = ЧислоПрописью(2341.56, ФормСтрока, ПарПредмета);

// Результат вычисления:
// "Две тысячи триста сорок один доллар пятьдесят шесть центов"

2) Если языков много, то выбора почти нет, нужно программно завести перечисления для каждого реквизита и вставлять значения, в зависимости от выбранного. Если языка 2-3, то по желанию - либо макет, либо программно.

Это сообщение отредактировал(а) mmvds - 28.5.2008, 15:04
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "1C: Предприятие, SAP, ERP и учётные системы"
stron

Запрещается!

1. Обсуждение крэков, кейгенов и других подобных программ

Пробуйте искать сами или обращайтесь в приват к участникам форума.

Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения.

Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...)

2. Давать ссылки на взломанные продукты

  • Пожалуйста, пользуйтесь поиском перед тем, как задать вопрос - возможно ответ уже есть на форуме.
  • Название темы должно отражать её суть
  • Действия модераторов можно обсудить здесь

С уважением, stron, Pegas.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема »


 




[ Время генерации скрипта: 0.0682 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.