Вывод суммы прописью с копейками на разных языках

09.04.23

Разработка - Работа с интерфейсом

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

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

 

 

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

 

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

 

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

 

 

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

 

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

 

 

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

 

 

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

 

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

 

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

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

число прописью печатная форма итого прописью 1с прописью

См. также

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    5185    11    5    

20

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    3558    8    0    

27

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    17678    24    6    

38
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ISChaplagin 45 09.04.23 19:32 Сейчас в теме
Процедура Печать(ТабДок, Ссылка) Экспорт
	//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
	Макет = Документы.Поступление.ПолучитьМакет("Печать");
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	Поступление.Дата,
	|	Поступление.Договора,
	|	Поступление.Контрагент,
	|	Поступление.Номер,
	|	Поступление.СписокМатериалов.(
	|		НомерСтроки,
	|		Материалы,
	|		Цена,
	|		Количество,
	|		Сумма
	|	)
	|ИЗ
	|	Документ.Поступление КАК Поступление
	|ГДЕ
	|	Поступление.Ссылка В (&Ссылка)";
	Запрос.Параметры.Вставить("Ссылка", Ссылка);
	Выборка = Запрос.Выполнить().Выбрать();

	ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
	Шапка = Макет.ПолучитьОбласть("Шапка");
	ОбластьСписокМатериаловШапка = Макет.ПолучитьОбласть("СписокМатериаловШапка");
	ОбластьСписокМатериалов = Макет.ПолучитьОбласть("СписокМатериалов");
	
	//*// 
	ПодвалТЧ = Макет.ПолучитьОбласть("ПодвалТЧ"); // Получать область ПодвалТЧ
    ПодвалВсего = Макет.ПолучитьОбласть("ПодвалВсего"); // Получать область ПодвалВсего 
	//*//

	ТабДок.Очистить();
	
	//*//
	// Переменная для подсчета суммы
	ОбщаяСумма=0;
	//*//
	
	ВставлятьРазделительСтраниц = Ложь;
	Пока Выборка.Следующий() Цикл
		Если ВставлятьРазделительСтраниц Тогда
			ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;

		ТабДок.Вывести(ОбластьЗаголовок);

		Шапка.Параметры.Заполнить(Выборка);
		ТабДок.Вывести(Шапка, Выборка.Уровень());

		ТабДок.Вывести(ОбластьСписокМатериаловШапка);
		ВыборкаСписокМатериалов = Выборка.СписокМатериалов.Выбрать();
		Пока ВыборкаСписокМатериалов.Следующий() Цикл
			ОбластьСписокМатериалов.Параметры.Заполнить(ВыборкаСписокМатериалов);
			ТабДок.Вывести(ОбластьСписокМатериалов, ВыборкаСписокМатериалов.Уровень());
			
		//*//
		// Подсчет
		ОбщаяСумма=ОбщаяСумма+ВыборкаСписокМатериалов.Сумма;
		//*// 
			
	КонецЦикла;      
	   
		//*//
        //Вывести область подвалТЧ
		ПодвалТЧ.Параметры.Установить(0, ОбщаяСумма);
		ТабДок.Вывести(ПодвалТЧ);
         //*//   
		 
		 //*//  
         //Вывести область подвалВсего
		ОбщаяСуммаПропись= ЧислоПрописью(Строка(ОбщаяСумма),"Л=ru_RU; ДП=Истина","рубль, рубля, рублей, м, копейка, копейки, копеек, ж" );
		ПодвалВсего.Параметры.Установить(0, ОбщаяСуммаПропись);	
		ТабДок.Вывести(ПодвалВсего);
         //*// 
		
		 ВставлятьРазделительСтраниц = Истина;
	КонецЦикла;
	//}}
КонецПроцедуры

Показать
2. Slypower 3 10.04.23 10:58 Сейчас в теме
А так же в самой валюте есть параметры целой и дробной части прописи для русского для каждой валют
3. RayCon 786 16.04.23 19:14 Сейчас в теме
окончательная сумма прописывается прописью.

Это верно.
С одной стороны, это никак не регламентируется

А вот это для России неверно: суммы прописью в документах регламентируются различными документами, как ОКУД, так и ведомственными, например, Положением ЦБ РФ от 19.06.2012 №383-П "О правилах осуществления перевода денежных средств".
Но это отчасти верно для международных расчетов, где работают обычаи делового оборота. Так вот, эти обычаи таковы, что сумма прописью пишется только в части целых значений валюты и не пишется в части дробных значений валюты. => И вывод всяческих "центов" в типовых конфигурациях фирмы 1С, и в данной разработки - вещь не только не нужная, но и вредная, т.к. демонстрирует зарубежному контрагенту отсутствие компетенций в знании обычаев международного делового оборота.
Оставьте свое сообщение