Получить копейки из числа 1с

Обновлено: 27.11.2022

Сразу скажу что я не гуру 1С программист, опыт у меня не совсем большой но все же он есть. Я достаточно часто пишу статьи в которых стараюсь поделиться полезными советами или дать более полный ответ на какой либо вопрос касаемый 1С разработки. Я когда то сам был новичком и пытался найти ответы на свои вопросы на различных форумах. Где как правило сидят опытные программисты и они дают советы с высоты своего опыта. Которые в свою очередь новичкам мало чем помогают. Сегодня хочу разобрать тему округления чисел. Поговорим об округление целой и дробной части.

Если вы только начинаете свой путь 1С программиста то рекомендую прочитать следующие статьи.

Программное округление целой и дробной части числа

И так программно можно округлить любое число как до целых так и до десятых , сотых. Делается это с помощью функции Окр, синтаксис такой.

Окр — сама функция

Число — соответственно число которое хотим округлить

0 — разрядность, число знаков после запятой

0 — Режим округления 0 в меньшую сторону 1 в большую, его можно не указывать по умолчанию всегда 0

Скажем если взять число = 12,123 то после применения Окр(Число , 0, 0); число будет 12.

Надеюсь объяснил понятно если нет то можете открыть Синтаксис-помощник.

1C Округление

Для примера я сделал форму, на которой размести реквизит «Цена» и 4 кнопки. Первая округляет введённое число в большую сторону, вторая в меньшею. Т.е если будет например число 10,12 при нажатии первой кнопки число округлиться до 11 а при нажатии второй до 10.

Третья и четвертая кнопка округляет дробную часть, т.е копейки, возьмем тоже число 10,12. Если нажмем третью кнопку результатом будет число 10,20, а если нажмем четвертую то 10,10.

Программное округление целой и дробной части числа 1С

Допустим у вас есть табличная часть, в которой выбирается номенклатура и подставляется цена из справочника. Что бы округлить число в этом случае нужно создать событие при изменение табличной части и написать вот такой код.

В результате все суммы будут округлены до сотых причем в меньшую сторону. Надеюсь все объяснил достаточно подробно но если остались вопросы обязательно спрашивайте!

Распечатать

