Импорт данных из файла Xlsx и загрузка изображения в форму элемента справочника

16.06.23

Интеграция - Загрузка и выгрузка в Excel

В данном посте мы рассмотрим процесс создания необходимых элементов справочника и создание команды добавления данных из xlsx файлов и картинок.

Здравствуйте, сегодня мы создадим конфигурацию системы 1С, в которой будет реализована возможность загрузки данных из .xlsx файлов, а также изображений в расширении .png .jpg. Начнём.

 

Создание информационной базы

Для начала нужно создать информационную базу в приложении 1С, в нашем случае на учебной версии программы. 

Открываем приложение 1С:Предприятие. Перед вами откроется данное окно, а это значит, что вы успешно запустили программу, поздравляем!

 

 

Далее заходим в конфигурацию нашей информационной базы.

Я уже создал ряд нужных мне элементов для выгрузки xlsx. Нужны справочники и соответствующие им реквизиты, это вы можете узнать в самом xlsx файле, а именно наименование колонок. Главный справочник с нужным вам названием и реквизитами и дополнительные с данными, которых может быть большое разнообразие, всё зависит от ваших нужд.

 

 

Конфигурирование базы

Заходим в свойства конфигурации и далее спускаемся в самый низ до параметров совместимости и выставляем такие же настройки как на скрине.

 

 

Создание формы справочника

Создаем форму списка справочника и добавляем нужные реквизиты в список элементов формы, у меня получилось так: 

 

 

Создание команды

Создаем на форме команду под названием ЗагрузитьДанные и добавляем её на форму. Она добавится в виде формы.

 

 

Заходим в свойства команды и добавляем действие на клиенте. Откроется окно написания кода.

 

 

Далее создайте вышеуказанные на скриншоте процедуры, в них мы будем писать код.

 

Написание кода

Для начала опишем процедуру на сервере, в ней мы создаем диалог загрузки файла и получаем результат выбора, а после вызываем процедуру на сервере.

 

 

Разберем построчно. 

1. Создание диалога выбора файла, в нем пользователь будет выбирать загружаемый файл.

2. Отключаем множественный выбор, чтобы пользователь мог выбрать только один файл.

3. Определяем фильтр, чтобы можно выбрать только табличные документы нужного нам расширения.

4. Ссылаемся на функцию и отображаем диалог выбора файла.

Мы написали код на клиенте для диалога выбора файла, далее же мы написали код для сервера.

 

Вначале мы проверяем выбран ли файл пользователем, если выбран, запоминаем имя файла в переменной ИмяФайла, а если нет, то мы сообщаем пользователю что файл не выбран и прекращаем выполнение кода. Далее если мы получаем имя файла, то создаем новый табличный документ и считываем файл, имя которого узнали ранее. После идёт цикл, рассмотрим как считывать строчки.

Мы создаём элемент в главном справочнике, после мы можем обращаться к нему, через символ "." выбрать нужный нам элемент и спарсить с таблицы с помощью команды область().Текст. Если же нам надо записать в элемент, который является ссылкой, то нужно вначале проверить есть ли этот элемент в справочнике, а после если нет записать также как и в главный справочник. А чтобы уже сделать так, чтобы элемент выбирался из справочника, то используем найти по наименованию и присваиваем в нужное значение. В конце же, чтобы записать используем команду записать(). Следующий этап тестирование данного решения оставляю на вас, если всё было сделано правильно, то всё должно работать. 

 

Возможность добавления картинки

Создаем справочник с изображениями, реквизит которого будут в формате хранилище данных, а также реквизит в главном справочнике с названием "Фото", тип которого будет ссылка на хранилище значения в справочнике Файлы.

 

 

Далее создаем в главном справочнике форму элемента справочника.

И именно в форме создаем реквизит Картинка, тип которого строка, а вид "поле картинки". Перенесите реквизит на форму и после поставьте галочку "гиперссылка" в свойствах реквизита. Получится данный элемент формы.

 

 

Далее создайте процедуру на клиенте для события "по нажатию" и вставьте нижеуказанный код.

