Где в 1С калькулятор и как считать прямо в документе

· 9 мин

Содержание

Отдельного приложения-калькулятора, как в Windows, в 1С:Предприятии 8.3 нет. Считать нужно иначе: калькулятор встроен прямо в поля ввода чисел. Поставьте курсор в любое числовое поле — сумму документа, цену, количество, значение отбора — и нажмите F4. Откроется панель-калькулятор с кнопками и лентой вычислений.

Ещё быстрее — набрать выражение прямо в поле: введите 1250*1.2, нажмите Enter, и в поле окажется 1500. Программа сама вычислит результат, округлит его до разрядности этого поля и подставит число. Ниже — как это работает в документах, отчётах и во встроенном языке, и почему результат иногда отличается от ожидаемого на копейку.

Расчёт прямо в поле ввода числа

Самый быстрый способ — не открывать никакой калькулятор, а посчитать там же, где нужно число. Любое поле ввода числа в 1С понимает арифметику.

Как это сделать:

  1. Встаньте курсором в числовое поле (сумма, цена, количество, ставка).
  2. Наберите выражение: 480+520, 9900/3, (1000+250)*1.2.
  3. Нажмите Enter или перейдите в другое поле — 1С подставит результат.

Работает в табличных частях документов, в реквизитах шапки, в полях отбора списков, в настройках отчётов — везде, где поле хранит число. Это и есть «калькулятор 1С», которым пользуются каждый день, обычно даже не задумываясь, что это калькулятор.

Разделитель дробной части — запятая (как в региональных настройках), а не точка. Писать можно и с точкой: 1250.5 программа обычно принимает, но привычнее запятая — 1250,5.

Как открыть панель-калькулятор горячей клавишей

Если выражение длинное или хочется видеть кнопки — откройте панель. В 1С 8.3 за это отвечает стандартная клавиша выбора.

  • F4 — открыть форму выбора для текущего поля. Для числового поля это калькулятор, для даты — календарь, для ссылки — список справочника.
  • Кнопка выбора в правой части поля (значок с троеточием или стрелкой) делает то же самое мышью.

На панели — цифровые кнопки, знаки операций, кнопка результата. Введённое число уже перенесено в калькулятор, так что можно сразу продолжить: прибавить, умножить, разделить. Нажатие кнопки результата возвращает число в поле.

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

Если поле недоступно для редактирования (документ проведён и закрыт, строка рассчитывается автоматически), калькулятор по F4 не откроется — сначала поле нужно сделать редактируемым.

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

Какие выражения понимает встроенный калькулятор

Калькулятор поля — это простой арифметический вычислитель. Он рассчитан на быстрый счёт, а не на инженерные формулы.

Что поддерживается:

  • Сложение +, вычитание -, умножение *, деление /.
  • Скобки для порядка действий: (1000+250)*1,2.
  • Отрицательные числа и последовательные операции: 1000-100-50.

Приоритет операций обычный: умножение и деление раньше сложения и вычитания. То есть 100+10*2 даст 120, а не 220. Если нужен другой порядок — ставьте скобки: (100+10)*2 = 220.

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

ЗадачаЧто набрать в полеРезультат
Прибавить НДС 20% к 12501250*1,21500
Выделить НДС 20% из 15001500/120*20250
Скидка 15% от 40004000*0,853400
Третья часть от 99009900/33300

Проверьте знаки: деление и умножение калькулятор выполняет слева направо. 1500/120*20 он считает как (1500/120)*20 = 250 — это верно для выделения НДС. А вот 1500/120/20 даст совсем другое число.

Ещё пара расчётов, которые бухгалтер делает прямо в поле не задумываясь:

  • Цена без НДС из цены с НДС. В поле цены набрать 1180/1,2 → 983,33. Удобно, когда поставщик дал цену «с НДС», а в документ нужна цена без налога.
  • Сумма строки вручную. Если цена и количество известны, а поле суммы не считается само, наберите в нём 55,40*18 → 997,20.
  • Разбить сумму поровну. 30000/4 → 7500 — например, разнести годовой платёж на кварталы.

Эти выражения вводятся в то самое поле, где нужен результат, поэтому промежуточные числа нигде не всплывают и не теряются.

Точность и округление результата

Здесь кроется главная причина вопросов «почему калькулятор посчитал не так». Дело не в калькуляторе, а в разрядности поля.

У каждого числового поля в 1С задано число знаков после запятой — это свойство реквизита в конфигурации, пользователь его не меняет. Калькулятор считает точно, но при подстановке в поле результат округляется до разрядности именно этого поля.

Пример: наберите 10/3.

  • В поле суммы с двумя знаками после запятой получите 3,33.
  • В поле количества с тремя знаками — 3,333.
  • В поле без дробной части (только целые) — 3.

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

Про само округление: по умолчанию 1С округляет половину в большую сторону, то есть 0,5 → 1, 2,345 при двух знаках → 2,35. Так называемого «банковского» округления (к ближайшему чётному) во встроенном калькуляторе поля нет — не ждите его.

Отсюда же растёт классическое «итог документа отличается на копейку». Когда сумма считается построчно и каждая строка округляется до копеек, сумма округлённых строк может не совпасть с округлением общего итога. Например, три строки по 33,335 руб.: округлите каждую до 33,34 — получите 100,02; округлите сумму 100,005 — получите 100,01. Разница в копейку возникает не из-за ошибки, а из-за порядка округления, и документы 1С придерживаются одного выбранного порядка, чтобы итоги сходились стабильно.

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