17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ Cодержимое указанного ниже веб-сайта в этом приложении блокируется. Aboutsecurity_1cv8c.exe 1
Проблема: После обновления на 1С:Бухгалтерию предприятия 3-й версии, при нажатии на закладку командного интерфейса 1С:предприятие, выскакивает ошибка: Aboutsecurity_1cv8c.exe или Aboutsecurity_1cv8.exe «Содержимое указанного ниже веб-узла в э Google maps : вывод точек на карту и режим панорамы 7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Блокировка записей, невозможно изменить или удалить из регистра. Конфликт блокировок MS SQL + 1C 3
При попытке удалить запись из регистра сведений - получаю ошибку: она заблокирована, ошибка блокировок и т.д. Отключил всех пользователей, перезапустил сервер, пробую удалить - опять ошибка блокировки :( Путем тестов было вяснено, что проблема Ввод по строке - поиск по первым символам или в любом месте наименования 6
При разработке конфигурации, для упрощении ввода документов потребовалось настроить ввод номенклатуры по совпадению любой части наименования! В 1С 8.3 по умолчанию настройки справочника номенклатуры такие: При такой настройке, механизм поиска в Посмотреть все результаты поиска похожих

Еще в этой же категории

Полнотекстовый поиск в 1С (что это и пример использования) 23
Полнотекстовый поиск - позволит найти текстовую информацию, размещенную практически в любом месте используемой конфигурации. При этом искать нужные данные можно либо по всей конфигурации в целом, либо сузив область поиска до нескольких объектов Дата создания объекта по ссылке (GUID) 7
Код позволяет получить информацию о дате и времени создания объекта ИБ (документ, элемент справочника) по уникальному идентификатору (GUID) Позволяет узнать, когда был создан документ или элемент справочника. Для получения информации используется у Циклы в языке 1С, примеры и тест - какой цикл быстрее? 6
Циклы применяются для выполнения каких либо повторяющихся действий, возможные варианты перебора в цикле: Перебираем строки с помощью цикла Для каждого Для каждого ТекСтрока Из КоллекцияСтрок Цикл // код обработки КонецЦикла; Перебираем строки Полнотекстовый Поиск - пример поиска контрагентов в базе 3
У клиента огромная база клиентов и соответственно огромный штат менеджеров. Дошло до того, что менеджеры в поисках новых клиентов( знакомство, интернет, реклама и т.д.) очень часто звонят одним и тем же клиентам по несколько раз. Стали вести базу зв Отказ от модальности - Где, Что и Как? 2
В общем виде задача отказа от модальности заключается в том, чтобы заменить модальные методы их асинхронными аналогами. Старая процедура, открывавшая модальное окно и обрабатывавшая полученные им данные, могла выглядеть так: В новом варианте Посмотреть все в категории Встроенные Функции

Эта статья будет о том, как получить представление числа или суммы прописью, используя стандартную функцию ЧислоПрописью().

Пишу это в качестве шпаргалки, в том числе и для себя, ибо требуется достаточно часто, а запоминать все эти конструкции нет никакого желания (синтаксис помощник, как-то не сильно помогает).

В этой статье я не буду приводить описание функции ЧислоПрописью() и ее параметров — это есть в синтаксис-помощнике.

Число прописью

Начнем с простой записи числа прописью:

Результат правда будет немного не таким, каким хотелось бы — дробная часть будет записана цифрами.

Можно попробовать сделать так:

Но это все равно не то, так как нельзя понять где заканчивается целая часть и начинается дробная.

Для решения этой проблемы можно задействовать третий параметр:

Результат выгляди уже более или менее приемлемо, но такой способ совершенно не подходит, если количество знаков после запятой неизвестно заранее.

Стандартного и универсального решения этой проблемы, к сожалению, не существует (поправьте меня, если я ошибаюсь).

Сумма прописью

Теперь перейдем к представлению сумм прописью (по суммой подразумевается пара — число+валюта). Здесь все гораздо лучше — знаков после запятой практически всегда два.

Сумма в российских рублях на разных языках:

Сообщить(ЧислоПрописью(1234.56, "Л=ru_RU;ДП=Истина", "рубль,рубля,рублей,м,копейка,копейки,копеек,ж,2"));

Сообщить(ЧислоПрописью(1234.56, "Л=uk_UA;ДП=Истина", "карбованець,карбованцi,карбованцiв,м,копiйка,копiйки,копiйок,м,2"));

Сообщить(ЧислоПрописью(1234.56, "Л=lv_LV;ДП=Истина", "rublis,rubli,rublu,v,kapeika,kapeiki,kapeiku,s,2"));

Сумма в долларах США на разных языках:

Сообщить(ЧислоПрописью(1234.56, "Л=ru_RU;ДП=Истина", "доллар,доллара,долларов,м,цент,цента,центов,м,2"));

Сообщить(ЧислоПрописью(1234.56, "Л=uk_UA;ДП=Истина", "долар,долара,доларiв,м,цент,цента,центiв,м,2"));

Сообщить(ЧислоПрописью(1234.56, "Л=lv_LV;ДП=Истина", "dolars,dolari,dolaru,v,cent,centi,centu,v,2"));

Сумма в евро на разных языках:

Сообщить(ЧислоПрописью(1234.56, "Л=ru_RU;ДП=Истина", "евро,евро,евро,м,евроцент,евроцента,евроцентов,м,2"));

Сообщить(ЧислоПрописью(1234.56, "Л=uk_UA;ДП=Истина", "євро,євро,євро,м,євроцент,євроцента,євроцентів,м,2"));

Сумма в украинских гривнах на разных языках:

Сообщить(ЧислоПрописью(1234.56, "Л=ru_RU;ДП=Истина", "гривна,гривны,гривен,ж,копейка,копейки,копеек,ж,2"));

Сообщить(ЧислоПрописью(1234.56, "Л=uk_UA;ДП=Истина", "гривня,гривнi,гривень,ж,копiйка,копiйки,копiйок,ж,2"));

Сообщить(ЧислоПрописью(1234.56, "Л=lv_LV;ДП=Истина", "grivna,grivni,grivnu,s,kapeika,kapeiki,kapeiku,s,2"));

Сумма в латвийских латах на разных языках:

Сообщить(ЧислоПрописью(1234.56, "Л=ru_RU;ДП=Истина", "лат,лата,латов,м,сантим,сантима,сантимов,м,2"));

Сообщить(ЧислоПрописью(1234.56, "Л=uk_UA;ДП=Истина", "лат,лата,латiв,м,сантим,сантима,сантимiв,м,2"));

Сообщить(ЧислоПрописью(1234.56, "Л=lv_LV;ДП=Истина", "lats,lati,latu,v,santims,santimi,santimu,v,2"));

Сумма в румынских леях на разных языках:

Сумма в болгарских львах на разных языках:

Сообщить(ЧислоПрописью(1234.56, "Л=ru_RU;ДП=Истина", "лев,лева,левов,м,стотинка,стотинки,стотинок,ж,2"));

Сообщить(ЧислоПрописью(1234.56, "Л=uk_UA;ДП=Истина", "лев,лева,левів,м,стотинка,стотинки,стотинок,ж,2"));

Сообщить(ЧислоПрописью(1234.56, "Л=lv_LV;ДП=Истина", "leva,levas,levas,s,stotinka,stotinki,stotinki,s,2"));

Казахский язык и валюту я пропустил из-за сложностей с отображением символов.

На этом все, надеюсь данная статья вам помогла.

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

(оценок: 13, средняя оценка: 4,38 из 5)

Чаще всего в документах распечатанных из программы 1С да и не только, окончательная сумма прописывается прописью. С одной стороны это никак не регламентируется но для всех документов является обязательным, сначала сумму прописывают цифрами а потом прописью. Это касается практически всех документов, договоров, счет факту, Актов и т.д. В 1С реализовать вывод суммы прописью очень просто, можно даже написать её на разных языках.

Как в 1С сделать сумму прописью в печатной форме

Для примера я возьму документ «Поступление» у которого есть печатная форма, следующего вида, в конец выводиться итоговая сумма документа. Давайте сделает так чтобы она выводилась прописью с копейками.

1C Числа прописью

Так как у меня данный макет сформирован с помощью конструктора печати, мне необходимо открыть процедуру «Печать» и изменить формат вывода параметра «Сумма Документа». Для этого необходимо дописать вот такую строку в раздел вывода и заполнения подвала.

Подвал.Параметры.СуммаДокумента = ЧислоПрописью(Выборка.СуммаДокумента, ,»рубль, рубля, рублей, м, копейка, копейки, копеек, ж»);

1С Как вывести сумму прописью с копейками на разных языках

Сохраняем и проверяем что получилось, видим что итоговая сумма документа теперь выводиться прописью с копейками.

1С Как вывести сумму прописью

Если у вас цена например в долларах то тогда пишем вот так.

1С Как вывести сумму прописью с копейками

Теперь итоговая сумма прописью будет выглядеть следующим образом.


Можно также реализовать вывод итоговой суммы на другом языке например английском.

Подвал.Параметры.СуммаДокумента = ЧислоПрописью(Выборка.СуммаДокумента,»L=en_US»,»dollar, dollars, cent, cents, 2″);

Язык можно изменить на любой например, белорусский be_BY, французский fi_FI или казахский kk_KZ.

1С Как вывести сумму прописью на английском

Как видите все достаточно просто, если нужна более подробная информация то её можно найти в синтаксис помощнике.


Функция Формат в 1С 8.3 выводит примитивные типы данных (дата, время, число, булево) в удобное отображение для чтения. Используется при визуальном выводе информации на экран. Синтаксис функции: Формат(Значение - форматируемое значение, Форматная строка - строковое значение, включающее параметры форматирования). На платформе 1С 8.3 также доступен встроенный конструктор форматной строки , который вызывается в модуле по клику правой кнопки мыши и выборе из списка.


✔ Формат Суммы (Числа)

&НаКлиенте
Процедура ФорматированиеСуммы ( Команда )

// Отображение общего числа цифр
Сообщить ( Формат ( 138 , "ЧЦ=3" )); // 138
Сообщить ( Формат ( 138 , "ЧЦ=2" )); // 99
Сообщить ( Формат ( 138 , "ЧЦ=1" )); // 9

// Отображение общего числа цифр после запятой
Сообщить ( Формат ( 138.214 , "ЧДЦ=2" )); // 138.21
Сообщить ( Формат ( 138.214 , "ЧДЦ=1" )); // 138.2
Сообщить ( Формат ( 138.214 , "ЧДЦ=0" )); // 138

// Сдвиг разрядов числа
Сообщить ( Формат ( 7 , "ЧС=5" )); // 0,00007
Сообщить ( Формат ( 7 , "ЧС=1" )); // 0,7
Сообщить ( Формат ( 7 , "ЧС=-3" )); // 7000

// Установка разделителя групп
Сообщить ( Формат ( 500000000 , "ЧРГ=*" )); // 500*000*000

// Вывод нулевого представления числа
Сообщить ( Формат ( 0 , "ЧН=ноль" )); // ноль

// Вывод лидирующих нулей
Сообщить ( Формат ( 138 , "ЧЦ=10; ЧВН ЧЦ=2; ЧВН ЧГ=0" )); // 3000000
Сообщить ( Формат ( 3000000 , "ЧГ=3,0" )); // 3 000 000
Сообщить ( Формат ( 3000000 , "ЧГ=3,2,0" )); // 30 00 000

// Представление числа прописью
Сообщить ( ЧислоПрописью ( 138.21 )); // Сто тридцать восемь 21

// Рубли-копейки (Сто тридцать восемь рублей 21 копейка)
ФСтр = "Л=ru_RU;ДП=Истина" ; ПарПИ = "рубль,рубля,рублей,м,копейка,копейки,копеек,ж,2" ; //по-русски
ФСтр = "Л=en_US;ДП=Истина" ; ПарПИ = "rouble,roubles,kopeck,kopecks,2" ; //по-английски
ФСтр = "Л=uk_UA;ДП=Истина" ; ПарПИ = "карбованець,карбованцi,карбованцiв,м,копiйка,копiйки,копiйок,м,2" ; //по-украински
ФСтр = "Л=lv_LV;ДП=Истина" ; ПарПИ = "rublis,rubli,rublu,v,kapeika,kapeiki,kapeiku,s,2" ; //по-латышски
ФСтр = "Л=ro_RO;ДП=Истина" ; ПарПИ = "rubla,ruble,f,copeica,copeici,f,2" ; //по-румынски
ФСтр = "Л=bg_BG;ДП=Истина" ; ПарПИ = "рубла,рубли,ж,копейка,копейки,ж,2" ; //по-болгарски

// Доллары-центы (Сто тридцать восемь долларов США 21 цент)
ФСтр = "Л=ru_RU;ДП=Истина" ; ПарПИ = "доллар,доллара,долларов,м,цент,цента,центов,м,2" ; //по-русски
ФСтр = "Л=en_US;ДП=Истина" ; ПарПИ = "dollar,dollars,cent,cents,2" ; //по-английски
ФСтр = "Л=uk_UA;ДП=Истина" ; ПарПИ = "долар,долара,доларiв,м,цент,цента,центiв,м,2" ; //по-украински
ФСтр = "Л=lv_LV;ДП=Истина" ; ПарПИ = "dolars,dolari,dolaru,v,cent,centi,centu,v,2" ; //по-латышски
ФСтр = "Л=ro_RO;ДП=Истина" ; ПарПИ = "dolar,dolari,m,cent,centi,m,2" ; //по-румынски
ФСтр = "Л=bg_BG;ДП=Истина" ; ПарПИ = "долар,долара,м,цент,цента,м,2" ; //по-болгарски

// Евро-евроценты (Сто тридцать восемь евро 21 евроцент)
ФСтр = "Л=ru_RU;ДП=Истина" ; ПарПИ = "евро,евро,евро,м,евроцент,евроцента,евроцентов,м,2" ; //по-русски
ФСтр = "Л=en_US;ДП=Истина" ; ПарПИ = "euro,euros,eurocent,eurocents,2" ; //по-английски
ФСтр = "Л=uk_UA;ДП=Истина" ; ПарПИ = "євро,євро,євро,м,євроцент,євроцента,євроцентів,м,2" ; //по-украински
ФСтр = "Л=lv_LV;ДП=Истина" ; ПарПИ = "eiro,eiro,eiro,v,cents,centi,centi,v,2" ; //по-латышски
ФСтр = "Л=ro_RO;ДП=Истина" ; ПарПИ = "euro,euro,м,eurocent,eurocenti,м,2" ; //по-румынскимммм
ФСтр = "Л=bg_BG;ДП=Истина" ; ПарПИ = "евро,евро,с,евроцент,евроцента,м,2" ; //по-болгарски

Сообщить ( ЧислоПрописью ( 138.21 , ФСтр , ПарПИ ));

// Килограммы-граммы (Сто тридцать восемь килограммов 210 грамм)
Сообщить ( ЧислоПрописью ( 138.21 , "Л=ru_RU; ДП=Истина" , "килограмм, килограмма, килограммов, м, грамм, грамма, граммов, м, 3" ));

Читайте также: