Как отключить автоматическую подстановку цены в документах 1С:Бухгалтерия 3.0

Пользователь 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет
← На главную

Многие пользователи конфигурации 1С:Бухгалтерия предприятия 3.0 сталкиваются с ситуацией, когда программа при выборе товара в документ реализации или поступления автоматически подставляет цену из предыдущих сделок. С одной стороны, это кажется удобным механизмом, сокращающим время ввода данных. С другой стороны, как справедливо отмечают участники форума, это часто приводит к досадным ошибкам: оператор может не заметить подставленную старую цену, что влечет за собой выставление некорректных счетов клиентам или неверный учет затрат. Проанализируем, почему это происходит и как настроить систему так, чтобы в документах по умолчанию устанавливались нулевые цены.

Выясняем причину: почему 1С подставляет цену автоматически

В современных релизах 1С:Бухгалтерия 3.0 реализован механизм интеллектуального заполнения цен. Программа анализирует последние проведенные документы (такие как Поступление (акт, накладная, УПД) или Реализация (акт, накладная, УПД)) и сохраняет актуальные цены в специальный вспомогательный регистр. При создании нового документа система обращается к этому регистру и подставляет последнее известное значение. Рассмотрим подробнее, какими способами можно изменить это поведение.

Способ 1: Индивидуальная настройка в карточке номенклатуры

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

  1. Перейдем в раздел Справочники и откроем справочник Номенклатура.
  2. Найдем интересующую нас позицию и откроем ее карточку.
  3. В верхней части формы или в разделе основных данных найдем поле Цена продажи.
  4. Обратим внимание на небольшой символ "?" (знак вопроса) или гиперссылку рядом с полем ввода цены. Нажмем на этот символ.
  5. В открывшемся окне Заполнение цен продажи выберем вариант "Из карточки номенклатуры".

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

Способ 2: Массовое изменение настроек для всей номенклатуры

Если позиций в справочнике тысячи, менять настройку в каждой карточке вручную невозможно. Посмотрим, как применить это правило ко всей базе сразу. Для этого воспользуемся инструментом Групповое изменение реквизитов.

Выполним следующие действия:

  1. Зайдем в раздел Администрирование — Обслуживание — Корректировка данных.
  2. Выберем пункт Групповое изменение реквизитов.
  3. В поле "Выбирать элементы типа" укажем Номенклатура.
  4. Нажмем кнопку "Дополнительные параметры" и убедимся, что включена опция "Показывать служебные реквизиты" (это важно, так как настройка заполнения цен может быть скрыта).
  5. Найдем в списке реквизитов поле, отвечающее за порядок заполнения цен (обычно оно называется ПорядокЗаполненияЦен или аналогично в зависимости от релиза).
  6. Установим значение "Из карточки номенклатуры" и нажмем Изменить реквизиты.

Таким образом, мы централизованно укажем системе, что история документов больше не является приоритетным источником данных для заполнения цен.

Способ 3: Очистка технического регистра цен

Как упоминалось в сообщениях форума, даже после изменения настроек в карточках, программа может продолжать "помнить" старые цены. Это происходит из-за записей в регистре сведений ЦеныНоменклатурыДокументов. Выясним, как его очистить.

Рассмотрим последовательность действий для технического специалиста или опытного пользователя:

  1. Откроем главное меню (три полоски в верхнем левом углу) и выберем пункт Функции для технического специалиста (в старых версиях — "Все функции").
  2. В списке разделов найдем Регистры сведений.
  3. В поиске введем Цены номенклатуры документов.
  4. Откроем этот регистр. В нем хранятся записи в разрезе номенклатуры, контрагентов и видов цен.
  5. Для полной очистки истории необходимо выделить все записи (Ctrl+A) и нажать кнопку Удалить.

Важный нюанс: этот регистр заполняется автоматически при проведении новых документов. Если вы не изменили настройки в карточке номенклатуры (как описано в Способе 1 или 2), то после первой же проведенной реализации регистр снова заполнится данными, и автоподстановка вернется. Поэтому очистка регистра — это вспомогательная мера, которую нужно делать в связке с изменением порядка заполнения.

Способ 4: Программное решение (для разработчиков)

Если требуется радикальное решение, которое полностью исключит механизм записи в этот регистр или очистит его программно, можно воспользоваться небольшим кодом в обработке или расширении. Посмотрим на пример кода, который полностью очищает записи регистра ЦеныНоменклатурыДокументов:


// Очистка регистра сведений Цены номенклатуры документов
НаборЗаписей = РегистрыСведений.ЦеныНоменклатурыДокументов.СоздатьНаборЗаписей();
// Если не устанавливать отборы, будет очищен весь регистр
НаборЗаписей.Записать();
Сообщить("Технический регистр цен успешно очищен.");

Этот код можно поместить во внешнюю обработку и запускать периодически, либо использовать в расширении конфигурации. Однако, использование расширений позволяет более гибко управлять процессом. Например, можно перехватить процедуру ЗаполнитьЦены в модуле документа и принудительно устанавливать Цена = 0, если это требуется бизнес-процессом компании.

Резюме и рекомендации

Мы проанализировали проблему автоматической подстановки цен в 1С:Бухгалтерия 3.0 и нашли эффективные способы борьбы с этой "фишкой". Подведем итоги совместной работы:

Применяя эти инструкции, вы обезопасите себя от случайных ошибок при выписке документов и вернете контроль над ценообразованием в свои руки.

← На главную