Прайс-лист с картинками для УТ 10.3, КА, УПП и выгрузкой со сжатием в Excel
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Доработанный прайс-лист с картинками для УТ10.3 КА УПП.
Если сохранять стандартными средствами 1С большой прайс-лист в xlsx -то размер файла будет очень большой за счет того, что в нем используются несжатые png файлы.
Данная обработка использует то, что все xlsx - по сути архивы. Используется подмена PNG на JPG с возможностью настройки сжатия. За счет этого размер выходного файла Excel можно регулировать вручную
Пример выгрузки из обработки и стандартными средствами 1С:
- из обработки 94 КБ
- стандартными средствами 1С 981 КБ
В обработке присутсвует возможность настройки параметров сжатия картинок с выбором качества и разрешения изображения, выбор пути по которому будет сохранен файл:
Используемый код выгрузки:
Если Не ЗначениеЗаполнено(ПутьСохранения) Тогда
Возврат
КонецЕсли;
//************** записаваем прайс лист в архив zip с xlsx ****************
Файл = ПутьСохранения+"ПрайсЛист от "+Формат(ТекущаяДата(),"ДФ=dd.MM.yyyy")+".xlsx";
ЭлементыФормы.ДокументРезультат.Записать(Файл, ТипФайлаТабличногоДокумента.XLSX);
//************** разаархивируем полученный файл **********************
Темп = ПутьСохранения+"temp\";
ФайлАрхива = Новый ЧтениеZIPФайла(Файл);
ФайлАрхива.ИзвлечьВсе(Темп, РежимВосстановленияПутейФайловZIP.Восстанавливать);
ФайлАрхива.Закрыть();
//******************** удалим файл архива *****************************
УдалитьФайлы(Файл);
//********************** если есть папка картинок, то обработаем, иначе просто сохраним
ПапкаКартинок = Темп+"xl\media\";
КаталогНаДиске = Новый Файл(ПапкаКартинок);
Если КаталогНаДиске.Существует() Тогда
//************************ переписываем temp\xl\drawings\_rels\drawing1.xml.rels **********************
drawing1 = Новый ЧтениеТекста(Темп+"xl\drawings\_rels\drawing1.xml.rels");
ВесьФайлОднойСтрокой = drawing1.Прочитать();
ВесьФайлОднойСтрокой = СтрЗаменить(ВесьФайлОднойСтрокой,"png","jpg");
drawing1.Закрыть();
УдалитьФайлы(drawing1);
drawing1 = Новый ЗаписьТекста(Темп+"xl\drawings\_rels\drawing1.xml.rels", КодировкаТекста.ANSI);
drawing1.ЗаписатьСтроку(ВесьФайлОднойСтрокой);
drawing1.Закрыть();
//*********************** преобразуем изображения ********************************************************
Picture = Новый COMОбъект("GFLAx.GFLAx");
МассивНайденныхФайлов = НайтиФайлы(ПапкаКартинок, "*.*");
Для Каждого Картинка Из МассивНайденныхФайлов Цикл
Picture.LoadBitmap(Картинка.ПолноеИмя);
Picture.SaveJPEGQuality = Качество;
Picture.Xdpi=ЗначениеДПИ;
Picture.Ydpi=ЗначениеДПИ;
Picture.SaveFormat = 1;
УдалитьФайлы(Картинка.ПолноеИмя);
Picture.SaveBitmap(Картинка.ПолноеИмя);
КонецЦикла;
КонецЕсли;
//************** архивируем папку темп в архив zip с xlsx *********
ЗаписьZIP = Новый ЗаписьZipФайла(Файл);
ЗаписьZIP.Записать();
ЗаписьZIP.Открыть(Файл, , , , УровеньСжатияZIP.Максимальный,);
ЗаписьZIP.Добавить(Темп+"\*",РежимСохраненияПутейZIP.СохранятьОтносительныеПути,РежимОбработкиПодкаталоговZIP.ОбрабатыватьРекурсивно);
ЗаписьZIP.Записать();
УдалитьФайлы(Темп);
Сообщить("Выгрузка "+Файл+" завершена!");
НЕ РАБОТАЕТ БЕЗ КОМПОНЕНТЫ GFLAX!
Не использует выгрузку Excel, ADO, OpenOffice.
Вступайте в нашу телеграмм-группу Инфостарт
См. также
5490 руб.
12.08.2021 48471 654 71
6000 руб.
11.12.2019 68060 1163 3
12444 руб.
29.10.2014 237912 777 544
6000 руб.
26.11.2020 51296 865 4
6000 руб.
01.03.2021 13443 89 0