В работе с 1С:Управление торговлей (УТ) 11.5 мы часто сталкиваемся с ситуациями, когда при формировании Универсального корректировочного документа (УКД) в его печатной форме обнаруживается изменение цены на товар, несмотря на то, что в документе корректировалось исключительно его количество. Такая ситуация может привести к путанице, поскольку логично предположить, что корректировка количества не должна влиять на стоимость единицы товара. Однако система 1С обладает сложной логикой пересчета и взаимодействия документов, что может приводить к подобным, на первый взгляд, неожиданным результатам.
Давайте подробно разберемся, почему такое происходит и как мы можем последовательно выявить и устранить причину расхождения цен. Мы рассмотрим основные аспекты системы 1С, которые могут спровоцировать это поведение, начиная от стандартных механизмов пересчета и заканчивая специфическими настройками и возможными доработками.
Одной из наиболее распространенных причин изменения цены в УКД является встроенная логика автоматического пересчета в 1С. Система часто спроектирована таким образом, чтобы при корректировке одной из взаимосвязанных величин (количество, цена, сумма) она автоматически пересчитывала остальные, стремясь сохранить общую сумму строки неизменной, если пользователь не указал иное.
Рассмотрим подробнее, как это может произойти:
10 шт. * 100 руб. = 1000 руб.Корректировка реализации (который является основой для УКД) и изменяет только поле Количество, например, на 5 шт.Сумма и не меняет поле Цена, а просто переходит к следующему полю или сохраняет документ, система 1С может автоматически пересчитать цену за единицу таким образом, чтобы общая сумма строки осталась прежней (если такая логика преобладает). В нашем примере это приведет к пересчету цены: 5 шт. * 200 руб. = 1000 руб.Почему система так делает? Эта логика по умолчанию часто применяется для упрощения ввода данных. Например, если нам нужно уменьшить количество, но при этом сохранить общую стоимость партии, то автоматический пересчет цены будет удобен. В таких случаях полезно использовать умный пересчёт цен по проценту, чтобы избежать ручного редактирования. Однако, если ожидается, что цена за единицу останется прежней, а общая сумма должна измениться пропорционально количеству, такое поведение будет некорректным.
Как мы можем это проверить и что делать:
Корректировка реализации (который является исходным для УКД) в режиме редактирования. Обратите внимание на поведение полей Количество, Цена и Сумма. Попробуйте изменить количество вручную и посмотрите, какое из полей (цена или сумма) пересчитывается автоматически.Цена и Сумма могут быть заданы различные свойства, влияющие на автоматический пересчет.Система ценообразования в 1С:УТ 11.5 является одной из самых мощных и гибких подсистем. Цены на товары могут быть не просто фиксированными значениями, а результатом сложного расчета, привязанного к определенным ВидамЦен. Любое изменение условий, влияющих на этот расчет, может привести к пересчету цены за единицу, даже если мы корректировали только количество.
Давайте проанализируем различные механизмы пересчета, которые могут повлиять на цену:
Если используемый в документе вид цены, например, "Цена реализации", рассчитывается как "Базовая цена + определенная наценка" или "Себестоимость + процент", то любое изменение базовой цены или себестоимости (возможно, в результате перепроведения документов поступления, закрытия месяца или регламентных заданий) может спровоцировать пересчет "Цены реализации".
Например, если базовая цена изменилась с 80 руб. до 90 руб., а наценка составляет 25%, то цена реализации пересчитается с 100 руб. (80 * 1.25) до 112.5 руб. (90 * 1.25). Также на итоговую сумму может повлиять корректная замена ставок НДС. При формировании УКД, если для поля "цена после" система использует актуальный расчет по виду цен, а для поля "цена до" — зафиксированное значение из старого документа, мы увидим расхождение.
Если цена товара установлена в одной валюте (например, в долларах), а документ выписывается в другой (например, в рублях), то цена за единицу в валюте документа будет зависеть от курса валюты на дату документа. Если дата создания исходной реализации и дата создания Корректировки реализации (которая является основой для УКД) различаются, и за это время курс валюты изменился, то система может пересчитать цену в валюте документа (пригодится пример пересчета цен по курсу). Даже если мы корректируем только количество, новая цена будет отражать актуальный курс.
Кроме того, важную роль играет ВалютаЦены и ВалютаДокумента, а также установленный в настройках Курс на дату. Если эти параметры изменились, это повлияет на конечную цену.
После всех расчетов (по формулам, курсам валют) система 1С применяет правила округления. Эти правила могут быть заданы для ВидовЦен (например, округлять до копеек, до рублей, до десятков) или на уровне документа. Если правила округления для "цены до" и "цены после" применялись по-разному, или промежуточные расчеты давали значения с большим количеством знаков после запятой, округление может привести к видимой разнице в цене.
Например, если расчетная цена 99.99999 руб., а округление до двух знаков дает 100.00 руб. или 99.99 руб. в зависимости от точности промежуточных вычислений.
Как мы можем проверить настройки видов цен:
Маркетинг и планирование в 1С:УТ 11.5, затем перейдите в Настройки и справочники и выберите Виды цен.Корректировке реализации.Способ расчета. Это может быть Статический (цена фиксирована), Динамический (цена рассчитывается по формуле), По ценовым группам или Наценка на другой вид цен. Если способ расчета динамический, нам необходимо детально изучить формулу и параметры, на которые она опирается (например, другие виды цен, себестоимость, курсы валют).УКД не использовались дополнительные обработки, которые могли изменить цены номенклатуры (например, Установка цен номенклатуры, обработки по массовому пересчету цен или регламентные задания по обновлению цен). Такие действия могли изменить базовую цену, от которой затем пересчитывается цена в УКД.УКД не существует сам по себе. Он всегда формируется на основании другого документа, который, в свою очередь, может быть результатом предыдущих корректировок. Мы имеем дело с цепочкой документов, и проблемы с ценой могут возникать, если мы не учитываем всю историю изменений. В таких случаях помогает печать и сравнение объектов, чтобы наглядно увидеть разницу между версиями.
Принцип подчиненности и его влияние:
Типичная цепочка документов может выглядеть так: Заказ клиента -> Реализация товаров и услуг -> Корректировка реализации -> УКД. Важно понимать, что каждый последующий документ может брать исходные данные не из самого первого документа в цепочке, а из непосредственно предшествующего ему.
Рассмотрим сценарий, который может привести к расхождениям:
Реализация товаров и услуг с товаром А: 10 шт. * 100 руб. = 1000 руб.Корректировка реализации №1 на основании этой Реализации. В этой корректировке, возможно, изменили не только количество (например, на 8 шт.), но и цену (например, по ошибке, или из-за пересмотра условий). В итоге в Корректировке реализации №1 могло получиться: 8 шт. * 110 руб. = 880 руб.Корректировку реализации №2 (которая станет основой для нашего проблемного УКД) на основании Корректировки реализации №1. Нам нужно скорректировать только количество, например, на 6 шт.Корректировка реализации №2 берет "исходную" цену для пересчета из Корректировки реализации №1 (то есть 110 руб.), а не из самой первой Реализации (100 руб.), то в УКД мы увидим, что "цена до изменения" была 110 руб., а "цена после изменения" может быть 110 руб. (если пересчет не сработал) или другое значение, если сработал механизм из пункта 1. Это приведет к тому, что отображение цен "до изменения" в УКД будет отличаться от фактической цены в самой первой реализации.Как мы можем проанализировать структуру подчиненности:
Универсальный корректировочный документ.Корректировка реализации). Откройте его.Корректировка реализации (или любого другого документа в цепочке) найдите кнопку Связанные документы или Структура подчиненности (расположена обычно в меню Ещё или на панели навигации).Корректировка реализации корректно подтягивает данные из правильного исходного документа в цепочке. Если исходные данные берутся из уже скорректированного промежуточного документа, это может привести к путанице.Если все предыдущие пункты не дали ответа, и мы убедились, что в самом документе Корректировка реализации (который является основой для УКД) цены отображаются корректно, а расхождения возникают только в печатной форме, то проблема может быть связана с доработанной печатной формой.
Потенциальный источник ошибок в доработанных формах:
В 1С:УТ существует механизм редактирования макетов печатных форм. Если ваша печатная форма УКД не является типовой (то есть, она была изменена или создана с нуля программистом), то в ее программном коде или непосредственно в макете может быть заложена иная логика расчета или получения данных для отображения цены, чем та, что используется в самом документе 1С.
Причины расхождений в кастомизированных формах:
Корректировка реализации, а, например, из регистра цен на определенную дату, или из совершенно другого документа, или даже из старой версии данных. Это может привести к тому, что форма покажет данные, отличные от тех, что хранятся в самом объекте документа.Как мы можем проверить доработанную печатную форму:
УКД с помощью стандартной типовой печатной формы 1С (если она доступна и отличается от используемой вами). Если в типовой форме цена отображается корректно, а в вашей — нет, то проблема, скорее всего, именно в кастомизированной форме.Администрирование -> Печатные формы, отчеты и обработки -> Макеты печатных форм или через конфигуратор). Изучите, как заполняются поля, отвечающие за цену "до изменения" и "после изменения". Особое внимание уделите выражениям в ячейках макета, которые могут содержать формулы или ссылки на параметры.Корректировкой реализации: Важно помнить, что печатная форма УКД берет свои данные из документа Корректировка реализации (или Корректировка поступления для покупателя). Именно этот документ является основным источником информации. Следовательно, любые несоответствия в печатной форме требуют сверки с данными, которые хранятся и обрабатываются в Корректировке реализации.Чтобы точно определить и устранить причину изменения цены в печатной форме УКД при корректировке только количества в 1С:УТ 11.5, нам необходимо применять комплексный и системный подход. Последовательное выполнение следующих шагов поможет нам локализовать проблему:
Корректировка реализации. Откройте его и проследите, как поля "Количество", "Цена" и "Сумма" взаимодействуют при изменении одного из них. Выясните ожидаемое поведение и сравните его с фактическим.ВидыЦен в Корректировке реализации. Проверьте Способы расчета, зависимость от курсов валют и правила округления. Убедитесь, что никакие внешние факторы (например, регламентные задания или ручные установки цен) не изменили базовые ценовые параметры между созданием исходного документа и корректировки.Структура подчиненности мы просматриваем всю цепочку документов от исходной реализации до текущей корректировки. Ищем любые промежуточные корректировки, которые могли изменить цену или условия, влияющие на ценообразование, и которые могли послужить некорректной базой для текущего УКД.Тщательный анализ каждого из этих пунктов позволит нам точно определить источник проблемы и обеспечить корректное формирование Универсальных корректировочных документов в вашей системе 1С:УТ 11.5, избегая расхождений и обеспечивая прозрачность учета.