|
v7: Вызвать процедуру или функцию из картинки на форме, как? | ☑ | ||
---|---|---|---|---|
0
MWWRuza
гуру
20.04.18
✎
12:46
|
Чего-то затупил конкретно... Собственно, сабж...
Подробнее: Форма(справочника, но, это не важно). В ней есть поле картинки. Как кликнув по картинке, вызвать процедуру модуля формы(в ней я хочу открывать картинку методом ЗапуститьПриложение(ПутьКФайлу))-??? В самой картинке есть только идентификатор... Чем отловить событие клика на этом поле? |
|||
1
Vippi
20.04.18
✎
13:00
|
(0) FormEx
|
|||
2
dk
20.04.18
✎
13:03
|
штатно тока кнопку ниже картинки сделать и ее жмакать
|
|||
3
MWWRuza
гуру
20.04.18
✎
14:22
|
Ясно, спасибо. А я думал, что я туплю... Оказывается, действительно штатными методами нельзя.
|
|||
4
Kigo_Kigo
20.04.18
✎
14:49
|
можно сделать большую кнопку а на нее запилить картинку, на кнопку процедуру, а зачем ЗапуститьПриложение(ПутьКФайлу)) ?
если только рассмотреть картинку, можно вызвать обработку на форме которой лежит большая картинка и при открытии погружать нужную картинку |
|||
5
MWWRuza
гуру
20.04.18
✎
14:58
|
Понятно... Сделал без особых извращений, кнопочку маленькую с буковкой "О", как во многих формах, где выбираемый реквизит можно просматривать, в стандартном стиле. Сабж был совсем не принципиален, скорее, для общего развития.
|
|||
6
MWWRuza
гуру
20.04.18
✎
15:01
|
А делать отдельную форму для просмотра большой картинки? Смысла особого не вижу, штатный виндовый "Просмотр изображений и факсов", вполне устраивает.
|
|||
7
Kigo_Kigo
20.04.18
✎
15:03
|
(6) это визовет открытие не нужных домолнительных окон вне 1с, на ворме только картинка с индентификатором картинка
вот код, у меня так Процедура ПриОткрытии() ИмяФотографии = Форма.Параметр; ИмяФотографии = СокрЛП(ИмяФотографии); Если ПустаяСтрока(ИмяФотографии) = 1 Тогда Сообщить("Файл с фотографией не сопаставлен"); Иначе Если ФС.СуществуетФайл(ИмяФотографии) =1 тогда Картинка.РежимРисования(3); Картинка.Загрузить(ИмяФотографии); Иначе Предупреждение("Отсутствует файл фотографии"); КонецЕсли КонецЕсли; КонецПроцедуры |
|||
8
MWWRuza
гуру
20.04.18
✎
15:15
|
Понятно. Окна вне 1С, мне особо не мешают, зато открывают картинку в исход сделал вот так:
В глобальнике, потому, что используется в нескольких местах, кроме справочника: // Влад 19.01.2018 Функция НормализоватьАртикул(Арт) Экспорт Рез = СокрЛП(Арт); Рез = СтрЗаменить(Рез,"\","_"); Рез = СтрЗаменить(Рез,"/","_"); Возврат Рез; КонецФункции Функция ВернутьИмяФайлаКартинки(Код, Артикул) Экспорт ИмяФайлаКартинки = КаталогИБ() + СокрЛП(Константа.КаталогКартинок)+ "\" + СокрЛП(Код) + "_" + НормализоватьАртикул(Артикул) + ".jpg"; Возврат ИмяФайлаКартинки; КонецФункции // Конец Влад 19.04.2018 Функция убирает слэши из Артикула, меняет на нижние подчеркивания, иначе "общая файловая ошибка". В форме справочника: // Влад 19.01.2018 Процедура ЗагрузитьКартинку() ИмяФайлаКартинки = ВернутьИмяФайлаКартинки(Код, Артикул); Если ФС.СуществуетФайл(ИмяФайлаКартинки) = 1 Тогда Картинка.Загрузить(ИмяФайлаКартинки); КонецЕсли; КонецПроцедуры Процедура УдалитьКартинку() Если Вопрос("Вы уверены, что хотите удалить картинку?",4,10) = 6 Тогда ИмяФайлаКартинки = ВернутьИмяФайлаКартинки(Код, Артикул); ФС.УдалитьФайл(ИмяФайлаКартинки); ПустКартинка = СоздатьОбъект("Картинка"); Картинка.УстановитьКартинку(ПустКартинка); Форма.Обновить(0); КонецЕсли; КонецПроцедуры Процедура ЗагрузитьКартинкуВБазу() ИмяФайлаКартинки = ВернутьИмяФайлаКартинки(Код, Артикул); Если ФС.СуществуетФайл(ИмяФайлаКартинки) = 1 Тогда Если Вопрос("Вы уверены, что хотите изменить картинку?",4,10) <> 6 Тогда СтатусВозврата(0); Возврат; КонецЕсли; КонецЕсли; НоваяКартинка = ""; Если ФС.ВыбратьФайлКартинки(0,НоваяКартинка,КатЗагрКартинки,"Выберите файл картинки для текущего товара!","jpg",10) = 1 Тогда ФС.КопироватьФайл(КатЗагрКартинки + НоваяКартинка, ИмяФайлаКартинки, 0); КонецЕсли; Картинка.Загрузить(ИмяФайлаКартинки); КонецПроцедуры Процедура ПросмотрКартинки() ИмяФайлаКартинки = ВернутьИмяФайлаКартинки(Код, Артикул); ЗапуститьПриложение(ИмяФайлаКартинки); КонецПроцедуры // Конец работы с картинками Влад 19.04.2018 Картинки храню в папке, с именем заданным в константе, внутри ИБ. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |