Difference between revisions of "RU/kb/00000105"

From Wiki
Jump to navigationJump to search
(Добавил пример)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<section begin=title /><noinclude>{{DISPLAYTITLE:База Знаний: </noinclude>{{OOoC|1}}. Цифры прописью<noinclude>}}</noinclude><section end=title />
+
<section begin=title /><noinclude>{{DISPLAYTITLE:База Знаний: {{OOoC|1}}. </noinclude>Цифры прописью<noinclude>}}</noinclude><section end=title />
 
{{BreadCrumbL10n|RU/kb/module/calc/automation_calculations}}
 
{{BreadCrumbL10n|RU/kb/module/calc/automation_calculations}}
 
__NOTOC__
 
__NOTOC__
Line 11: Line 11:
  
 
Для этого задействуются функции
 
Для этого задействуются функции
{{RUcode|40|InfraLinux.N2Scribe.Long2Scribe(n)}}
+
<source lang="oobas">
 +
InfraLinux.N2Scribe.Long2Scribe(n)
 +
</source>
 
* преобразует действительное число к виду: **** **** *****
 
* преобразует действительное число к виду: **** **** *****
  
  
{{RUcode|40|InfraLinux.N2Scribe.Number2Scribe(n)}}
+
<source lang="oobas">
 +
InfraLinux.N2Scribe.Number2Scribe(n)
 +
</source>
 
* преобразует действительное число к виду: **** **** целых **** **** сотых
 
* преобразует действительное число к виду: **** **** целых **** **** сотых
  
Line 21: Line 25:
 
Пример создания пользовательской функции Calc<ref>Пользовательская функция Calc обязательно должна сохраняться в библиотеке Standard, независимо от выбора хранилища (документ, пользовательский профиль или системный профиль).</ref>:
 
Пример создания пользовательской функции Calc<ref>Пользовательская функция Calc обязательно должна сохраняться в библиотеке Standard, независимо от выбора хранилища (документ, пользовательский профиль или системный профиль).</ref>:
  
<source lang="vb">
+
<source lang="oobas">
Sub CalcNum2Scribe(num_value as Single) as String
+
Function CalcNum2Scribe(num_value as Single) as String
   GlobalScope.BasicLibraries.LoadLibrary("InfraLinux")
+
   If (Not GlobalScope.BasicLibraries.isLibraryLoaded("InfraLinux")) Then GlobalScope.BasicLibraries.LoadLibrary("InfraLinux")
  
 
   CalcNum2Scribe = Number2Scribe(num_value)
 
   CalcNum2Scribe = Number2Scribe(num_value)
End Sub
+
End Function
 
</source>
 
</source>
  
 
После сохранения макроса, в Calc становится доступной функция:
 
После сохранения макроса, в Calc становится доступной функция:
{{RUcode|40|{{=}}CalcNum2Scribe(123567657,4556)}}
+
<source lang="oobas">
 +
=CalcNum2Scribe(123567657,4556)
 +
</source>
  
{{RUsign|Sancho|А. Е. Харламенков}}
+
{{Sign|Sancho|А. Е. Харламенков}}
{{RUoooproversion|3.2.x}}
+
{{OOoProVersion|3.2.x}}
 
{{RUkbCalcBottom}}
 
{{RUkbCalcBottom}}

Latest revision as of 20:03, 18 September 2011


Возможность автоматического создания суммы прописью реализована в OpenOffice.org pro начиная с версии 3.2.


Обеспечивается корректное формирование и цифры прописью (можно использовать для вывода количества) для всего диапазона значений стандартного бухгалтерского калькулятора в 14 разрядов. Данная функция избавлена от распространённой ошибки накопления погрешности с увеличением разряда числа.


Для этого задействуются функции

InfraLinux.N2Scribe.Long2Scribe(n)
  • преобразует действительное число к виду: **** **** *****


InfraLinux.N2Scribe.Number2Scribe(n)
  • преобразует действительное число к виду: **** **** целых **** **** сотых


Пример создания пользовательской функции Calc[1]:

Function CalcNum2Scribe(num_value as Single) as String
  If (Not GlobalScope.BasicLibraries.isLibraryLoaded("InfraLinux")) Then GlobalScope.BasicLibraries.LoadLibrary("InfraLinux")

  CalcNum2Scribe = Number2Scribe(num_value)
End Function

После сохранения макроса, в Calc становится доступной функция:

=CalcNum2Scribe(123567657,4556)





OpenOffice.org pro 3.2.x






  1. Пользовательская функция Calc обязательно должна сохраняться в библиотеке Standard, независимо от выбора хранилища (документ, пользовательский профиль или системный профиль).


К началу страницы