Имя: Пароль:
1C
 
Рисунок.Картинка = Поле объекта недоступно для записи (Картинка)
,
0 mikecool
 
01.10.19
10:43
Есть РисунокТабличногоДоркумента, полученный объектом 1СБаркод
мои записи на платформе 8.1 гласят:
Рисунок.Картинка = Новый Картинка(ДвДанные)
а вот на платформе 8.3  на этой строке сообщают: Поле объекта недоступно для записи (Картинка)
что такого изменилось в этом мире?
1 mikecool
 
01.10.19
10:43
все это в обычном приложении
2 ДенисЧ
 
01.10.19
10:46
Кк = ОбластьМакета.Рисунки.Получить(сч); // тут в макет пласеходлдер для картинки
дд = ПолучитьОбщийМакет(ИмяМакета); // тут двоичный макет с картинкой
к = Новый Картинка(дд, Истина);
кк.Картинка = к; // тут присвавиние

8.3.12 в совместимости 8.3.4 Обычные формы.
Работает.
3 mikecool
 
01.10.19
10:52
у меня ДвоичныеДанныеКартинки = ВнешняяКомпонента.ПолучитьШтрихкод()
наверное тут макет, не помню, что возвращает 1сбаркод
думал - работающий пример засуну и все полетит, ан нет
4 mikecool
 
01.10.19
10:53
кк.Картинка = к;// тут присвавиние - а вот тут я бываю посылаем
5 ДенисЧ
 
01.10.19
10:53
(4) дык просмотри, чему у тебя к в момент посыла равен
6 mikecool
 
01.10.19
10:58
Новый Картинка(ДвДанные) - Тип Картинка, Абсолютная
7 mikecool
 
01.10.19
11:21
что говорит справка:
Применимо только для рисунков типа Картинка.
Если картинка задается программно, может быть установлена картина вида Пустая или ИзБиблиотеки.
т.е. я не могу любую произвольную картинку присвоить?
8 aleks_default
 
01.10.19
11:26
Можешь
9 ДенисЧ
 
01.10.19
11:39
(7) Ну я же задаю не из библиотеки...
10 mikecool
 
01.10.19
11:42
может ли моя проблема быть связана с тем, что картинка предоставлена активиксом?
11 mikecool
 
01.10.19
11:43
но в старом проекте на 8.1 аналогичное выполнение
12 ДенисЧ
 
01.10.19
12:27
(10) А этот активный Х тебе битмам отдать не может?
13 mikecool
 
01.10.19
15:35
(12) а хз, 1 так понимаю - это 1сбаркод, посмотрю на него описание
когда я его использовал в последний раз - это был 2005 год ))
он отдает двоичные данные, предлагаешь попробовать через врем файл запихнуть?
14 mikecool
 
01.10.19
16:15
попробовал через файл - ошибка осталась прежней: Поле объекта недоступно для записи (Картинка)
15 pechkin
 
01.10.19
16:35
можно нужно через Область.Картинка =
16 mikecool
 
01.10.19
16:55
(15) один вариант - перебор рисунков в области
второй - передача напрямую рисунка
результат одинаковый
17 mikecool
 
01.10.19
16:56
у меня сомнение - может проблема именно в том, что поставщиком рисунка является активикс?
18 pechkin
 
01.10.19
16:56
(17) у тебя же двоичные данные и их них картинка
19 pechkin
 
01.10.19
16:57
вот у меня в конфе

        Рисунок = ОбластьШапка.Рисунки.BarCode;
        ПараметрыШтрихкода = Новый Структура;
        ПараметрыШтрихкода.Вставить("Ширина",          Окр(Рисунок.Ширина / КоличествоМиллиметровВПикселе));
        ПараметрыШтрихкода.Вставить("Высота",          Окр(Рисунок.Высота / КоличествоМиллиметровВПикселе));
        ПараметрыШтрихкода.Вставить("Штрихкод",        усСервисныеФункции.ПолучитьШКПечатнойФормыДляПечати(текСтрокаШапка.ЗаказНаОтгрузку, "Документ.усЗаказНаОтгрузку.ПФ_MXL_СчетФактура"));
        ПараметрыШтрихкода.Вставить("ТипКода",         4);
        ПараметрыШтрихкода.Вставить("ОтображатьТекст", Ложь);
        ПараметрыШтрихкода.Вставить("РазмерШрифта",    10);
        Рисунок.Картинка = ОбработкаПечатиШК.ПолучитьКартинкуШтрихкода(ВнешняяКомпонента, ПараметрыШтрихкода);
20 mikecool
 
01.10.19
17:12
(19) аналогично, коллега, но у меня - ошибка (
21 mikecool
 
01.10.19
17:16
снял даже защиту с картинки(а вдруг?)  не помогло
22 mikecool
 
01.10.19
17:18
смущает еще, что Рисунок.Картинка - недоступно для чтения в отладчике
23 mikecool
 
01.10.19
17:25
заменил активикс на обычную картинку - все равно Поле объекта недоступно для записи (Штрихкод)
уже присваиваю ОбластьМакета.Рисунки.Штрихкод - мало ли, где какой объект отдает в процессе свою картинку
24 Михаил Козлов
 
01.10.19
17:32
Вот так работает:
ДвоичныеДанныеФайла = РаботаСФайлами.ДвоичныеДанныеФайла(ФайлКартинки);    
Если ТипЗнч(ДвоичныеДанныеФайла) = Тип("Картинка") Тогда
    Картинка = ДвоичныеДанныеФайла;
ИначеЕсли ТипЗнч(ДвоичныеДанныеФайла) = Тип("ДвоичныеДанные") Тогда
    Картинка = Новый Картинка(ДвоичныеДанныеФайла);
Иначе
    Картинка = Новый Картинка;
КонецЕсли;     
ОбластьМакета.Рисунки.Факсимиле.Картинка = Картинка;
25 mikecool
 
01.10.19
17:58
похоже проблема все таки с тем, что объект у картинки - активикс
заменил на обычную картинку из Таблица-рисунки-Картинка - и все заработало
и работает как и ранее - через переданный рисунок и через поиск в области...
что же такого изменилось в этом направлении с 8.1? ))
26 pechkin
 
01.10.19
18:14
ты на клиенте делаешь или на сервере?
27 mikecool
 
02.10.19
13:22
(26) толстое приложение, честно - не задавался вопросом )
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс