|
v7: Печать кг и гр прописью | ☑ | ||
---|---|---|---|---|
0
Belarus
08.09.16
✎
12:54
|
как напечатать 27.4 прописью - двадцать семь кг. четыре гр. ?
|
|||
1
Belarus
08.09.16
✎
12:55
|
1с 7.7
|
|||
2
vicof
08.09.16
✎
13:02
|
Напиши свой парсер, с блэкджеком и шлюхами
|
|||
3
Метранпаж
08.09.16
✎
13:03
|
Пропись()
|
|||
4
vicof
08.09.16
✎
13:03
|
А ещё можно всегда в кг выводить
|
|||
5
vtolga
08.09.16
✎
13:09
|
Напиши 27 рублей 40 копеек и замени "рублей" на кг , а "копеек" на "гр." :)
|
|||
6
Slypower
08.09.16
✎
13:18
|
а потом при печати ТТН будет писать: сто рублей 00 грамм
|
|||
7
LazyStranger
08.09.16
✎
13:21
|
вообще-то 27.4 кг - это 27 кг четыреста грамм, а не 4 :)
|
|||
8
zak555
08.09.16
✎
13:21
|
||||
9
vtolga
08.09.16
✎
13:22
|
(6) это с какого перепугу? менять нужно только там, где надо.
А еще можно, например, завести валюту ("килотонны, например"), а для нее создать файл прописи. http://buh.ru/forum/forum18376/topic1955/ |
|||
10
Fish
08.09.16
✎
13:23
|
(5) 0,4 - это 40 копеек. Но в для кг - это 400, а не 40 грамм.
|
|||
11
vtolga
08.09.16
✎
13:23
|
(7) это да, воообще-то с заменой -шутка была. Но валюту можно.
|
|||
12
LazyStranger
08.09.16
✎
13:24
|
программиста позвать предлагали? работы минут на 15
|
|||
13
LazyStranger
08.09.16
✎
13:25
|
(11) с валютой не прокатит - там же не сотые доли после запятой нужны, а тысячные (см 10)
|
|||
14
Slypower
08.09.16
✎
13:27
|
Вот наша фунцкция
Функция ПрописьСДробью(числ) // возвращает прописью дробное число Др=числ-Цел(числ); //выделили дробную часть ДлинаДр=СтрДлина(др); //определили длину строки дробной части н=0; //количество нулей в конце дробной части Для й=1 По ДлинаДр Цикл Если сред(др,ДлинаДр+й-1,1)="0" Тогда н=н+1; КонецЕсли; КонецЦикла; др2=Лев(др,ДлинаДр-н); //получили дробную часть без нулей др2=Число(Др2); ДлинаДрНаст=СтрДлина(др2)-2; //получили реальное количество цифр дробной части (без нуля и точки) стр=""; Если Цел(числ)=0 Тогда //значит ноль целых Если ДлинаДрНаст=-1 Тогда стр=стр+"Ноль"; Иначе стр=стр+"Ноль целых"; КонецЕсли; Иначе Если ДлинаДрНаст=-1 Тогда //значит дробной части нет стр=стр+Формат(Цел(числ),"ЧП"); Иначе Пропись("tsel.spl"); стр=стр+Формат(Цел(числ),"ЧПД"); //пропись целой части КонецЕсли; КонецЕсли; Если ДлинаДрНаст=1 Тогда //десятые ДрЦел=Др2*10; Пропись("des.spl"); стр=стр+", "+Нрег(Формат(ДрЦел,"ЧПД")); ИначеЕсли ДлинаДрНаст=2 Тогда //сотые ДрЦел=Др2*100; Пропись("sot.spl"); стр=стр+", "+Нрег(Формат(ДрЦел,"ЧПД")); ИначеЕсли ДлинаДрНаст=3 Тогда //тысячные ДрЦел=Др2*1000; Пропись("tys.spl"); стр=стр+", "+Нрег(Формат(ДрЦел,"ЧПД")); //больше едва ли понадобится, но при желании несложно по образу и подобию //создать еще (главное сделать файлы прописей с соответствующими долями) КонецЕсли; //Пропись(""); Пропись(Валюта.ИмяФайлаПрописи); //тут выводим, чтобы не выводило в сумму для ТТН сотых, сотые, вместо коппек //Сообщить(стр); Возврат(стр); КонецФункции //ПрописьСДробью(числ) только тут уже нужный файлы spl для килограмм, грамм. Судя по нику, это для Беларуси. После деноминации в ТТН нужно писать Белорусских рублей. НО поступило инфа, не уже не нужно. В итоге, хер знает, нужно или нет. Но данная функция рабочая |
|||
15
zak555
08.09.16
✎
13:37
|
какие все тугие
используйте универсальную обработку из 8 |
|||
16
aka AMIGO
08.09.16
✎
13:38
|
(15) и еще туже :)
Это 7.7, 8-ки может у ТС и не быть |
|||
17
LazyStranger
08.09.16
✎
13:42
|
офигеть, функцию из 3 строчек целый час обсуждаете, с отладкой минут 5 на написание ушло:
Функция КгПрописью(ТекЧисло) КолКг = Цел(ТекЧисло); КолГр = Цел((ТекЧисло-КолКг)*1000); Рез = Нрег(Формат(КолКг,"ЧП"))+" кг. "+Нрег(Формат(КолГр,"ЧП"))+" гр."; Возврат рез; КонецФункции |
|||
18
zak555
08.09.16
✎
13:42
|
(16) это ссылка на обработку 77
|
|||
19
Смотрящий
08.09.16
✎
13:46
|
(17) Из 4х !
|
|||
20
aka AMIGO
08.09.16
✎
14:09
|
(18) дошло, боярин :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |