Как изменить количество знаков после запятой для показателя Количество в отчете ОСВ в 1С?

Программист 1С v8.3 (Обычные формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

При ведении учета материалов или продукции на счете 10 нередко возникает потребность учитывать дробные доли с высокой точностью — 4, 5 или более знаков после запятой. Однако после расширения разрядности реквизита Количество в метаданных документов, регистров бухгалтерии и плана счетов пользователи сталкиваются с тем, что типовой отчет Оборотно-сальдовая ведомость (ОСВ) продолжает выводить ровно 3 знака после запятой, обрезая или округляя внесенные данные. Разберем по шагам, почему это происходит и как скорректировать отчет.

Анализ причин фиксации формата в СКД

Выясним причину такого поведения системы. В отчетах, построенных на базе Схемы компоновки данных (СКД), форматирование чисел может определяться на нескольких различных уровнях, имеющих строгую иерархию приоритетов:

  1. Макет оформления СКД (Пользовательский макет): имеет наивысший приоритет. Если в макете ячейки для числового поля жестко прописан формат оформления (например, ЧДЦ=3), платформа полностью игнорирует формат, заданный в свойствах полей или в метаданных конфигурации.
  2. Условное оформление: задается на уровне схемы или конкретных группировок отчета.
  3. Оформление на вкладке «Наборы данных» / «Вычисляемые поля»: свойства формата в описании полей СКД.
  4. Тип данных поля в метаданных: используется платформой по умолчанию, если ни на одном из предыдущих уровней формат не переопределен.

В типовых конфигурациях показатель количества в макете отчета ОСВ часто имеет фиксированную строку формата с параметром ЧДЦ=3 (Число Дробная Часть = 3). Из-за этого изменение метаданных не дает видимого эффекта при формировании отчета.

Пошаговое изменение разрядности в макете отчета

Рассмотрим порядок действий для корректировки макета схемы компоновки данных:

  1. Откроем отчет ОборотноСальдоваяВедомость (или ОборотноСальдоваяВедомостьПоСчету) в конфигураторе.
  2. Перейдем в основную схему компоновки данных (СКД) отчета.
  3. Переключимся на вкладку Макеты.
  4. Найдем область макета, отвечающую за вывод количественных показателей (заголовки строк, группировки и итоговые поля по показателю количества).
  5. Выделим соответствующую ячейку макета, откроем палитру свойств и найдем свойство Формат.
  6. Скорректируем параметр ЧДЦ на требуемое количество знаков, например: ЧДЦ=5 или ЧДЦ=4 (либо удалим жесткую фиксацию параметра, если требуется наследовать точность из метаданных).
  7. Повторим проверку для всех выводимых количественных колонок (начальный остаток, обороты дебет/кредит, конечный остаток).
  8. Сохраним схему компоновки и обновим конфигурацию базы данных.

Подводные камни и ограничения при увеличении разрядности

Проанализируем технические нюансы, с которыми можно столкнуться при расширении разрядности количественных полей в типовых конфигурациях:

  1. Округление в коде модулей: во многих типовых обработчиках проведения и пересчета табличных частей (например, в процедурах ПриИзмененииКоличества) может быть жестко прописано округление через функцию Окр(Количество, 3). Без аудита модулей документы могут продолжать записывать усеченные значения.
  2. Расчет сумм и копеечные погрешности: умножение количества высокой разрядности на цену может приводить к систематическим расхождениям в копейках при последующем округлении суммы проводки.
  3. Печатные формы: макеты первичных учетных документов (ТОРГ-12, М-11, УПД) содержат собственные параметры форматирования ячеек, которые также потребуется скорректировать вручную.
  4. Обмен данными и электронный документооборот (ЭДО): схемы XML/XSD для регламентированной выгрузки имеют жесткие ограничения на типы данных. Нестандартная разрядность может привести к ошибкам валидации на стороне контролирующих органов или операторов ЭДО.
  5. Ограничения платформы 1С: максимальная общая разрядность числа в платформе составляет 38 знаков. При сложных операциях деления и умножения в запросах рекомендуется явно использовать функцию ВЫРАЗИТЬ(... КАК Число(..., ...)) для исключения ошибок переполнения.

Альтернативное решение без изменения конфигурации

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

Если учет ведется в тоннах с тысячными долями, рекомендуется изменить учетную единицу номенклатуры на килограммы или граммы, а для погонажа и объемов — на миллиметры или кубические дециметры (литры). Для позиций с накопленной историей движений создается новая карточка номенклатуры с базовой единицей измерения, а остатки переводятся документом корректировки или комплектации. Такой подход полностью исключает необходимость доработки метаданных, макетов СКД и алгоритмов проведения.

← На главную