Имя: Пароль:
1C
1С v8
Как вывести массу прописью
,
0 Wefast
 
06.05.15
11:17
ЧислоПрописью() выведет к примеру
одна тысяча двести кг сто грамм?

А как вывести
одна тонна двести кг сто грамм?

Стандартное решение есть? или придется разбирать число и отдено все это выводить?
1 NikVars
 
06.05.15
11:20
(0) Красно Я в загоовке своей темы давил?
2 Wefast
 
06.05.15
11:24
(1) не знал, что так можно, но поиском я уже воспользовался и безрезультатно
3 NikVars
 
06.05.15
11:26
(2) Читал описание языка?
4 butterbean
 
06.05.15
11:28
(0) штатно никак
5 NikVars
 
06.05.15
11:29
(2) Чек с суммой благодарности кидай на почту в личку.
Тонны и килограммы прописью на украинском
6 NikVars
 
06.05.15
11:30
(4) Это ты зря сказал. Он должен сам догадаться и узнать что такое "штатно".
7 butterbean
 
06.05.15
11:32
(5) Зачем ему ЧислоПрописью()? Она не выведет тонны, килограммы и граммы.
8 NikVars
 
06.05.15
11:35
(7) А ты не спеши такие вопросы задавать. Ты все почитай.
9 Wefast
 
06.05.15
13:37
КолВоТоН     = Цел(Число/1000000);
    КолВоКило     = Цел(Число/1000);
    Строка  = "";
    
    ПараметрыТон         = "тонна, тонны, тонн, ж, кг, кг, кг, м,0";
    ПараметрыКил         = "килограмм, киллорамма, киллограм, м, кг, кг, кг, м,0";
    ПараметрыВесаБезДр     = "грамм, грамма, граммов, м, миллиграм, миллиграм, милиграмов, м,0";
    ПараметрыВесаСДр     = "грамм, грамма, граммов, м, миллиграм, миллиграм, милиграмов, м,3";
    
    ФормСтрокаТК     = ";;FN=ЛОЖЬ;FS=ЛОЖЬ";
    ФормСтрока         = "L=ru_RU;SN=ИСТИНА;FN=ИСТИНА;FS=ИСТИНА";
        
    Если КолВоТоН > 0 И КолВоТоН < 1000 Тогда
        
        Строка         = ЧислоПрописью(КолВоТоН,ФормСтрокаТК, ПараметрыТон);
        
        Осталось     = Число - (КолВоТоН*1000000);
        Килл         = Цел(Осталось/1000);
        Строка         = Строка + " " + ?(Килл = 0, "", ЧислоПрописью(Килл,ФормСтрокаТК, ПараметрыКил));
        
        Осталось      = Осталось - (Килл * 1000);
        Строка         = Строка + " " + ?(Цел(Осталось) = Осталось, ЧислоПрописью(Осталось, ФормСтрока, ПараметрыВесаБезДр),ЧислоПрописью(Осталось, ФормСтрока, ПараметрыВесаСДр));
        
    ИначеЕсли КолВоКило > 0 И КолВоКило < 1000 Тогда
        
        Строка         = ЧислоПрописью(КолВоКило,ФормСтрокаТК,ПараметрыКил);
        
        Осталось     = Число - (КолВоКило*1000);
        Строка         = Строка + " " +?(Цел(Осталось) = Осталось, ЧислоПрописью(Осталось, ФормСтрока, ПараметрыВесаБезДр),ЧислоПрописью(Осталось, ФормСтрока, ПараметрыВесаСДр));
        
    Иначе
        
        Строка         = ?(Цел(Число) = Осталось, ЧислоПрописью(Осталось, ФормСтрока, ПараметрыВесаБезДр),ЧислоПрописью(Число, ФормСтрока, ПараметрыВесаСДр));
        
    КонецЕсли;
    Строка = Лев(Строка,1) + НРег(Сред(Строка, 2));
    Сообщить(Строка);
10 Wefast
 
06.05.15
13:39
Входной число такое: 1234,4
И на выходе "Один килограмм двести тридцать четыре грамма четыреста милиграмов"
P.S. про орфографию забыл когда копировал сюда(
11 NikVars
 
06.05.15
14:10
(9) Круто! Респект!
12 ЧеловекДуши
 
06.05.15
14:18
(0) Так же, как и рубли, рублей и Рубля.
Пишешь тоже самое, только: Килограмм, килограмма и килограммы.
ж и м и о, параметрах :)
13 ЧеловекДуши
 
06.05.15
14:18
(9) Ну, молодец. 7.7 ты еще помнишь :)
14 Wefast
 
06.05.15
15:32
(13) я не работал с 7.7