Почему не сканируется номенклатура в документе «Установка цен номенклатуры» в УТ 10.3 и как это исправить?

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

Многие пользователи конфигурации Управление торговлей 10.3 сталкиваются с тем, что стандартный механизм сканирования штрихкодов, привычный по документу Поступление товаров и услуг, не работает в документе Установка цен номенклатуры. В этой статье мы разберем, почему так происходит и как можно адаптировать поведение программы под свои нужды.

Анализ проблемы

Важно понимать, что документ Установка цен номенклатуры в типовой поставке УТ 10.3 спроектирован иначе. Он не предназначен для поштучного сканирования каждой единицы товара, как складские документы. Разработчики 1С изначально заложили в этот документ логику массового изменения цен (групповое заполнение, загрузка из внешних файлов или наценка на основании себестоимости). Попытка сканирования без предварительной настройки может приводить к игнорированию событий сканера.

Решение проблемы через изменение кода

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

Перед началом работ обязательно выполните следующие шаги:

  1. Создайте резервную копию базы данных (бекап). Это критически важно для защиты от потери данных.
  2. Выгоните всех активных пользователей из системы, чтобы исключить конфликты блокировок.
  3. Откройте конфигуратор и приступайте к редактированию.

Пошаговое исправление логики подбора

Проблема кроется в способе формирования структуры подбора в общем модуле РаботаСТорговымОборудованием. Чтобы исправить это, необходимо выполнить следующие действия:

  1. Откройте форму документа УстановкаЦенНоменклатуры в конфигураторе.
  2. Найдите процедуру ОбработкаПодбора(ТабличнаяЧасть, ЗначениеВыбора) Экспорт.
  3. Внутри данной процедуры отыщите строку, содержащую проверку команды: ИначеЕсли ЗначениеВыбора.Команда = "ПодборВТабличнуюЧастьТовары" Тогда
  4. Внесите правку, удалив слово «Товары» из названия команды, чтобы строка выглядела следующим образом: ИначеЕсли ЗначениеВыбора.Команда = "ПодборВТабличнуюЧасть" Тогда
  5. После внесения правок обязательно сохраните конфигурацию и выполните Обновление конфигурации базы данных (клавиша F7). Если этого не сделать, возникнет ошибка несоответствия метаданных, так как структура данных в базе не будет обновлена.

Альтернативные подходы к работе с ценами

Так как работа с 50 000 позиций через сканер крайне неэффективна, мы рекомендуем рассмотреть более профессиональные способы массового изменения цен, которые не требуют вмешательства в код:

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

← На главную