При проведении инвентаризации с использованием мобильных терминалов сбора данных (ТСД) часто возникает задача переноса полученных результатов в информационную базу 1С. Обычно недорогие или специфические модели ТСД выгружают данные в простые форматы, такие как Excel или CSV, в виде списка «штрихкод; количество». Рассмотрим подробнее, как максимально эффективно загрузить эти данные в документ ПересчетТоваров в конфигурации 1С:Розница 2.2. Чтобы предварительно убедиться в наличии кодов у всей номенклатуры базы, можно применить обработку для проверки заполнения штрихкодов в Рознице 2.2.
Начиная с версии 2.2.5, в 1С:Розница реализован удобный механизм прямой загрузки данных в табличные части документов. Проанализируем этот алгоритм:
ПересчетТоваров, который находится в статусе В работе. Это критически важное условие, так как в других статусах редактирование данных может быть заблокировано системой.Штрихкод, а какая — КоличествоФакт.Если по какой-то причине встроенная кнопка недоступна или требуется более тонкая настройка поиска (например, сопоставление не по штрихкоду, а по артикулу), воспользуемся стандартной обработкой. Рассмотрим, как это сделать:
Эта обработка часто входит в состав дистрибутива конфигурации или может быть найдена на ИТС. Выясним последовательность действий:
ЗагрузкаДанныхИзТабличногоДокумента.epf через меню «Файл — Открыть» (если у пользователя есть соответствующие права).ПересчетТоваров, а в поле «Табличная часть» укажем Товары.Номенклатура и Количество.Номенклатура в колонке «Поле поиска» укажем, что поиск будет вестись не по ссылке, а по подчиненному объекту (штрихкоду). Для этого настроим связь через регистр сведений ШтрихкодыНоменклатуры.Проанализируем ситуацию, когда данные из ТСД попадают в Excel с некорректным форматированием. Это самая частая причина ошибок загрузки. Посмотрим на основные проблемы:
Экспоненциальный вид штрихкода. Длинные числа (EAN-13) Excel часто превращает в вид 4,60E+12. Если загрузить это в 1С «как есть», поиск товара не сработает. Чтобы этого избежать, перед загрузкой выделим колонку в Excel, нажмем правую кнопку мыши, выберем «Формат ячеек» и установим Числовой (0 знаков после запятой) или Текстовый.
Потеря ведущих нулей. Если ваш штрихкод начинается с нуля (например, 000000123456), Excel может его обрезать до 123456. Проанализируем это: для 1С это совершенно другой штрихкод. Всегда проверяйте, чтобы формат ячеек в Excel был «Текстовый» еще до момента вставки или импорта данных из ТСД.
Посмотрим на правильную последовательность действий в 1С:Розница для минимизации ошибок учета:
ПриказНаПересчетТоваров. Он определяет область инвентаризации (склад, группу товаров).ПересчетТоваров.Выясним причину проблем с весовым товаром. Если в Excel-файле содержится штрихкод весового товара (начинающийся на 22 или 29), в нем обычно «зашит» вес. Стандартная загрузка может воспринять такой код как одну позицию с количеством «1». Если вы планируете загружать весовой товар, убедитесь, что ваш ТСД или обработка умеют «расщеплять» штрихкод на код товара и вес, либо используйте специализированные расширения (.cfe), которые умеют обрабатывать префиксы весовых штрихкодов при загрузке.
Если вы решите написать свою обработку загрузки, проанализируем пример кода для поиска номенклатуры по штрихкоду:
// Функция поиска номенклатуры по штрихкоду
Функция НайтиНоменклатуруПоШтрихкоду(ТекШтрихкод)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Штрихкоды.Владелец КАК Номенклатура,
| Штрихкоды.Характеристика КАК Характеристика
|ИЗ
| РегистрСведений.Штрихкоды КАК Штрихкоды
|ГДЕ
| Штрихкоды.Штрихкод = &Штрихкод";
Запрос.УстановитьПараметр("Штрихкод", ТекШтрихкод);
Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
Выборка = Результат.Выбрать();
Выборка.Следующий();
Возврат Выборка;
КонецЕсли;
Возврат Неопределено;
КонецФункции
При использовании этого метода в цикле обхода строк Excel-файла вы сможете программно заполнять табличную часть Товары, учитывая не только саму Номенклатура, но и Характеристика, если она используется в учете.
Рассмотрим современные альтернативы. Чтобы избежать проблем с форматами файлов и ручным переносом данных, можно использовать мобильные приложения, такие как 1С:Кладовщик. В этом случае данные передаются напрямую в документ ПересчетТоваров через веб-сервис по Wi-Fi. Это исключает этап формирования Excel-файла и существенно ускоряет работу. Для пересчета товаров с прямым поиском по штрихкодам и кодам маркировки можно использовать инструмент для инвентаризации в Рознице с поддержкой маркировки.
Подводя итог, можно сказать, что для разовой загрузки достаточно встроенного функционала 1С:Розница «Загрузить из внешнего файла», а для регулярной работы лучше настроить универсальную обработку или использовать мобильное приложение для связи с ТСД.