Имя: Пароль:
1C
 
Склонение чисел!
0 Stim
 
18.10.10
18:29
Подскажите, а лучше киньте ссылкой на готовую функцию по склонению чисел в 1С 8.1.
два - двух,двумя и пр
Или подскажите, где это отыскать в типовых!
1 zak555
 
18.10.10
18:30
кажись dll'ка

а в 7ке штатно всё
2 also
 
18.10.10
18:30
ЧислоПрописью?
3 Один С
 
18.10.10
18:30
а как же в восьмерке торг-12 формируется?
4 Stim
 
18.10.10
18:31
(2) возвращает число прописью в именительном падеже. Нужно изменить падеж
5 also
 
18.10.10
18:33
(4) а параметры почитать? Или тебе во всех падежах нужно? ЧТо выводишь? Количество? Сумму?
6 supremum
 
18.10.10
18:33
тысячадевятьсотвосьмидесятидевятимиллиметровый? )
7 Stim
 
18.10.10
18:36
(5) мне нужно из 5 получить "пяти". Твоя ЧислоПрописью() даст мне только "пять", склонять она не умеет.
вывожу количество дней "в течении "+<число прописью в Род падеже>+" дней."

(6) да хоть бы и так. Странно, что за такой долгий срок существования 1С так  не написала функционал по склонению чисел
8 Stim
 
18.10.10
18:56
мда. я разочарован
9 rotting
 
18.10.10
19:00
(8) типа все остальное в платформе уже хорошо???
10 Капитан Смоллет
 
18.10.10
19:13
"Дайте мне два билета по безналичному расчету, дайте мне. Подождать? Я - подожду." (c) Жванецкий
11 FIXXXL
 
18.10.10
20:24
(0) есть внешняя dll-ка для склонения
получай ЧислоПрописью и натравливай на него dll-ку
12 Stim
 
18.10.10
23:39
еще один писатель.. компонента для склонения ФИО не склоняет числительные!! Сто сорок пять склоняется совсем по-другому, чем Иванов Иван Иванович!
13 Лефмихалыч
 
19.10.10
00:09
(0) Чего там пейсать-то? Или ты к чему-то противоестественному их склонять собрался? За пять часов безрезультатоного торчания на мисте уже б сам всё написал.
14 Stim
 
19.10.10
00:24
Да вот пришлось! Жадные одинесники не хотят делиться готовыми фукциями)
Набросал на скорую руку:

Функция ПолучитьЧислоВРодПадеже(Число)
    Единицы = "одного
   |двух
   |трёх
   |четырёх
   |пяти
   |шести
   |семи
   |восьми
   |девяти
   |десяти
   |одинадцати
   |двенадцати
   |тринадцати
   |четырнадцати
   |пятнадцати
   |шестадцати
   |семнадцати
   |восемнадцати
   |девятнадцати";
   Если СтрДлина(Строка(Число))>2 Тогда
       Возврат "";
   ИначеЕсли СтрДлина(Строка(Число))=1 ИЛИ Число < 20 Тогда
   ВОзврат СтрПолучитьСтроку(Единицы, Число);        
   КонецЕсли;
    //Двузначное число
   Десятки = " двадцати
   |тридцати
   |сорока
   |пятидесяти
   |шестидесяти
   |семидесяти
   |восьмидесяти
   |девяноста";
   ДесяткиЧисла = Сред(Строка(Число),1,1);
    ДесяткиПрописью = СТрПолучитьСтроку(Десятки,ДесяткиЧисла-1);
    ЕдиницыЧисла = Сред(Строка(Число),2,1);
    ЕдиницыПрописью = СТрПолучитьСтроку(Единицы,ЕдиницыЧисла);
    Возврат ДесяткиПрописью+" "+ЕдиницыПрописью;
КОнецФункции
15 RayCon
 
19.10.10
03:00
(14) опечатки:
одиНадцати - одиННадцати
шесТАдцати - шесТНАдцати

P.S. Есть ещё и род => "одного" иногда может быть "одной"
16 DJ Anthon
 
19.10.10
04:30
не забудь, что "в течении" и "в течение" - показатель грамотности, ты сейчас ее показал
17 DJ Anthon
 
19.10.10
04:31
+(15) я хотел сказать ))
Независимо от того, куда вы едете — это в гору и против ветра!