|
v8: 278,29=278руб.29к. | ☑ | ||
---|---|---|---|---|
0
Rizhij_Nikitos
30.08.11
✎
09:01
|
Есть ли подобная функция в 1С, знаю что сумма прописью существует, мб и такая, что я хочу, чтобы опиралась на используемую валюту.
|
|||
1
Alpen906
30.08.11
✎
09:04
|
Напиши сам
|
|||
2
Rizhij_Nikitos
30.08.11
✎
09:06
|
Эта мысль посетила, но зачем изобретать велосипед? Я так пробывал с суммой пропись, писал полчаса, пока случайно не забил в поиске суммаПрописью, и все решилось за пару минут. А тута я ожидаю, что типо такого, СуммаВалютой(Число,ВидВалюты), и выдаст резульатт 278,29=278руб.29к.
|
|||
3
Азат
30.08.11
✎
09:09
|
Сум = 278.29;
_Прописью = "" + Цел(Сум) + "руб." + 100 *(Сум - Цел(Сум)) + "коп." |
|||
4
dva1c
30.08.11
✎
09:10
|
типа так:
// Функция формирует представление суммы прописью в указанной валюте // // Возвращаемое значение: // Строка - сумма прописью // Функция СформироватьСуммуПрописью(Сумма, Валюта) Экспорт Если Валюта.ПараметрыПрописиНаРусском = "" Тогда Возврат ФорматСумм(Сумма); Иначе Возврат ЧислоПрописью(Сумма, "L=ru_RU", Валюта.ПараметрыПрописиНаРусском); КонецЕсли; КонецФункции // СформироватьСуммуПрописью() |
|||
5
lxs
30.08.11
✎
09:10
|
ЧислоПрописью(Сумма, ,Валюта.ПараметрыПрописиНаРусском) в типовых.
|
|||
6
Irbis
30.08.11
✎
09:10
|
ЧислоПрописью (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, ФормСтрока, ПарПредмета); // Результат вычисления: // "Две тысячи триста сорок один доллар пятьдесят шесть центов" |
|||
7
Ненавижу 1С
гуру
30.08.11
✎
09:10
|
(5) куй
|
|||
8
Irbis
30.08.11
✎
09:10
|
Но правильные пацаны мануалы не читают...
|
|||
9
lxs
30.08.11
✎
09:11
|
(7) сам куй
|
|||
10
dva1c
30.08.11
✎
09:12
|
(7) а в (4) прокатит?
|
|||
11
Rizhij_Nikitos
30.08.11
✎
09:14
|
(5),(6) пасибо за совет, но мне не надо прописью, мне надо как я написал )
(4) тоже, прописью не надо :) (3) я примерно так думал, но вот какая штука, а если валюта будет в USD или EURO? |
|||
12
Ненавижу 1С
гуру
30.08.11
✎
09:15
|
(11) как параметр в функцию названия передавай
|
|||
13
Rizhij_Nikitos
30.08.11
✎
09:22
|
(12) понял, но не совсем, то есть выхотите предложить, как я сказал до этого, ФункцияНужногоПреобразования(Число,Валюта), да?
|
|||
14
GANR
30.08.11
✎
09:25
|
// Пример форматной строки для вывода числа прописью на русском
// языке, с выводом целой и дробной части прописью и выводом // предмета исчисления. ФормСтрока = "Л = ru_RU; ДП = Истина"; ПарПредмета="доллар,доллара,долларов,м,цент,цента,центов,м,2"; ПрописьЧисла = ЧислоПрописью(2341.56, ФормСтрока, ПарПредмета); // Результат вычисления: // "Две тысячи триста сорок один доллар пятьдесят шесть центов" |
|||
15
Rizhij_Nikitos
30.08.11
✎
09:26
|
(14) надо не так сделать, 278,28 = 278 руб. 28к.
А вы пишите, 278,28 = двести семьдесят восемь рублей 28 копеек. Это совсем разные вещи, про суммую прописью я сказал, в качестве примера, что есть в 1С |
|||
16
Ненавижу 1С
гуру
30.08.11
✎
09:29
|
плять!
Функция ВывестиЭтуХрень(число, целые, дробные) Возврат "" + Цел(Сум) + " "+ целые +" "+ 100 *(Сум - Цел(Сум)) +" "+дробные; КонецФункции |
|||
17
Rizhij_Nikitos
30.08.11
✎
09:46
|
(16) Спасибо, но написать я могу, но я узнавал, мб есть уже готовая функция...
|
|||
18
Rizhij_Nikitos
30.08.11
✎
09:54
|
Всем пасибо за помощь. Буду писать свою функцию.
|
|||
19
lxs
30.08.11
✎
10:03
|
Да, че-то все так ступили капитально)))
Функция ПредставлениеСуммы(Сумма) Представление = ""; Представление = Строка(Цел(Сумма)) + " руб."; Представление = Представление + Строка(100*(Сумма%1)) + " коп."; Возврат Представление; КонецФункции //при условии что дробная всегда до сотых |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |