Загрузка номенклатуры с картинками из прайс-листа документа Excel

25.03.16

Учетные задачи - Логистика, склад и ТМЦ

Загрузка картинок (рисунков) номенклатуры из файла Excel с прайс-листом без использования внешних библиотек и компонентов.

Скачать файлы

Наименование Файл Версия Размер
ЗагрузкаИзЭксельСКартинками
.epf 10,41Kb
47
.epf 1.0 10,41Kb 47 Скачать

Идея взята из комментария к теме:

//infostart.ru/public/69412/

Идея состоит в копировании рисунка в буфер обмена методом com объекта Excel. Из буфера обмена картинка копируется в созданный объект Excel диаграмма, а из нее сохраняется в графический файл. Из графического файла картинку можно добавить к номенклатуре уже штатными средствами.

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

// В параметрах передаются объекты страницы документа Excel и картинки. 
// Функция возвращает номер строки документа, в котором находится рисунок
Функция ПолучитьНомерСтрокиОбъекта(СтраницаДокумента,Картинка)
	НомерСтроки = 0;
	ТекущаяПозиция = 0;
	ПозицияКартинки = Картинка.Top + 3; // на случай, если картинка выходит за границы строки документа добавляем 3 пикселя
	Пока ТекущаяПозиция < ПозицияКартинки Цикл
		НомерСтроки = НомерСтроки + 1;
		ВысотаСтроки = СтраницаДокумента.Rows(НомерСтроки).Height;
		ТекущаяПозиция = ТекущаяПозиция + ВысотаСтроки;
	КонецЦикла;
	Возврат НомерСтроки;
КонецФункции

.............

// Как загрузить номенклатуру из строк документа не привожу.
// Здесь только получение картинок и добавление к номенклатуре, раннее импортированной
// и указанной ссылками в таблице обработки, в которой номера строк соответствуют строкам документа 
	Excel     = Новый COMОбъект("Excel.Application");       
	WB         = Excel.Workbooks.Open(Объект.ФайлЗагрузки);       
	WS         = WB.Worksheets(1); 
	
	Если ЗагружатьКартинки Тогда
		WS1 = WB.Worksheets(2);  // Создаем диаграмму Excel    
		ДиаграммаXLS = WS1.ChartObjects().Add(0, 0, 100, 100);
		Для Н = 1 По WS.Pictures.Count() Цикл
			Картинка = WS.Pictures.Item(Н);
			НомерСтроки = ПолучитьНомерСтрокиОбъекта(WS, Картинка);
			Картинка.Copy(); // Копируем картинку в буфер обмена
			Ширина = Картинка.Width;
			Высота = Картинка.Height;
			ДиаграммаXLS.Width = Ширина * 1.01; // Устанавливаем размеры
			ДиаграммаXLS.Height = Высота * 1.01;
			ДиаграммаXLS.Chart.Paste(); 
			ДиаграммаXLS.Chart.Export("c:\TEMP\picture.jpg"); // Сохраняем картинку во временный файл
			
			Если НомерСтроки > 0 И НомерСтроки <= ТаблицаЦенИОстатков.Количество() Тогда
				ДвоичныеДанныеКартинки = Новый ДвоичныеДанные("c:\TEMP\picture.jpg");
				ДанныеКартинки = Новый Картинка(ДвоичныеДанныеКартинки);
				АдресДвоичныхДанныхКартинки = ПоместитьВоВременноеХранилище(ДвоичныеДанныеКартинки);
				Номенклатура = ТаблицаЦенИОстатков[НомерСтроки - 1].Номенклатура;
				ЗаписатьКартинкуНоменклатуры(АдресДвоичныхДанныхКартинки, Номенклатура, ДанныеКартинки.Формат());
			КонецЕсли;
				
		КонецЦикла;
	КонецЕсли;

Приложенная обработка не претендует на универсальность, в ней реализован импорт номенклатуры из прайса с жестко заданной структурой. Импортируется в конфигурацию Управление торговлей 11.2, используется определенный вид номенклатуры ("ТоварСКартинками", опционально с дополнительными свойствами "Состав" и "Произведено"). Графический файл сохраняется в каталоге C:\TEMP. В первой строке документа на первом листе Excel должны быть заголовки столбцов (не используется). Стобцы:

  • 1 - не используется
  • 2 - Наименование (обязательно)
  • 3 - не используется
  • 4 - Артикул
  • 5 - Производитель
  • 6 - Картинка (положение в строке не имеет значения) 
  • 7 - Состав (опционально)
  • 8 - Описание
  • 9 - Страна (опционально)
  • 10 - Цена
  • 11 - Количество

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

импорт номенклатура Excel картинки

См. также

SALE! 20%

Автоматический заказ поставщику в 1С: загрузка прайсов и анализ цен поставщиков для УТ 10.3, УТ 11, КА2, УНФ, УПП, ERP, Розница 2

Бюджетирование и планирование Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Платформа 1С v7.7 Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

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

28500 22800 руб.

21.04.2017    90178    105    39    

190

Модуль "Ответственное хранение" или фулфилмент (FBS / FBO) для 1С:УТ 11.5, КА 2.5, ERP 2.5

Логистика, склад и ТМЦ Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Модуль "Ответственное хранение" для 1С (УТ 11.5, КА 2.5, ERP 2.5) позволяет организовать учет ответственного хранения товаров с весовыми характеристиками, в том числе со сроком годности и личным кабинетом Поклажедателя. Модуль реализован в виде расширения конфигурации, устанавливается в режиме 1С:Предприятие 8 за 5 минут по инструкции, что позволяет оставить конфигурацию 1С на стандартной поддержке и продолжать получать стандартные обновления от фирмы "1С".

60000 руб.

09.06.2020    34310    27    57    

54

SALE! 10%

Загрузка номенклатуры из Excel в УТ11, КА 2, ERP 2, Розница 2. Дополнительные реквизиты и сведения, характеристики, картинки, цены, остатки

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

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

10560 9504 руб.

29.10.2014    210167    620    524    

439

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

Загрузка и выгрузка в 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 Платные (руб)

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

13200 руб.

20.11.2015    150714    367    375    

501

AS WMS: автоматизация склада с адресным хранением с помощью ТСД

Логистика, склад и ТМЦ Платформа 1С v8.3 Россия Платные (руб)

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

40000 руб.

26.07.2023    3228    13    0    

8
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. luckardo 14 12.04.17 18:01 Сейчас в теме
выдает ошибку
Прикрепленные файлы:
2. Sova123 34 28.05.18 01:13 Сейчас в теме
{ВнешняяОбработка.ЗагрузитьНоменклатуру.Форма.Форма.Форма(94)}: Ошибка при вызове метода контекста (Worksheets)
WS1 = WB.Worksheets(2);
по причине:
Произошла исключительная ситуация (0x8002000b)
3. user970589 10 28.05.18 03:01 Сейчас в теме
Похоже на КЭШ. Удалите запись из базы 1С и вставьте ее заново.
Вообще - что за платформа, конфа, саму обработку выложите, как вам люди смотреть то будут?
Оставьте свое сообщение