| 
    
        
     
     | 
    
    
  | 
v7: Вывести массу прописью | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        work92    
     12.05.15 
            ✎
    12:03 
 | 
         
        Может кто подскажет как сделать чтобы масса 2.5 кг вывелась прописью Ноль тон два килограмма  пятьсот грамм     
         | 
|||
| 
    1
    
        zak555    
     12.05.15 
            ✎
    12:06 
 | 
||||
| 
    2
    
        1Сергей    
     12.05.15 
            ✎
    12:07 
 | 
         
        см. функцию Пропись + файлы *.SPL     
         | 
|||
| 
    3
    
        palpetrovich    
     12.05.15 
            ✎
    12:07 
 | 
         
        дык, 
 
        Функция глВернутьМассуСтрокой(Масса) Экспорт ...  | 
|||
| 
    4
    
        palpetrovich    
     12.05.15 
            ✎
    12:08 
 | 
         
        (1) че-т не открывается avb-шный сайт, сто лет туда не заходил :)     
         | 
|||
| 
    5
    
        work92    
     12.05.15 
            ✎
    12:09 
 | 
         
        Может есть полная функция с кодом     
         | 
|||
| 
    6
    
        zak555    
     12.05.15 
            ✎
    12:10 
 | 
         
        (5) скачай из (1)     
         | 
|||
| 
    7
    
        work92    
     12.05.15 
            ✎
    12:12 
 | 
         
        1Сергей CП     
         | 
|||
| 
    8
    
        Mikhail Volkov    
     12.05.15 
            ✎
    12:24 
 | 
         
        (3) Из какой конфигурации глВернутьМассуСтрокой(Масса)? В ТиС нет такой, для себя писал:
 
        Функция ВесПрописью(Вес) Экспорт // установим пропись по умолчанию Пропись(""); Тонны = Цел(Вес/1000); Если Тонны = 0 Тогда ТонныПрописью = ""; ИначеЕсли Тонны = 1 Тогда ТонныПрописью = "Одна тонна"; ИначеЕсли Тонны = 2 Тогда ТонныПрописью = "Две тонны"; ИначеЕсли Тонны < 5 Тогда ТонныПрописью = Формат(Тонны, "ЧП") + " тонны"; Иначе ТонныПрописью = Формат(Тонны, "ЧП") + " тонн"; КонецЕсли; Кг = Цел(Вес) - Тонны*1000; КгПрописью = Формат(Кг, "ЧП") + " килограмм" + ?(Найти("234", Прав(Кг, 1)) = 0, "", "а"); ВесПрописью = ?(Тонны = 0, КгПрописью, ТонныПрописью + " " + Нрег(КгПрописью)); Возврат ВесПрописью; КонецФункции // ВесПрописью()  | 
|||
| 
    9
    
        palpetrovich    
     12.05.15 
            ✎
    12:25 
 | 
         
        (8) из любой, только в (3) дописать недостающее надо :)     
         | 
|||
| 
    10
    
        фобка    
     12.05.15 
            ✎
    12:28 
 | 
         
        (8) 22 тонны? И что за Пропись("")?     
         | 
|||
| 
    11
    
        1Сергей    
     12.05.15 
            ✎
    12:32 
 | 
         
        (10) в СП всё написано     
         | 
|||
| 
    12
    
        Mikhail Volkov    
     12.05.15 
            ✎
    17:40 
 | 
         
        (10) Не знаю, хотел сделать по аналогии сделать с
 
        Функция глСуммаПрописью(Сумма, Валюта) Экспорт Если Валюта <> глРубли Тогда Если ФС.СуществуетФайл(КаталогИБ() + Валюта.ИмяФайлаПрописи) = 1 Тогда Пропись(Валюта.ИмяФайлаПрописи); Иначе Сообщить("Для валюты " + Валюта + " отсутствует файл прописей." + РазделительСтрок + "Сумма прописью сформирована в национальной валюте."); КонецЕсли; КонецЕсли; СтрокаСуммы = Формат(Сумма, "ЧПДС"); // установим пропись по умолчанию Пропись(""); Возврат СтрокаСуммы; КонецФункции // глСуммаПрописью()  | 
|||
| 
    13
    
        Cap_1977    
     12.05.15 
            ✎
    18:45 
 | 
         
        (12) Непрокатывает с величинами у которых дробная часть более 2х символов.
 
        530 грамм выведет как 53 грамма.  | 
|||
| 
    14
    
        Лалым    
     14.05.15 
            ✎
    21:05 
 | 
         
        (13) Если определить сразу граммы как число 530 то прокатит     
         | 
|||
| 
    15
    
        Лалым    
     15.05.15 
            ✎
    09:10 
 | 
         
        Попробовал реализовать это на файлах прописи, 
 
        беру любой стандартный в денежных единицах пишу нужное измерение, создаю три файла для тон, килограмм и грамм, нарисовал для пробы обработку и о чудо, тонны ну никак не хочет подтягивать из файла прописи, ну первый запуск использует по умолчанию а затем использует последнюю установленную пропись то есть граммы Здесь весь пакет с прописями - https://yadi.sk/d/7-mZ_MmVge5Vy код функции Функция ВесПропись() //Определяем отдельно тонны, килограммы и граммы Тонны = Цел(Вес/1000); Килограммы = Цел(Вес) - Тонны*1000; Граммы = (Вес - Килограммы - Тонны*1000)*1000; //Получаем отдельно строковые значения из файлов прописи Пропись(КаталогИБ()+"/veston.spl"); ТоннПрописью = Формат(Тонны,"ЧПД"); Пропись(КаталогИБ()+"/kilogram.spl"); КилограмПрописью = Формат(Килограммы,"ЧПД"); Пропись(КаталогИБ()+"/gram.spl"); ГрамПрописью = Формат(Граммы,"ЧПД"); ВесПропись = ?(Тонны>0,ТоннПрописью,"") + " " + ?(Килограммы>0,КилограмПрописью,"") + " " +?(Граммы>0," и "+ГрамПрописью,""); Возврат(ВесПропись); КонецФункции;  | 
|||
| 
    16
    
        Лалым    
     15.05.15 
            ✎
    09:20 
 | 
         
        Нашел в чем была ошибка в фалй veston была нарушена как бы структура, не стояли кавычки  перед "тонны"
 
        Если кому интересно то исправьте файл который в архиве  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |