Имя: Пароль:
1C
1С v8
Помогите напечатать картинки. Проблемы с картинками в 8.2
0 bz79
 
25.09.11
13:17
После перевода базы с 8.1 на 8.2 перестали отображаться картинки как на форме так и в табличном документе.
Отчет должен печатать сопроводительные документы.
Много сканированных фоток, которые хранятся в базе.
Был на написан 8.1  и сконвертирован под 8.2 который.
На форме есть картинка и кнопки навигации.

на навиганции осуществляется след кодом, который отлично работал на 8.1. На 8.2 после просмотра 30шт. картинки перестают отображаться.. потом снова появляются и т.д. Притом обратная навигация также может не показыватся изображения, которые до этого были. Иногда картинки появляются если форму подергать.
Если наживаем "Сохранить" на "пустой картинке", то все отлично сохраняется в файл.

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


ЭтаФорма.ЭлементыФормы.КартинкаПоля.Видимость = Истина;
ЭтаФорма.ЭлементыФормы.КартинкаПоля.ПрозрачныйФон = Ложь;
Картинка = КоллекцияСканированныхДокументов.Получить(ТекущийНомерКартинки);
ЭтаФорма.ЭлементыФормы.КартинкаПоля.Картинка = Новый Картинка;
ЭтаФорма.ЭлементыФормы.КартинкаПоля.Картинка = Картинка;
1 Юрий Лазаренко
 
25.09.11
21:14
(0) Релиз какой? Как было сконвертировано: просто перевели в толстый клиент или переписали на УФ?
2 bz79
 
25.09.11
21:54
2:(1)
1С:Предприятие 8.2 (8.2.14.533). Сейчас проверил на 8.2.13 аналогично...
Просто под Толстым клиентом.
У конфигурации установлено совместимость с 8.2.13.
Возможно у 1с в 8.2 ужесточились требования к формату картинок?.
Для тестирования переписал код сохраняю картинки в файл, а при перелистывании читаю с диска - результат аналогичен.

Заполнение массива                
в цикле заполняю массив содержащий имена файлов
ПолноеИмяФайла = ПолучитьИмяВременногоФайла();
Картинка.Записать(ПолноеИмяФайла);
МассивКартинок.Добавить(ПолноеИмяФайла);

для навигации след код...

ЭтаФорма.ЭлементыФормы.КартинкаПоля.Картинка = Новый Картинка;

ПолноеИмяФайла = МассивКартинок.Получить(ТекущийНомерКартинки);
Картинка = Новый Картинка(ПолноеИмяФайла);
ЭтаФорма.ЭлементыФормы.КартинкаПоля.Картинка = Картинка;
3 Юрий Лазаренко
 
25.09.11
22:06
"Иногда картинки появляются если форму подергать" - похоже что-то с отображением. Размеры (в пикселах) у картинок одинаковые? Может просто форму колбасит из-за разных размеров?
4 bz79
 
25.09.11
22:56
Скажем, если сохранить файл, т.е. открывается модальное окно сохранеие, то иного после закрытия оного. картинка или часть отображается. У картинки установлено

   ЭлементыФормы.КартинкаПоля.РазмерКартинки = РазмерКартинки.АвтоРазмер;

Все это странным образом повторяется если кучу картинок выводить в табличный документ.
Под платформой 8.1 все работало..
5 Юрий Лазаренко
 
25.09.11
23:03
(4) Уточни: картинка прямо на форме расположена или на поле табличного документа? Может есть смысл типовые посмотреть, там есть отображение картинки в справочнике номенклатуры, проверь, будет обновляться картинка при выборе номенклатуры в списке справочника. Если будет - то сдери код оттудова.
6 bz79
 
26.09.11
22:21
И на форме "картинка" и при выводе в табличный документ временами оказываются пустые картинки.

Сделал промежуточную конвертацию картинок перед выводом на  через
ЗапуститьПриложение().
Причина понятна -1с в движке 8.2 исправила работу с картинками.
То что отлично в 8.1 работало. теперь только со своей спецификой.
Сканированные изображения получаются через утилиру по работе со сканером hp.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший