Сталкиваясь с обновлением конфигурации 1С:Управление нашей фирмой (УНФ) до версий 1.6.27.x или 3.0.x, многие пользователи обнаруживают странное поведение документа Наряд-заказ: при сканировании двух разных работ программа не создает две отдельные строки, а прибавляет количество ко второй операции к первой. Давайте вместе проанализируем, почему это происходит и как можно исправить ситуацию.
В современных релизах 1С логика добавления номенклатуры была унифицирована для многих документов. Основная идея разработчиков заключается в том, чтобы сделать процесс подбора товаров максимально быстрым. Однако иногда эта логика вступает в конфликт с привычным сценарием работы специалиста, который ожидает появления новой строки.
Первое, на что стоит обратить внимание — это настройки РМК (Рабочего места кассира) и глобальные настройки «Добавления товара». Рассмотрим по шагам, где скрываются эти параметры.
В системе предусмотрен функционал, позволяющий гибко управлять тем, как именно номенклатура попадает в табличную часть документа. Иногда при обновлении параметры могут сброситься или измениться под воздействием новых механизмов.
Добавление одинакового товара отдельными строками.Добавлять все товары одной строкой, система при каждом сканировании будет искать уже существующую строку в таблице с таким же идентификатором номенклатуры и увеличивать его количество.Если настройки интерфейса не дали результата, проблема может лежать в плоскости обработки внешнего события от сканера. Когда вы сканируете штрихкод, система вызывает обработчик, который ищет номенклатуру в справочнике и затем помещает её в документ.
Рассмотрим, что происходит внутри модуля при срабатывании сканера:
// Примерный алгоритм обработки события сканирования
Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
// Поиск товара по штрихкоду
НайденнаяНоменклатура = РаботаСоСканером.НайтиНоменклатуруПоШтрихкоду(Данные);
// Проверка наличия строки в табличной части
СтрокаДокумента = НайтиСтрокуПоНоменклатуре(НайденнаяНоменклатура);
Если СтрокаДокумента <> Неопределено Тогда
// Сценарий суммирования
СтрокаДокумента.Количество = СтрокаДокумента.Количество + 1;
Иначе
// Сценарий добавления новой строки
НоваяСтрока = Объект.Работы.Добавить();
НоваяСтрока.Номенклатура = НайденнаяНоменклатура;
КонецЕсли;
КонецПроцедуры
Если вы опытный пользователь или программист, воспользуйтесь Отладчиком, чтобы проверить, какой именно из блоков кода выполняется при сканировании. Если система всегда попадает в ветку «Сценарий суммирования», значит, логика поиска строки ошибочно определяет, что товар уже есть в списке.
Если стандартные настройки не помогают, выполните следующие действия по очистке и проверке системы:
Проблема «склеивания» строк — это чаще всего вопрос настроек логики добавления, внедренной в платформу для ускорения работы кассиров. Начните с проверки настроек РМК и правил добавления номенклатуры в разделе Продажи. Если же проблема сохраняется для разных штрихкодов, рекомендуем провести сеанс отладки в модуле формы, чтобы исключить ошибку в процедуре ОбработкаВнешнегоСобытия.
Не забывайте, что переход на УНФ 3.0 — это серьезный шаг, требующий внимательного тестирования всех механизмов, особенно тех, которые связаны с торговым оборудованием!