&НаКлиенте

    Процедура ФотоНажатие(Элемент, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь; ИмяФайла = "";

    ПутьКФайлу = "";

    Если ПоместитьФайл(ПутьКФайлу, ИмяФайла, Истина) = Истина Тогда

    Фото = ПутьКФайлу;

   УстановитьКартинку();

   КонецЕсли;

КонецПроцедуры

&НаСервере

    Процедура УстановитьКартинку()

    НовыйФайлКартинки = Справочники.Файлы.СоздатьЭлемент();

    НовыйФайлКартинки.Файл = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(Фото));

    Фото = ПоместитьВоВременноеХранилище(НовыйФайлКартинки.Файл.Получить());

    НовыйФайлКартинки.Записать();

    Объект.Картинка = НовыйФайлКартинки.Ссылка;

КонецПроцедуры

&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    Фото = ПолучитьНавигационнуюСсылку(Объект.Картинка, "Файл"); Элементы.Фото.РазмерКартинки = РазмерКартинки.АвтоРазмер;

КонецПроцедуры

Данный код поможет добавлять и сохранять изображения, но годится только для учебного или же личного проекта, не советую использовать в коммерции. Всего доброго!

См. также

SALE! 20%

Загрузка и выгрузка в Excel Оптовая торговля Печатные формы Бухгалтер Пользователь Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 Конфигурации 1cv8 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная обработка для загрузки документов из Excel в 1С одним нажатием. Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, заказ, отчет комиссионера и т.д.). Не требует MS Office. Для поиска таблиц используются методы эвристического поиска. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д. Содержит модуль работы с электронной почтой и api-загрузчик отчетов о продажах маркетплейсов.

6000 5100 руб.

09.11.2016    234110    1062    898    

1003

Загрузка и выгрузка в Excel Маркетплейсы Программист Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Управленческий учет Платные (руб)

Реальный помощник, с помощью которого Вы сделаете необходимые документы для Wildberries, OZON, ЯндексМаркет, Мегамаркет, Aliexpress, "Детский мир", МагнитЭкспресс (быв.Казань-Экспресс), "Леруа Мерлен", ЭНФАНТА (Акушерство), ЛаМода, Летуаль, "Твой дом", "Золотое Яблоко" в документы "Отчет комиссионера (агента) о продажах" и другие, работает в "Бухгалтерия 3", "Бухгалтерия 3 КОРП", УТ 11, УНФ, КА 2, ERP. Возможность подключить любые маркетплейсы. Анализ продаж ОЗОН. 30 дней БЕСПЛАТНОГО пользования!

2400 руб.

12.08.2021    35488    348    68    

155

SALE! 30%

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Бухгалтер Пользователь Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания сканов или фото товарных документов в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

8400 5880 руб.

04.06.2019    106916    313    173    

326

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Бухгалтер Пользователь Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 10.10.2024, версия 9.8 - 9.13)

15600 руб.

20.11.2015    156049    378    378    

513

Маркетплейсы Загрузка и выгрузка в Excel Программист Пользователь Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Загрузка данных отчета о реализации и продаже товаров из сервиса Яндекс.Маркета «Беру» в 1С из Отчетов Excel для конфигурации: Бухгалтерия предприятия, редакция 3.0; Управление торговлей, редакция 11; Управление торговлей, редакция 10.3; Управление нашей фирмой, редакция 3.0 и Розница, редакция 3.0 в документ «Отчет комиссионера о продажах».

4800 руб.

09.12.2020    25342    252    1    

114

SALE! 15%

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка номенклатуры из файлов Excel (xls, xlsx, ods, csv, mxl) в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

11100 9435 руб.

29.10.2014    216743    657    527    

456
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ddsax 5 15.06.23 22:46 Сейчас в теме
Кстати, следующий пост будет по теме тестирования, но расскажу немного тут для затравки.
Brico; G_116349140909069275340; user1957184; +3 Ответить
2. aleksey2 88 19.10.23 14:25 Сейчас в теме
Ошибка при вызове конструктора (ОписаниеОповещения)
{}:ВыборФайла.Показать( Новый ОписаниеОповещения ("ДиалогНаСервере", ЭтотОбъект, Новый Структура ));
по причине:
Не найден экспортируемый метод: ДиалогНаСервере

Ошибка при вызове метода контекста (Прочитать)
{}:ТабДок.Прочитать(ИмяФайла);
по причине:
Ошибка при выполнении файловой операции 'C:\Users\Desktop\Копия Таблица данных для 1С по 29.09.2023.xls'. Формат файла не поддерживается.

+ фильтр нужен на оба
ВыборФайла.Фильтр = "Excel(*.xls;*.xlsx)|*.xls;*.xlsx";
Оставьте свое сообщение