Часто пользователи 1С сталкиваются с ситуацией, когда в карточке номенклатуры отображается одна цена (например, «Заводская»), а при выборе этого же товара в документе «Реализация товаров и услуг» система подставляет совершенно другое значение. Разберем детально, почему так происходит, и пройдем по шагам алгоритм поиска причины в конфигурации Управление торговлей 11.
Первым делом нам необходимо выяснить, какая цена является актуальной для системы на дату и время создания документа. То, что мы видим в «шапке» карточки товара, — это текущее значение, которое может не совпадать с историческими данными. Проверим это через стандартный интерфейс:
Заводская.Период.Помните, что если документ «Установка цен номенклатуры» был создан позже, чем документ реализации, то программа возьмет предыдущую актуальную цену. Убедимся, что дата установки цен строго меньше или равна дате реализации.
Если с датами все в порядке, нам нужно выяснить, как именно рассчитывается вид цены Заводская. В 1С:УТ 11 цены могут быть не только статическими (введенными вручную), но и производными. Проанализируем настройки вида цены:
Способ задания цены: Если выбран вариант «Наценка на другой вид цен» или «По линейному запросу к данным ИБ», то цена в карточке может быть лишь результатом последнего кешированного расчета. При создании реализации система может инициировать пересчет по формуле «на лету», используя обновленные данные (например, последнюю цену закупки).
Настройка НДС: Выясним, установлен ли флажок Цена включает НДС в настройках вида цены и совпадает ли этот параметр с настройками в документе реализации или соглашении с клиентом. Если в виде цены НДС не включен, а в документе стоит галочка «Цена включает НДС», система автоматически добавит сумму налога к базовой стоимости, что приведет к увеличению цифры в строке.
Одной из самых распространенных причин кратного расхождения цен является использование упаковок. Рассмотрим ситуацию: в карточке товара цена 119,06 установлена за 1 штуку (базовую единицу). Однако в документе реализации может быть выбрана упаковка (например, «Коробка»), в которой содержится 2 или более единиц товара.
Система 1С автоматически пересчитывает цену в документе по формуле: Цена за единицу * Коэффициент упаковки. Если коэффициент настроен некорректно или упаковка выбрана случайно, цена в реализации будет значительно отличаться от ожидаемой.
В конфигурации «Управление торговлей 11» механизмы ценообразования тесно связаны с подсистемой маркетинга. Проанализируем, не действуют ли на сделку особые условия:
Если вышеуказанные действия не помогли, а ваша конфигурация является нетиповой (измененной программистами), причина почти наверняка кроется в кастомной логике. Рассмотрим, где именно стоит искать проблему в коде.
Скорее всего, была изменена процедура подбора цены при выборе номенклатуры в табличную часть. Программисту следует проверить следующие места:
1. Обработчик события ПриИзменении для поля Номенклатура или ВидЦены в форме документа реализации.
2. Общие модули, отвечающие за расчет цен (например, ЦенообразованиеВызовСервера или аналогичные в вашей версии).
Пример кода, который может переопределять стандартное поведение и который стоит поискать в модуле формы или расширении:
// Пример возможного переопределения цены в нетиповой базе
&НаСервере
Процедура ЗаполнитьЦенуПоСпецифическойЛогике(СтрокаТаблицы)
// Если конфигурация доработана, здесь может быть запрос
// к кастомному регистру сведений или условие,
// которое подменяет цену 119,06 на 264,58
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ СпециальнаяЦена ИЗ РегистрСведений.ДополнительныеЦены ГДЕ Номенклатура = &Номенклатура";
// ... логика получения значения ...
СтрокаТаблицы.Цена = РезультатЗапроса;
КонецПроцедуры
Посмотрим также на настройки конкретных складов или магазинов. В некоторых доработках логика 1С настраивается так, что для разных складов (или территориальных подразделений) приоритетными становятся разные регистры цен, что и приводит к путанице, когда в справочнике мы видим одно, а в учете — другое.
Для исправления ситуации выполните последовательно:
РегистрСведений.ЦеныНоменклатуры через отчет «Цены номенклатуры» или историю в карточке.Валюта документа и Валюта вида цены совпадают, иначе происходит пересчет по курсу.Упаковки в строке реализации.ОбработкаВыбора номенклатуры, чтобы проследить путь формирования переменной Цена.