К статье
Практический материал

Учет и Финансы · 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. 1
    Откройте документ реализации или заказ клиента
  2. 2
    Выделите нужные строки товаров
  3. 3
    Нажмите «Скидки (наценки)» или заполните колонку «% руч. скидки»
  4. 4
    Введите процент и проверьте пересчёт суммы строки
  5. 5
    Убедитесь, что НДС посчитан от суммы со скидкой
  6. 6
    Проведите документ и сверьте итог с ожидаемым расчётом

Автоматические скидки: настройка вычета процента

Если процент нужно отнимать регулярно — например, 5 % постоянным клиентам или 10 % при покупке от определённого количества, — настройте автоматические скидки. В «Управлении торговлей» перейдите в раздел «CRM и маркетинг → Скидки (наценки)» и создайте новый элемент. Выберите тип «Процент», укажите значение и задайте условия предоставления: сегмент клиентов, количество или сумма в документе, время действия.

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

Для «1С:Розница» механизм аналогичен: скидки настраиваются в разделе «Маркетинг» и применяются в чеках при выполнении условий. Обязательно протестируйте расчёт на пробном документе до начала реальных продаж.

Удержание процента из зарплаты в 1С:ЗУП

В «1С:Зарплата и управление персоналом» отнять процент от начислений сотрудника нужно при алиментах, удержаниях по исполнительным листам, возмещении ущерба. Для этого существуют виды удержаний: перейдите в «Настройка → Удержания», создайте новый вид или используйте предопределённый «Удержание по исполнительному документу».

При настройке укажите способ расчёта — «Процентом от заработка» (или от заработка за вычетом НДФЛ, что важно для исполнительных листов). Само удержание назначается документом «Исполнительный лист» или «Постоянное удержание» в разделе «Зарплата». Программа будет автоматически отнимать заданный процент при каждом расчёте зарплаты.

Учтите законодательное ограничение: общий размер удержаний из зарплаты ограничен (как правило, 50 %, в отдельных случаях до 70 %). Программа контролирует этот предел, но при сложных ситуациях с несколькими исполнительными листами сверьте расчёт вручную.

Для алиментов и исполнительных листов база удержания — заработок после вычета НДФЛ, а не начисленная сумма. Если расчёт «не сходится» на величину налога, проверьте, от какой базы настроен процент.
ПЗ
Практическое замечание

Расчёт в коде: формула на встроенном языке

Если вы дорабатываете конфигурацию или пишете внешнюю обработку, вычитание процента реализуется одной строкой. Встроенный язык 1С работает с числами напрямую:

СуммаСоСкидкой = Сумма * (1 - Процент / 100);

// или эквивалентно:

СуммаСоСкидкой = Сумма - Сумма * Процент / 100;

При работе с денежными суммами обращайте внимание на округление. Используйте функцию Окр() с указанием разрядности, чтобы избежать копеечных расхождений: СуммаСоСкидкой = Окр(Сумма * (1 - Процент / 100), 2). В типовых конфигурациях для округления цен есть собственные механизмы, учитывающие настройки точности валют.

Не храните процент как долю (0,15) в одних местах и как целое число (15) в других — это частый источник ошибок в сто раз. Определите единый формат: в интерфейсах 1С процент традиционно вводится как число от 0 до 100.

bsl
Процент = 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)

Тревожный признак

Меньше ожидаемого — возможно двойное применение скидки

Сумма НДС
Норма

Посчитан от суммы со скидкой

Тревожный признак

Посчитан от полной суммы — пересчитайте налог

Типичные ошибки
01
Деление на 1,15 вместо умножения на 0,85 — получается выделение процента, а не его вычитание, сумма занижается
02
Двойное применение скидки: автоматическая плюс ручная — итог документа меньше планового
03
Удержание процента от начисленной суммы вместо суммы после НДФЛ — завышение удержаний из зарплаты
04
Округление промежуточных значений до копеек на каждом шаге — накопление расхождений при расчёте по строкам
05
Процент хранится то как 0,15, то как 15 — ошибки в 100 раз в доработках

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

FAQ

Как отнять 20 % от суммы в поле документа, если колонки скидки нет?

Умножьте сумму на 0,8 на любом калькуляторе и введите результат вручную. Если такие расчёты регулярны, включите отображение колонки «% скидки» через «Ещё → Изменить форму» или используйте кнопку «Скидки (наценки)» над табличной частью.

Чем отличается «отнять процент» от «выделить НДС»?

Отнимание процента — умножение на (1 − P/100). Выделение НДС из суммы — деление на (1 + ставка/100) или умножение на расчётную ставку (например, 20/120). Это разные операции с разными результатами.

Почему скидка в документе применилась дважды?

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

Как удержать процент от зарплаты один раз, а не постоянно?

В 1С:ЗУП используйте документ «Разовое удержание» вместо постоянного удержания или исполнительного листа. Укажите сумму или процент и месяц, в котором удержание должно быть выполнено.

Можно ли задать скидку в процентах на весь документ сразу?

Да, в «Управлении торговлей» выделите все строки и нажмите «Скидки (наценки)», либо настройте автоматическую скидку с условием по сумме документа. Процент применится к каждой строке, и итог уменьшится пропорционально.

Как избежать копеечных расхождений при расчёте скидки по строкам?

Используйте штатный механизм расчёта скидок конфигурации — он распределяет округление по строкам. В собственном коде округляйте функцией Окр() с точностью до 2 знаков и сверяйте сумму скидок по строкам с общей скидкой документа.

Итог

Что важно запомнить

Отнять процент — значит умножить сумму на (1 − P/100), а не делить. В документах продажи используйте колонку скидки или автоматические скидки, в зарплате — виды удержаний, в коде — формулу с округлением. Всегда проверяйте результат обратным расчётом и следите, чтобы скидка не применилась дважды.