Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
27 Сен 2020, 23:58
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Картинки в тонком клиенте  (Прочитано 12301 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн monkeyrf

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-09-06
  • Сайт: 
Подскажите, как реализовать в тонком клиенте следующий механизм:
- Запустить диалог выбора файла
- Загрузить из диалога картинку в базу и сохранить в поле с типом ХранилищеЗначений
- Извлечь уже сохраненную картинку из поля ХранилищеЗначений и показать на форме в Декорации

Перелопатил кучу книг, реализовать получилось только в толстом клиенте. Статей на эту тему в интернете не нашел. Думаю вопрос мучает не только меня.


Оффлайн aleady

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 1
  • КПД: 33%
  • Регистрация: 2010-09-09
  • Сайт: 
Методика работы будет следующая:
1. Для вызова диалога выбора файла на форме размещается команда и в ее обработчике 
используется функция глобального контекста
ПоместитьФайл(АдресКартинки,,,,УникальныйИдентификатор);

Описание:

Помещает файл из локальной файловой системы во временное хранилище.

Доступность:

Тонкий клиент, веб-клиент, толстый клиент, внешнее соединение.
Вызов метода выполняет обращение к серверу.

Параметр АдресКартинки - Адрес во временном хранилище, по которому должны быть помещены данные

2. Делаем вызов серверной процедуры в которой пишем:
   Если ЭтоАдресВременногоХранилища(Адрес) Тогда
      Картинка = ПолучитьИзВременногоХранилища(Адрес);
      ТекущийОбъект.Фото = Новый ХранилищеЗначения(Картинка, Новый СжатиеДанных(9));
   КонецЕсли;

Оффлайн aleady

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 1
  • КПД: 33%
  • Регистрация: 2010-09-09
  • Сайт: 
ЭтоАдресВременногоХранилища(<Адрес>)  - Проверяет, является ли переданный адрес адресом файла во временном хранилище
ПолучитьИзВременногоХранилища(Адрес) - Получает значение из временного хранилища по указаному адресу Адрес.
ТекущийОбъект.Фото = Новый ХранилищеЗначения(Картинка, Новый СжатиеДанных(9)); - помещает нашу картинку в реквизит объекта "Фото" с типом ХранилищеЗначения

да, забыл написать  у формы создается реквизит КартинкаФормы типа "Строка", и после выполнения процедуры  ПоместитьФайл(АдресКартинки,,,,УникальныйИдентификатор);  присваиваем  КартинкаФормы = АдресКартинки;

Реквизит формы КартинкаФормы выносим на форму и задаем ему свойство вид равным "Поле картинки".

Таким образом наша картинка отобразится на форме.
Чтобы при повторном открытии формы картинка снова отображалась необходимо инициализировать реквизит формы КартинкаФормы
Для этого в процедуре формы ПриСозданииНаСервере()
добавляем код: КартинкаФормы = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "Фото"); - тем самым связываем наш строковый параметр с реквизитом "Фото" текущего объекта.

Оффлайн aleady

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 1
  • КПД: 33%
  • Регистрация: 2010-09-09
  • Сайт: 
P.S.  в функции ПоместитьФайл(АдресКартинки,,,,УникальныйИдентификатор);
пятый параметр Уникальный Идентификатор управляемой формы - если параметр не указан, помещенное значение будет удалено, после очередного запроса сервера из общего модуля, при контекстном и неконтекстном серверном вызове из формы, при серверном вызове из модуля команды или при получении формы.
P.S.2 Помещать данный из временного хранилища в ХранилищеЗначения стоит в серверной процедуре формы ПередЗаписьюНаСервере()
     Если ЭтоАдресВременногоХранилища(<Адрес>) Тогда
      Картинка = ПолучитьИзВременногоХранилища(<Адрес>);
      ТекущийОбъект.Фото = Новый ХранилищеЗначения(Картинка, Новый СжатиеДанных(9));
   КонецЕсли;
    <Адрес> хранится в реквизите формы КартинкаФормы   

Оффлайн monkeyrf

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-09-06
  • Сайт: 
спасибо! очень помогло!


Теги:
 

Проблема с "Полем картинки" в мобильной платформе

Автор TreeDogNightРаздел Мобильная разработка

Ответов: 2
Просмотров: 5090
Последний ответ 04 Фев 2019, 11:39
от MuI_I_Ika
Системная ошибка с формами нарушена синхронизация состояния формы на клиенте и сервере

Автор xDDРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 20679
Последний ответ 15 Апр 2016, 12:20
от bkmz_1_
Проверка открытости формы конкретного документа на текущем клиенте 8.2

Автор APMEH19Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 5741
Последний ответ 21 Мар 2011, 13:58
от cska-fanat-kz
Проверить наличие определенной формы во внешней обработке на web-клиенте

Автор viniolРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 1825
Последний ответ 22 Май 2014, 17:17
от viniol
Как хранить стейт на сервере или красиво нормально жить на клиенте?

Автор ivanaРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 13
Просмотров: 1974
Последний ответ 28 Ноя 2017, 00:56
от ivana

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
72 Сообщений
oooo800
40 Сообщений
LexaK
30 Сообщений
IL2016
29 Сообщений
Дмитрий Джей Дмитрий Джей
29 Сообщений
antoneus antoneus
25 Сообщений
DmitriyF DmitriyF
16 Сообщений
Ann_
16 Сообщений
мадам брошкина
13 Сообщений
alexandr_ll
11 Сообщений

* Кто онлайн

  • Точка Гостей: 359
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal