Учет и Финансы · 10 мин
Как отнять проценты в 1С: практическое руководство
Как отнять процент от суммы в 1С: формулы, скидки в документах, удержания в зарплате, настройка в типовых конфигурациях и проверка результата.
Задача «отнять процент» в 1С встречается в самых разных сценариях: расчёт скидки покупателю, удержание из зарплаты, вычет комиссии банка, уменьшение цены при переоценке. Во всех случаях математика одна, а вот инструменты различаются в зависимости от конфигурации — «Управление торговлей», «Бухгалтерия предприятия», «Зарплата и управление персоналом» или самописное решение.
Базовая формула проста: чтобы отнять от суммы X процент P, нужно вычислить X − (X × P / 100) или, что то же самое, X × (1 − P / 100). Например, от суммы 10 000 рублей отнять 15 %: 10 000 × 0,85 = 8 500 рублей. Ошибка возникает, когда вместо этого делят на 1,15 — это обратная операция (выделение процента из суммы), а не отнимание.
Ниже разобраны все практические способы: ручной расчёт в документах, автоматические скидки, удержания в зарплате, код на встроенном языке и проверка результата.
Различие операций: отнять, начислить и выделить процент
Прежде чем настраивать расчёт, важно не перепутать три разные операции. Отнять процент — уменьшить сумму на заданную долю: 10 000 − 15 % = 8 500. Начислить процент — увеличить сумму: 10 000 + 15 % = 11 500. Выделить процент из итоговой суммы — найти долю, которая уже «сидит» внутри: если 11 500 включает 15 %, то исходная сумма 11 500 / 1,15 = 10 000.
Типичная ошибка бухгалтеров и менеджеров — делить на 1,15 там, где нужно умножать на 0,85. Результаты близки, но не совпадают: 10 000 / 1,15 ≈ 8 695,65, а правильный ответ — 8 500. Разница в 195 рублей на каждые десять тысяч при массовых расчётах превращается в существенное расхождение в отчётах.
Как отнять процент в документе продажи (скидка)
В «1С:Управление торговлей» и «1С:Комплексная автоматизация» скидка в процентах задаётся прямо в табличной части документа «Реализация товаров и услуг» или «Заказ клиента». Откройте документ, выделите строки товаров и нажмите кнопку «Скидки (наценки)» над табличной частью, либо добавьте колонку «% скидки» через «Ещё → Изменить форму», если она скрыта.
Введите процент в колонку «% руч. скидки» — программа автоматически пересчитает сумму строки по формуле «Цена × Количество × (1 − Процент/100)». Сумма скидки отобразится в отдельной колонке, а итог документа уменьшится. Проверьте, что НДС пересчитался корректно: налог считается уже от суммы со скидкой.
Если скидка должна применяться ко всему документу, а не к отдельным строкам, используйте кнопку «Рассчитать скидки» или задайте процент в шапке документа — в зависимости от версии конфигурации. При включённом механизме автоматических скидок ручная скидка может суммироваться с автоматической, что приведёт к двойному вычету.
- 1Откройте документ реализации или заказ клиента
- 2Выделите нужные строки товаров
- 3Нажмите «Скидки (наценки)» или заполните колонку «% руч. скидки»
- 4Введите процент и проверьте пересчёт суммы строки
- 5Убедитесь, что НДС посчитан от суммы со скидкой
- 6Проведите документ и сверьте итог с ожидаемым расчётом
Автоматические скидки: настройка вычета процента
Если процент нужно отнимать регулярно — например, 5 % постоянным клиентам или 10 % при покупке от определённого количества, — настройте автоматические скидки. В «Управлении торговлей» перейдите в раздел «CRM и маркетинг → Скидки (наценки)» и создайте новый элемент. Выберите тип «Процент», укажите значение и задайте условия предоставления: сегмент клиентов, количество или сумма в документе, время действия.
После сохранения скидка будет рассчитываться автоматически при подборе товаров в документ. В карточке скидки можно ограничить её действие по группам товаров, складам или типам цен. Проверьте порядок применения: если действует несколько скидок, в настройках задайте правило — сложение, выбор максимальной или вытеснение.
Для «1С:Розница» механизм аналогичен: скидки настраиваются в разделе «Маркетинг» и применяются в чеках при выполнении условий. Обязательно протестируйте расчёт на пробном документе до начала реальных продаж.
Удержание процента из зарплаты в 1С:ЗУП
В «1С:Зарплата и управление персоналом» отнять процент от начислений сотрудника нужно при алиментах, удержаниях по исполнительным листам, возмещении ущерба. Для этого существуют виды удержаний: перейдите в «Настройка → Удержания», создайте новый вид или используйте предопределённый «Удержание по исполнительному документу».
При настройке укажите способ расчёта — «Процентом от заработка» (или от заработка за вычетом НДФЛ, что важно для исполнительных листов). Само удержание назначается документом «Исполнительный лист» или «Постоянное удержание» в разделе «Зарплата». Программа будет автоматически отнимать заданный процент при каждом расчёте зарплаты.
Учтите законодательное ограничение: общий размер удержаний из зарплаты ограничен (как правило, 50 %, в отдельных случаях до 70 %). Программа контролирует этот предел, но при сложных ситуациях с несколькими исполнительными листами сверьте расчёт вручную.
Для алиментов и исполнительных листов база удержания — заработок после вычета НДФЛ, а не начисленная сумма. Если расчёт «не сходится» на величину налога, проверьте, от какой базы настроен процент.
Расчёт в коде: формула на встроенном языке
Если вы дорабатываете конфигурацию или пишете внешнюю обработку, вычитание процента реализуется одной строкой. Встроенный язык 1С работает с числами напрямую:
СуммаСоСкидкой = Сумма * (1 - Процент / 100);
// или эквивалентно:
СуммаСоСкидкой = Сумма - Сумма * Процент / 100;
При работе с денежными суммами обращайте внимание на округление. Используйте функцию Окр() с указанием разрядности, чтобы избежать копеечных расхождений: СуммаСоСкидкой = Окр(Сумма * (1 - Процент / 100), 2). В типовых конфигурациях для округления цен есть собственные механизмы, учитывающие настройки точности валют.
Не храните процент как долю (0,15) в одних местах и как целое число (15) в других — это частый источник ошибок в сто раз. Определите единый формат: в интерфейсах 1С процент традиционно вводится как число от 0 до 100.
Процент = 15;
Сумма = 10000;
СуммаСоСкидкой = Окр(Сумма * (1 - Процент / 100), 2); // 8500Отнять процент в отчётах и произвольных расчётах
В отчётах на СКД (системе компоновки данных) вычисляемое поле с вычетом процента добавляется на вкладке «Вычисляемые поля»: укажите выражение вида Сумма 0,85 или Сумма - Сумма &Процент / 100 с параметром. Это удобно для анализа цен с учётом скидки без изменения данных документов.
В «1С:Бухгалтерия» при ручных операциях сумму с вычетом процента придётся посчитать самостоятельно — в полях ввода сумм формулы не работают. Используйте встроенный калькулятор Windows или калькулятор в 1С (вызывается через «Сервис» или сочетанием клавиш в поле ввода в некоторых версиях), затем внесите готовый результат.
| Задача | Инструмент в 1С | Формула |
|---|---|---|
| Скидка в продаже | Колонка «% скидки» в документе | Автоматически: Цена × (1 − P/100) |
| Постоянная скидка клиентам | Скидки (наценки) в CRM и маркетинг | Настраивается процентом |
| Удержание из зарплаты | Виды удержаний, исполнительный лист | Процент от базы (с НДФЛ или без) |
| Расчёт в коде | Встроенный язык | Сумма * (1 − P/100) |
| Аналитика в отчёте | Вычисляемые поля СКД | Выражение с параметром процента |
Проверка результата и типичные ошибки
После любого расчёта выполните обратную проверку: прибавьте к результату вычтенную сумму и сравните с исходной. Если отняли 15 % от 10 000 и получили 8 500, то скидка составила 1 500, а 8 500 + 1 500 = 10 000 — расчёт верен. Дополнительно убедитесь, что скидка действительно равна 15 % от исходной суммы: 1 500 / 10 000 = 0,15.
Как проверить результат
Равно заданному проценту (например, 0,15)
Другое значение — проверьте базу расчёта
Равен сумме × (1 − P/100)
Меньше ожидаемого — возможно двойное применение скидки
Посчитан от суммы со скидкой
Посчитан от полной суммы — пересчитайте налог
Если расчёт ведётся по многим строкам, округляйте итоговую сумму скидки, а не каждую промежуточную величину, либо используйте штатные механизмы конфигурации — они распределяют копеечные расхождения по строкам.
FAQ
Как отнять 20 % от суммы в поле документа, если колонки скидки нет?
Умножьте сумму на 0,8 на любом калькуляторе и введите результат вручную. Если такие расчёты регулярны, включите отображение колонки «% скидки» через «Ещё → Изменить форму» или используйте кнопку «Скидки (наценки)» над табличной частью.
Чем отличается «отнять процент» от «выделить НДС»?
Отнимание процента — умножение на (1 − P/100). Выделение НДС из суммы — деление на (1 + ставка/100) или умножение на расчётную ставку (например, 20/120). Это разные операции с разными результатами.
Почему скидка в документе применилась дважды?
Скорее всего, сработали одновременно автоматическая и ручная скидки. Проверьте карточку скидки в разделе маркетинга и настройку совместного применения: задайте правило выбора максимальной или отключите суммирование.
Как удержать процент от зарплаты один раз, а не постоянно?
В 1С:ЗУП используйте документ «Разовое удержание» вместо постоянного удержания или исполнительного листа. Укажите сумму или процент и месяц, в котором удержание должно быть выполнено.
Можно ли задать скидку в процентах на весь документ сразу?
Да, в «Управлении торговлей» выделите все строки и нажмите «Скидки (наценки)», либо настройте автоматическую скидку с условием по сумме документа. Процент применится к каждой строке, и итог уменьшится пропорционально.
Как избежать копеечных расхождений при расчёте скидки по строкам?
Используйте штатный механизм расчёта скидок конфигурации — он распределяет округление по строкам. В собственном коде округляйте функцией Окр() с точностью до 2 знаков и сверяйте сумму скидок по строкам с общей скидкой документа.
Что важно запомнить
Отнять процент — значит умножить сумму на (1 − P/100), а не делить. В документах продажи используйте колонку скидки или автоматические скидки, в зарплате — виды удержаний, в коде — формулу с округлением. Всегда проверяйте результат обратным расчётом и следите, чтобы скидка не применилась дважды.