Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Печать кг и гр прописью

v7: Печать кг и гр прописью
Я
   Belarus
 
08.09.16 - 12:54
как напечатать 27.4 прописью  - двадцать семь кг. четыре гр. ?
 
 
   Belarus
 
1 - 08.09.16 - 12:55
1с 7.7
   vicof
 
2 - 08.09.16 - 13:02
Напиши свой парсер, с блэкджеком и шлюхами
   Метранпаж
 
3 - 08.09.16 - 13:03
Пропись()
   vicof
 
4 - 08.09.16 - 13:03
А ещё можно всегда в кг выводить
   vtolga
 
5 - 08.09.16 - 13:09
Напиши 27 рублей 40 копеек и замени "рублей" на кг , а "копеек" на "гр." :)
   Slypower
 
6 - 08.09.16 - 13:18
а потом при печати ТТН будет писать: сто рублей 00 грамм
   LazyStranger
 
7 - 08.09.16 - 13:21
вообще-то 27.4 кг - это 27 кг четыреста грамм, а не 4 :)
   zak555
 
8 - 08.09.16 - 13:21
   vtolga
 
9 - 08.09.16 - 13:22
(6) это с какого перепугу? менять нужно только там, где надо.
А еще можно, например, завести валюту ("килотонны, например"), а для нее создать файл прописи.
http://buh.ru/forum/forum18376/topic1955/
   Fish
 
10 - 08.09.16 - 13:23
(5) 0,4 - это 40 копеек. Но в для кг - это 400, а не 40 грамм.
 
 Рекламное место пустует
   vtolga
 
11 - 08.09.16 - 13:23
(7) это да, воообще-то с заменой -шутка была. Но валюту можно.
   LazyStranger
 
12 - 08.09.16 - 13:24
программиста позвать предлагали? работы минут на 15
   LazyStranger
 
13 - 08.09.16 - 13:25
(11) с валютой не прокатит - там же не сотые доли после запятой нужны, а тысячные (см 10)
   Slypower
 
14 - 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 для килограмм, грамм. 
Судя по нику, это для Беларуси. После деноминации в ТТН нужно писать Белорусских рублей. НО поступило инфа, не уже не нужно. В итоге, хер знает, нужно или нет. Но данная функция рабочая
   zak555
 
15 - 08.09.16 - 13:37
какие все тугие

используйте универсальную обработку из 8
   aka AMIGO
 
16 - 08.09.16 - 13:38
(15) и еще туже :)
Это 7.7, 8-ки может у ТС и не быть
   LazyStranger
 
17 - 08.09.16 - 13:42
офигеть, функцию из 3 строчек целый час обсуждаете, с отладкой минут 5 на написание ушло:

Функция КгПрописью(ТекЧисло)
    КолКг = Цел(ТекЧисло);
    КолГр = Цел((ТекЧисло-КолКг)*1000);
    Рез = Нрег(Формат(КолКг,"ЧП"))+" кг. "+Нрег(Формат(КолГр,"ЧП"))+" гр.";
    Возврат рез;
КонецФункции
   zak555
 
18 - 08.09.16 - 13:42
(16) это ссылка на обработку 77
   Смотрящий
 
19 - 08.09.16 - 13:46
(17) Из 4х !
   aka AMIGO
 
20 - 08.09.16 - 14:09
(18) дошло, боярин :)

Список тем форума
Рекламное место пустует  Рекламное место пустует
2 + 2 = 3.9999999999999999999999999999999...
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует