При работе в облачном сервисе 1С:Предприятие 8 через интернет (1С:Фреш) пользователи часто сталкиваются с необходимостью быстрого переноса данных из внешних источников. Перевод рутинных операций в автоматический режим — залог успешной и быстрой работы любого менеджера и бухгалтера. В этой статье мы подробно разберем, как загрузить номенклатуру, цены, количество и ставку НДС из файлов Excel напрямую в справочники и документы «1С:Бухгалтерии 3.0», не прибегая к покупке небезопасных внешних обработок и не проходя сложные согласования в облаке.
Многие пользователи ищут внешние обработки для импорта прайс-листов, не подозревая, что в современной версии 1С:Бухгалтерия 3.0 уже есть мощный и гибкий встроенный инструмент. Он работает непосредственно в облаке и не требует никаких доработок кода. В качестве альтернативного решения подойдёт обработка для загрузки прайс-листов поставщиков из Excel без COM-объектов.
Давайте разберем по шагам, как загрузить список товаров в справочник номенклатуры:
.xls, .xlsx, .csv или даже простой текстовый файл.Наименование, Артикул, Цена, Ставка НДС, ГТД или Страна происхождения.Если менеджеру требуется не просто занести товары в справочник, а сразу выписать документ (например, «Счет покупателю» или «Реализация товаров и услуг»), вносить позиции сначала в справочник, а потом в документ вручную не нужно. Рассмотрим, как реализовать сквозной импорт прямо в табличную часть документа:
Выясним алгоритм действий на примере создания документа «Реализация (акт, накладная, УПД)»:
Ctrl+C / Ctrl+V.Артикул, Код или точное Наименование.Часто в сети можно встретить советы скачать бесплатную обработку для импорта данных. Однако в условиях работы во «Фреше» запустить произвольный файл формата .epf через меню «Файл — Открыть» невозможно из-за жестких требований безопасности платформы.
Давайте проанализируем, почему облако накладывает такие ограничения и что скрывается под термином «вивисекция» (технический аудит):
Новый COMОбъект("Excel.Application")). Но серверы «1С:Фреш» работают под управлением операционных систем семейства Linux, где COM-технологии физически отсутствуют. Любой качественный импорт во Фреше должен быть написан на чистом коде 1С с использованием кроссплатформенных механизмов.Для программистов, разрабатывающих собственные загрузчики под «1С:Фреш», критически важно отказаться от COM-объектов. Рассмотрим пример правильного, кроссплатформенного чтения данных из файла Excel на стороне сервера без использования стороннего ПО:
&НаСервере
Процедура ПрочитатьФайлExcelНаСервере(АдресХранилища)
// Создаем объект табличного документа для чтения структуры Excel
ТабДок = Новый ТабличныйДокумент;
// Получаем двоичные данные файла из временного хранилища
ДвоичныеДанныеФайла = ПолучитьИзВременногоХранилища(АдресХранилища);
// Создаем временный файл на сервере с расширением xlsx
ИмяВременногоФайла = ПолучитьИмяВременногоФайла("xlsx");
ДвоичныеДанныеФайла.Записать(ИмяВременногоФайла);
Попытка
// Читаем файл встроенными средствами платформы 1С
ТабДок.Прочитать(ИмяВременногоФайла, СпособИмпортаТабличногоДокумента.xlsx);
Исключение
УдалитьФайлы(ИмяВременногоФайла);
ВызватьИсключение "Не удалось прочитать файл Excel: " + ОписаниеОшибки();
КонецПопытки;
// Обходим строки табличного документа на сервере
Для НомерСтроки = 1 По ТабДок.ВысотаТаблицы Цикл
АртикулТовара = ТабДок.Область(НомерСтроки, 1).Текст;
НаименованиеТовара = ТабДок.Область(НомерСтроки, 2).Текст;
ЦенаТовара = Число(ТабДок.Область(НомерСтроки, 3).Текст);
// Здесь мы пишем алгоритм поиска и записи в справочники или документы
КонецЦикла;
// Обязательно очищаем временные файлы на сервере
УдалитьФайлы(ИмяВременногоФайла);
КонецПроцедуры
Если вам действительно необходима уникальная внешняя обработка, алгоритм ее подключения во Фреш выглядит следующим образом: вы передаете файл .epf обслуживающему вас партнеру 1С (франчайзи). Специалисты отправляют ее на аудит в фирму «1С». Эксперты проверяют код на соответствие стандартам безопасности и производительности в течение нескольких дней. После успешного прохождения аудита обработка становится доступна в личном кабинете вашего приложения в разделе «Дополнительные отчеты и обработки». Для решения таких задач подойдёт обработка для загрузки данных из Excel в документы поступления, реализации и счетов.
Пользователи часто отмечают, что встроенный импорт в 1С:Бухгалтерии 3.0, в отличие от 1С:УНФ или 1С:Розницы, напрямую не позволяет сопоставить и загрузить колонку со штрихкодами. Выясним, почему так происходит:
В конфигурации «Бухгалтерия предприятия» штрихкоды не являются обычным реквизитом карточки номенклатуры. Они вынесены в подчиненный регистр сведений РегистрыСведений.ШтрихкодыНоменклатуры. Из-за этого стандартный механизм загрузки в справочник не видит поле «Штрихкод» в списке доступных реквизитов для сопоставления.
Если для вашей работы штрихкоды критически важны, мы рекомендуем воспользоваться следующими альтернативными путями:
Таким образом, мы детально изучили все доступные методы автоматизации ввода данных из Excel в «1С:Бухгалтерию 3.0» во Фреше. Используйте встроенные механизмы загрузки документов и справочников, это сбережет ваше время и защитит информационную базу от сбоев!