При оформлении поступления товаров в программе 1С:Розница 2.2 одной из стандартных операций является регистрация новых цен поставщика и пересчет розничных цен. Для этого на основании проведенного документа ПоступлениеТоваров создается документ УстановкаЦенНоменклатуры. Однако пользователи и специалисты нередко сталкиваются с ситуацией, когда система прерывает выполнение операции и выдает ошибку: «нет доступных видов цен для установки цен номенклатуры».
Разберем детально, по каким причинам возникает данное сообщение, проанализируем типовые настройки нормативно-справочной информации, а также рассмотрим особенности программного кода в различных релизах конфигурации.
Механизм формирования цен на основании первичного документа поступления строго регламентирован логикой типовой конфигурации. Чтобы алгоритм автоматически подобрал цены из накладной, вид цены закупки должен быть настроен определенным образом.
Проанализируем ключевые параметры настройки видов цен:
Цены поступления. Флаг «Использовать при продаже» для закупочной цены должен быть выключен.[Закупочная] * 1.2). Для этого вида цены флаг «Использовать при продаже» обязательно должен быть включен.Если для закупочной цены по ошибке выбран способ «Задавать вручную», обработка заполнения документа ввода на основании не сможет сопоставить колонку цены из табличной части поступления с соответствующим видом цены.
Даже при корректно заполненных карточках видов цен документ установки цен может не находить доступные виды цен, если нарушена цепочка ценообразования торговой точки.
Проверим следующие настройки системы по шагам:
ПравилаЦенообразования и убедимся, что создано действующее правило. Статус правила должен быть установлен в значение «Действует», а в табличную часть включен используемый вид розничных цен.Магазины, на склад которого оформляется поступление. Проверим, что в реквизите «Правило ценообразования» выбран именно созданный элемент. Если магазин не привязан к правилу, система не сможет определить доступность розничной цены для текущей торговой точки.Если все настройки справочников выполнены корректно, но ошибка продолжает появляться, причина заключается в программной ошибке конкретного релиза конфигурации (например, в релизе 2.2.6.22).
Проанализируем поведение системы в отладчике. При вводе на основании поступления вызывается экспортная процедура или функция, формирующая структуру и дерево видов цен:
// В модуле менеджера или модуле объекта документа УстановкаЦенНоменклатуры
// вызывается логика заполнения видов цен
Функция ОбработкаЗаполненияУстановкиЦенНоменклатуры(ДокументОснование) Экспорт
// Формируется запрос к справочнику ВидыЦен
// с отбором по способу задания цен
КонецФункции
В проблемных релизах текст внутреннего запроса проверяет соответствие значению перечисления СпособыЗаданияЦен, но из-за некорректного условия фильтрации результат запроса возвращает пустую таблицу. В итоге алгоритм делает вывод, что ни одного доступного вида цены для автозаполнения не найдено.
Рассмотрим варианты решения задачи в зависимости от используемой версии и прав на изменение конфигурации:
1С:Розница обновление является единственным штатным способом решения, сохраняющим типовую поддержку программы.&Вместо, исправив условие запроса к справочнику ВидыЦен по значению Перечисление.СпособыЗаданияЦен.ЗаполнятьПоДаннымИБПриПоступлении.УстановкаЦенНоменклатуры напрямую из подсистемы маркетинга, создадим новый документ вручную, отметим нужные виды цен и воспользуемся сервисной командой заполнения табличной части товарами и ценами из документа поступления.