Вывод копеек отдельно в макет ценника. Розница 3.0
Клиент захотел, чтобы в макете копейки выводились отдельно:

К сожалению, с помощью форматирования нельзя выделить дробную часть из числа (недостаток 1С, оставил пожелание).
Поэтому приходится брать в руки код и писать расширение модуля менеджера обработки ПечатьЭтикетокИЦенников:
&Вместо("СформироватьПечатныеФормыЭтикетокИЦенников") Функция M_СформироватьПечатныеФормыЭтикетокИЦенников(НастройкиПечати, ПечататьЭтикетки, ПечататьЦенники) КоллекцияПечатныхФорм = ПродолжитьВызов(НастройкиПечати, ПечататьЭтикетки, ПечататьЦенники); Для Каждого ПечатнаяФорма Из КоллекцияПечатныхФорм Цикл ТабличныйДокумент = ПечатнаяФорма.ТабличныйДокумент; Начало = Неопределено; Пока истина Цикл Область = ТабличныйДокумент.НайтиТекст("#КОП:", Начало); Если Область = Неопределено Тогда Прервать; КонецЕсли; Текст = Область.Текст; Текст = СтрЗаменить(Текст, "#КОП:", ""); Поз = Найти(Текст, "."); Если Поз <> 0 Тогда Текст = Сред(Текст, Поз + 1); Иначе Текст = "0"; КонецЕсли; Текст = Формат(Число(Текст), "ЧЦ=2; ЧН=00; ЧВН="); Область.Текст = Текст; КонецЦикла; КонецЦикла; Возврат КоллекцияПечатныхФорм; КонецФункции
К сожалению, функция печати ценников монолитна, в нее нельзя вмешаться, поэтому делаем обработку уже после формирования готового табличного документа с ценниками.
В макете поле выглядит так:

В начале поля добавляю префикс #КОП: подобрал такой префикс, чтобы не встречался в наименованиях товаров.
Результат я привел в первой картинке этой статьи.
Среда: 3.0.3.147.

Свежие комментарии