|
Интересный баг платформы 8.3 при работе с картинками | ☑ | ||
---|---|---|---|---|
0
k23
04.10.18
✎
10:34
|
Вот такой код:
Результат = Новый Картинка(“c:\test.xlsx”, Ложь); Если Результат.Формат() = ФорматКартинки.НеизвестныйФормат Тогда Сообщить("НеизвестныйФормат"); Иначе Сообщить("Ok"); КонецЕсли; Естественно, вместо указанного имени файла нужно указать что-то существующее. Именно файл формата excel - xlsx. С xls всё нормально. Из xlsx создаётся кривая картинка. На платформе 8.2 всё нормально. Вместо xlsx можно использовать zip. Тот же эффект. Вероятно, все типы файлов, сжатые по zip-алгоритму, будут так себя проявлять. |
|||
1
Aleksey
04.10.18
✎
10:55
|
в чем баг? В чем кривость картинки. Ничего не понятно
|
|||
2
Cool_Profi
04.10.18
✎
11:14
|
(1) Баг в том (по мнению ТС) что картинка не отдаёт НеизвестныйФормат, а вылетает в исключение
|
|||
3
vis_tmp
04.10.18
✎
11:25
|
"Из xlsx создаётся кривая картинка" - а это штатное поведение было?
|
|||
4
Aleksey
04.10.18
✎
11:42
|
(3) Кривая это как? Цвета не те, или что? Или вместо подписи xls стоит подпись doc? Я просто не знаю что должно быть и что отдает
|
|||
5
k23
04.10.18
✎
11:56
|
(3) штатное поведение - создавать объект картинка, к свойствам и методам которого можно обратиться без выпадания в исключение.
(4) что вы курите по утрам? какие такие цвета в картинке из файла екселя :-) |
|||
6
spiller26
04.10.18
✎
12:08
|
xlsx - это архив
|
|||
7
spiller26
04.10.18
✎
12:10
|
(0) Возьми любой файл xlsx, поменяй расширение на zip, распакуй и увидишь чудо.
|
|||
8
НЕА123
04.10.18
✎
12:12
|
(4)
>Цвета не те, или что? из (5) следует, что монохромная картинка |
|||
9
Cyberhawk
04.10.18
✎
12:14
|
Это карма за неумение внятно изъясняться у тебя такая
|
|||
10
Йохохо
04.10.18
✎
12:28
|
(9) надо было "зацените пацаны сувал в картинку всякую шнягу и уронил с1!, 8.3 сырая гуся в чат"
|
|||
11
Cyberhawk
04.10.18
✎
12:39
|
(10) А что за "гуся в чат"? ))
|
|||
12
k23
04.10.18
✎
13:34
|
(6)(7) вы сами то читали (0) ?
|
|||
13
spiller26
04.10.18
✎
13:37
|
(12) естественно.
|
|||
14
Tatitutu
04.10.18
✎
13:38
|
(7) зачем так напрягаться ?
зажал SHIFT и ПКМ - открыть с помощью - выбрать любой архитор (главное не назначить действие по умолчанию;) (12) смысл твоего послания... что если подсунуть какую то хрень (в виде XLSX) то 1С не сообщит, что это ФорматКартинки.НеизвестныйФормат а сделает вид что все ок ? |
|||
15
spiller26
04.10.18
✎
13:42
|
(15) когда то давно рассказывали байку про пользователя, который пытался ввести "30 февраля".
|
|||
16
bolobol
04.10.18
✎
14:02
|
(15) Законодательно?
|
|||
17
k23
04.10.18
✎
17:55
|
(14) > а сделает вид что все ок ?
Да, именно так. 1с не будет никакой вид делать, метод Формат() вернёт то или иное значение. (15) а по вашему какие файлы можно использовать для программного создания объекта Картинка? Вы как определяете можно из них создать картинку или нельзя? на глаз? |
|||
18
sechs
04.10.18
✎
18:02
|
Это не баг, а фича. Платформа рассматривает zip как набор картинок с разным разрешением для разных экранов. Ну и подпихиваешь мусор - получаешь мусор.
Загляни в любую современную типовую. |
|||
19
k23
04.10.18
✎
21:31
|
(18) да, действительно, если подсунуть архив с картинками, то Формат() возвращает неопределено и не валится в исключение.Назвать это фитчей не рискнул бы.
Можно поподробней о современных типовых, где используются картинки в архивах? У картинки есть метод Преобразовать(), в котором что-то есть про некий манифест вариантов картинки, если картинка представлена архивом. В тех современных типовых, что у меня, нет подобных вариантов использования. Может есть ссылка на описание сего секретного зафитченного механизма? |
|||
20
sechs
04.10.18
✎
21:47
|
Дык эта... какбэ не с 8.3.3 уже.
Открываешь, например книжку/страничку: Разработка и администрирование/Методическая поддержка для разработчиков и администраторов 1С:Предприятия 8/Перевод конфигураций на платформу "1С:Предприятие 8.3" без режима совместимости с версией 8.2/Перевести картинки в наборы картинок А там внезапно: Для возможности масштабирования картинок управляемой формы в интерфейсе Такси на платформе "1С:Предприятие 8.3" версии 8.3.10 и выше рекомендуется все картинки в конфигурации перевести в наборы картинок. Для этого необходимо выполнить следующие действия: Сделать несколько вариантов картинки в размерах для масштаба в 85, 100, 125, 150, 175, 200, 300 и 400 %%, так же вариант для приложения в интерфейсе 8.2 и 8.2 (обычное приложение), если предусмотрены эти режимы работы. Поместить картинку в zip-архив. Включить в архив файл manifest.xml с описанием соответствия размеров и типов экрана. Загрузить zip-архив в конфигурацию как картинку. Пример manifest.xml для набора из картинок: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Picture> <PictureVariant name="85.png" screenDensity="bldpi" glyphWidth="14" glyphHeight="14"/> <PictureVariant name="100.png" screenDensity="ldpi" glyphWidth="16" glyphHeight="16"/> <PictureVariant name="125.png" screenDensity="aldpi" glyphWidth="20" glyphHeight="20"/> <PictureVariant name="150.png" screenDensity="mdpi" glyphWidth="24" glyphHeight="24"/> <PictureVariant name="175.png" screenDensity="amdpi" glyphWidth="28" glyphHeight="28"/> <PictureVariant name="200.png" screenDensity="hdpi" glyphWidth="32" glyphHeight="32"/> <PictureVariant name="300.png" screenDensity="xdpi" glyphWidth="48" glyphHeight="48"/> <PictureVariant name="400.png" screenDensity="udpi" glyphWidth="64" glyphHeight="64"/> <PictureVariant name="Picture.png" interfaceVariant="version8_2" screenDensity="ldpi" glyphWidth="16" glyphHeight="16"/> <PictureVariant name="Picture.png" interfaceVariant="version8_2_OrdinaryApp" screenDensity="ldpi" glyphWidth="16" glyphHeight="16"/> </Picture> Открываешь, например ERP2, а там внезапно ОбщаяКартинка.ДлительнаяОперация48 в формате zip Открываешь, например СП, а там внезапно Картинка.НаборВариантов Тип Булево, Истина - картинка содержит несколько вариантов изображений. |
|||
21
sechs
04.10.18
✎
21:53
|
Тщательнее на https://its.1c.ru/db/v8312doc#bookmark:dev:TI000000250
|
|||
22
sechs
04.10.18
✎
21:58
|
Точнее, начиная 8.3.3 начали впиливать в вариант могильного клиента, а к 8.3.10 дотянули до всех вариантов...
|
|||
23
k23
05.10.18
✎
09:13
|
(21)(22) сильный ответ! спасиб. покопаюсь.
Прогер, кодирующий разбор картинки в 1с явно накосячил. Где-то у него код падает не до конца инициализируя объект. |
|||
24
НЕА123
05.10.18
✎
09:38
|
тут про ZIP файлы
Интересный баг платформы 8.3 при работе с картинками похоже, что файлы (0) тоже такие. |
|||
25
НЕА123
05.10.18
✎
09:40
|
(24) сторно.
не в эту ветку. |
|||
26
НЕА123
05.10.18
✎
09:42
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |