Почему не сохраняются или не отображаются виды цен поставщиков в 1С

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

Ситуация, когда пользователь создает новый Вид цены поставщика, но после нажатия кнопки «Записать и закрыть» элемент как будто исчезает или не предлагается к выбору в Соглашении с поставщиком, является классической для современных конфигураций на базе 1С:Предприятие 8.3 (таких как «Управление торговлей 11», «ERP Управление предприятием» или «Комплексная автоматизация»).

На первый взгляд кажется, что система работает со сбоями и «не сохраняет» данные без каких-либо ошибок. Однако в 99% случаев проблема кроется в жестких фильтрах формы выбора. Давайте подробно разберем, почему это происходит и как найти «пропавшие» записи.

Причина 1: Несоответствие валюты в Соглашении и Виде цены

Проанализируем механизм работы справочника ВидыЦенПоставщиков. Этот объект всегда имеет владельца — Партнера (поставщика). Когда мы открываем форму выбора вида цены непосредственно из карточки Соглашения с поставщиком, система автоматически накладывает ряд невидимых для пользователя фильтров, чтобы отсечь заведомо неподходящие данные.

Одним из самых критичных фильтров является Валюта. Рассмотрим пример: если в вашем соглашении установлена валюта «USD», а при создании вида цены вы указали «RUB», то после записи этот элемент мгновенно скроется из списка выбора данного соглашения. Он физически существует в базе данных, но форма выбора его не покажет, так как он не подходит под условия текущей сделки.

Что нужно сделать:

  1. Проверим валюту, указанную на основной вкладке соглашения.
  2. Перейдем в общий список справочника через меню «Все функции» (или «Функции для технического специалиста») — Справочники — Виды цен поставщиков.
  3. Найдем созданный элемент и убедимся, что его валюта совпадает с валютой соглашения.

Причина 2: Расхождение по признаку «Цена включает НДС»

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

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

Проанализируем ситуацию: если вы пытаетесь привязать цену, а список пуст, попробуйте временно изменить флаг НДС в соглашении и снова открыть список выбора. Если цена появилась — значит, проблема была именно в этом реквизите.

Причина 3: Особенности иерархии Партнер — Контрагент

В программах 1С разделяются понятия Партнер (управленческий учет) и Контрагент (юридическое лицо). Виды цен поставщиков всегда привязываются к Партнеру.

Посмотрим на возможную ошибку: если в базе созданы дубли партнеров с одинаковыми наименованиями, вы можете создавать вид цены для одного объекта «Поставщик А», а соглашение оформлять на другого (полного тезку). Программные идентификаторы (GUID) у них разные, поэтому система считает их абсолютно чужими друг другу.

Также стоит проверить, не является ли партнер «Сводным» или не входят ли индивидуальные настройки в противоречие с иерархией холдинга, если включена опция ведения независимых партнеров и контрагентов.

Причина 4: Техническая диагностика через консоль запросов

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

Выполним следующий запрос, чтобы увидеть все записи по конкретному поставщику:


ВЫБРАТЬ
    ВидыЦен.Ссылка КАК Ссылка,
    ВидыЦен.Наименование КАК Наименование,
    ВидыЦен.Валюта КАК Валюта,
    ВидыЦен.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
    ВидыЦен.ПометкаУдаления КАК Удален
ИЗ
    Справочник.ВидыЦенПоставщиков КАК ВидыЦен
ГДЕ
    ВидыЦен.Владелец.Наименование ПОДОБНО "%Название_Вашего_Поставщика%"

Если запрос возвращает строки, значит, данные успешно сохраняются. Обратите внимание на колонку ПометкаУдаления. Бывает, что пользователи случайно помечают элементы на удаление, и в обычных списках они перестают отображаться из-за настроек «Скрывать помеченные на удаление».

Причина 5: Кэш платформы и динамические списки

Иногда отсутствие только что созданных элементов в списке выбора связано с некорректной работой локального кэша конфигурации на компьютере пользователя. Форма списка «запоминает» свое состояние и не обновляет данные принудительно.

Рассмотрим шаги для очистки кэша:

  1. Закройте программу 1С.
  2. Удалите базу из списка запуска и добавьте её снова (это самый простой способ очистить временные файлы связи).
  3. Либо воспользуйтесь запуском с параметром /ClearCache в строке дополнительных параметров запуска.

Итоги и рекомендации

Подводя итог, можно сказать, что «несохранение» видов цен — это в 100% случаев проблема отображения. Чтобы ваши виды цен всегда были доступны для выбора в соглашениях, придерживайтесь следующего алгоритма:

  1. Всегда создавайте Вид цены поставщика непосредственно из формы выбора в самом соглашении — так система автоматически подставит правильного владельца, валюту и настройки НДС.
  2. Если создаете вручную через справочник — строго следите за соответствием Валюты и флага Цена включает НДС тем настройкам, которые планируются в закупках.
  3. Проверяйте поле Доступно для подбора, если оно присутствует в вашей версии конфигурации.

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

← На главную