Где в 1С калькулятор и как считать прямо в документе
Содержание
Отдельного приложения-калькулятора, как в Windows, в 1С:Предприятии 8.3 нет. Считать нужно иначе: калькулятор встроен прямо в поля ввода чисел. Поставьте курсор в любое числовое поле — сумму документа, цену, количество, значение отбора — и нажмите F4. Откроется панель-калькулятор с кнопками и лентой вычислений.
Ещё быстрее — набрать выражение прямо в поле: введите 1250*1.2, нажмите Enter, и в поле окажется 1500. Программа сама вычислит результат, округлит его до разрядности этого поля и подставит число. Ниже — как это работает в документах, отчётах и во встроенном языке, и почему результат иногда отличается от ожидаемого на копейку.
Расчёт прямо в поле ввода числа
Самый быстрый способ — не открывать никакой калькулятор, а посчитать там же, где нужно число. Любое поле ввода числа в 1С понимает арифметику.
Как это сделать:
- Встаньте курсором в числовое поле (сумма, цена, количество, ставка).
- Наберите выражение:
480+520,9900/3,(1000+250)*1.2. - Нажмите 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% к 1250 | 1250*1,2 | 1500 |
| Выделить НДС 20% из 1500 | 1500/120*20 | 250 |
| Скидка 15% от 4000 | 4000*0,85 | 3400 |
| Третья часть от 9900 | 9900/3 | 3300 |
Проверьте знаки: деление и умножение калькулятор выполняет слева направо. 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.
Когда калькулятора мало: обработки и Excel
Калькулятор поля закрывает разовый счёт. Для регулярных или массовых вычислений он не годится — и это нормально, для этого есть другие инструменты.
Варианты по возрастанию сложности:
- Excel для разовой большой таблицы. Выгрузите данные из отчёта в табличный документ, сохраните в Excel, посчитайте формулами там. Обратно числа можно вернуть загрузкой из табличного документа, если в конфигурации есть такая обработка.
- Своя внешняя обработка (
.epf). Если расчёт повторяется каждый месяц и зависит от данных базы, его оформляют отдельной обработкой на встроенном языке. Она берёт данные из базы сама и считает по заданным формулам — вводить числа руками уже не нужно. - Типовой функционал конфигурации. Прежде чем писать обработку, проверьте: возможно, нужный расчёт уже встроен (начисление НДС, курсовые разницы, распределение затрат считаются документами автоматически).
Выгрузить данные в Excel обычно можно прямо из открытого отчёта или списка командой сохранения табличного документа в файл .xlsx — дальше считаете привычными формулами Excel. Это удобно для разовой проверки или прикидки, когда настраивать расчёт в самой базе дольше, чем посчитать вручную.
Ключевой выбор простой: одна цифра здесь и сейчас — калькулятор в поле; таблица чисел разово — Excel; то же самое каждый период — обработка или типовой механизм 1С. Не стоит бросаться писать обработку ради расчёта, который делается раз в год: разовую задачу быстрее закрыть калькулятором поля или таблицей в Excel, а код оставить для того, что повторяется регулярно и зависит от данных базы.
Частые вопросы
Почему калькулятор не открывается по F4?
Можно ли посчитать проценты кнопкой «%»?
×1,2, выделить 20% из суммы — /120*20, скидка 15% — ×0,85.Почему 10/3 дало 3,33, а не 3,3333?
3,33, в поле с тремя — 3,333.Где в 1С отдельное окно калькулятора, как в Windows?
F4 прямо там, куда пойдёт результат.