Вычисления в отборах списков и настройках отчётов

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

Где это удобно:

  • Отбор в списке. Открываете список документов, ставите отбор по сумме «больше чем» и прямо в поле условия пишете 100000/2 — получаете порог 50000.
  • Настройки отчёта. В параметрах отчёта на системе компоновки данных (СКД) числовые поля так же понимают выражения по F4.
  • Ручной ввод в обработках. Поля ввода чисел в любой форме — то же самое.

Сами вычисляемые показатели отчёта считает не калькулятор, а механизм компоновки: в настройках СКД для этого есть вычисляемые поля и ресурсы, где формулы задаются выражениями встроенного языка. Например, чтобы показать в отчёте процент наценки, задают вычисляемое поле с выражением вида (Выручка - Себестоимость) / Себестоимость * 100. При формировании отчёта это поле посчитается по каждой строке автоматически — руками ничего вводить не нужно. Это и есть принципиальная разница: ручной калькулятор даёт одно число по вашему запросу, вычисляемое поле пересчитывает показатель по всей выборке при каждом построении отчёта.

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

Расчёты во встроенном языке 1С

Когда расчёт нужно повторять автоматически — в документе, обработке, отчёте — его пишут на встроенном языке 1С. Это уже не калькулятор, а код, но арифметика та же.

Операторы те же: +, -, *, / и скобки. Для округления и целой части есть встроенные функции:

// Полный расчёт строки: сумма с НДС и выделенный НДС
Цена = 55.40;
Количество = 18;
СуммаСтроки = Цена * Количество;            // 997.20
СуммаНДС = Окр(СуммаСтроки / 120 * 20, 2);  // выделили НДС 20%: 166.20
СуммаБезНДС = СуммаСтроки - СуммаНДС;        // 831.00

ЦелаяЧасть = Цел(3.99);                      // отбросили дробную часть: 3
  • Окр(Число, Разрядность) — округляет до заданного числа знаков после запятой. Третьим параметром задаётся режим округления половины (в большую сторону или в меньшую) — точные значения режима смотрите в синтакс-помощнике конфигуратора, если нужно поведение, отличное от стандартного.
  • Цел(Число) — отбрасывает дробную часть (не округляет, а именно отбрасывает): Цел(3,99) = 3.

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

В коде разделитель дробной части — точка (1.2), а не запятая. Запятая в коде разделяет аргументы функции, и Окр(1500, 2) — это округление числа 1500, а Окр(1500,2) программа поймёт так же. А вот 1,2 как число в коде писать нельзя — только 1.2.

Проверьте себя
Поле суммы хранит 2 знака после запятой. Что окажется в поле, если набрать `10/3`?
В поле количества с 3 знаками после запятой набрали `100/3`. Результат?

Когда калькулятора мало: обработки и Excel

Калькулятор поля закрывает разовый счёт. Для регулярных или массовых вычислений он не годится — и это нормально, для этого есть другие инструменты.

Варианты по возрастанию сложности:

  • Excel для разовой большой таблицы. Выгрузите данные из отчёта в табличный документ, сохраните в Excel, посчитайте формулами там. Обратно числа можно вернуть загрузкой из табличного документа, если в конфигурации есть такая обработка.
  • Своя внешняя обработка (.epf). Если расчёт повторяется каждый месяц и зависит от данных базы, его оформляют отдельной обработкой на встроенном языке. Она берёт данные из базы сама и считает по заданным формулам — вводить числа руками уже не нужно.
  • Типовой функционал конфигурации. Прежде чем писать обработку, проверьте: возможно, нужный расчёт уже встроен (начисление НДС, курсовые разницы, распределение затрат считаются документами автоматически).

Выгрузить данные в Excel обычно можно прямо из открытого отчёта или списка командой сохранения табличного документа в файл .xlsx — дальше считаете привычными формулами Excel. Это удобно для разовой проверки или прикидки, когда настраивать расчёт в самой базе дольше, чем посчитать вручную.

Ключевой выбор простой: одна цифра здесь и сейчас — калькулятор в поле; таблица чисел разово — Excel; то же самое каждый период — обработка или типовой механизм 1С. Не стоит бросаться писать обработку ради расчёта, который делается раз в год: разовую задачу быстрее закрыть калькулятором поля или таблицей в Excel, а код оставить для того, что повторяется регулярно и зависит от данных базы.

Частые вопросы

Почему калькулятор не открывается по F4?
Скорее всего, поле недоступно для редактирования: документ проведён и закрыт, либо значение рассчитывается автоматически. Сделайте поле редактируемым или проверьте, что курсор стоит именно в числовом поле, а не рядом.
Можно ли посчитать проценты кнопкой «%»?
Отдельной кнопки процента нет. Процент считают умножением: прибавить 20% — ×1,2, выделить 20% из суммы — /120*20, скидка 15% — ×0,85.
Почему 10/3 дало 3,33, а не 3,3333?
Поле хранит ровно столько знаков после запятой, сколько задано в конфигурации. Результат округляется до разрядности поля. В поле с двумя знаками это 3,33, в поле с тремя — 3,333.
Где в 1С отдельное окно калькулятора, как в Windows?
Самостоятельного окна-калькулятора в типовых конфигурациях нет. Калькулятор встроен в поля ввода чисел и открывается по F4 прямо там, куда пойдёт результат.
Как записать результат, если он нужен в другом документе?
Лучше не переписывать цифру вручную, а считать сразу в нужном поле того документа — так не ошибётесь при переносе. Если число нужно сохранить, скопируйте его из поля обычным Ctrl+C.