![]() |
|
Плавающее окно с фоткой | ☑ | ||
---|---|---|---|---|
0
BARS_2
07.12.05
✎
16:56
|
есть желание зделать плавающее окно в которое будет показываться фотка товара из текущей строки документа. из идей было только вызов формы состоящей из одного объекта "Картинка" по переключателю на форме, но эта самая форма почему-то кпорно отказывается выскочить (я уж не говорю что ее надо зделать поверх всех как калькулятор, если это возможно).
ОткрытьФорму("Отчет.ОкноФото#1", Конт); {Документ.Счет.Форма.Модуль(35)}: Открытие окна в данном режиме недоступно! че делать? и вообще желание реальное или я че-то много хочу? если подправить форму документа и вставить там объект "Картинка" то все работает. хотелось бы плавающее |
|||
1
smaharbA
07.12.05
✎
17:00
|
Всплывающее ?
|
|||
2
smaharbA
07.12.05
✎
17:00
|
+(1) Слои
|
|||
3
BARS_2
07.12.05
✎
17:02
|
Всплывающее не в смысле что оно то есть то нет, а в смысле что оно отделено от формы документа. как пример окошко калькулятора
|
|||
4
smaharbA
07.12.05
✎
17:10
|
Дорого, но можно...
|
|||
5
BARS_2
07.12.05
✎
17:10
|
А вообще насчет ошибки может кто-то подсказать что-то? модально открывает, но модально не надо :((
|
|||
6
BARS_2
07.12.05
✎
17:11
|
(4) дорого не устраивает. это типа свободная практика. :)) то что в принципе можно все я верю, но меня интересует стандартными средствами
|
|||
7
Композитор
07.12.05
✎
17:48
|
Это делается так.
В модуле формы документа: Перем ФормаТаблицыИзображений; // контекст формы с таблицей изображений //****************************************************************************** Процедура ПоказатьИзображение() Параметр = глВзятьКонтекст(Контекст); ОткрытьФорму("Отчет", Параметр, глКаталогПечФорм+"ПоказатьИзображениеНоменклатуры.ert"); ФормаТаблицыИзображений = Параметр; // через параметр возвращается контекст открытой формы обработки КонецПроцедуры // //****************************************************************************** Функция ИнформацияОНоменклатуре() //вешается на форму ИнфоТекст=""; Если Номенклатура.Выбран()=0 Тогда Возврат(ИнфоТекст); КонецЕсли; ИнфоТекст=ИнфоТекст+СокрЛП(Номенклатура.Наименование); Если ПустоеЗначение(Номенклатура.Артикул)=0 Тогда ИнфоТекст=?(ИнфоТекст="","",ИнфоТекст+","); ИнфоТекст=ИнфоТекст+" арт. "+СокрЛП(Номенклатура.Артикул); КонецЕсли; Файл = КаталогИБ()+СокрЛП(Номенклатура.КаталогКартинки)+СокрЛП(Номенклатура.ИмяФайлаКартинки); Если (ПустоеЗначение(Номенклатура.ИмяФайлаКартинки) = 0)И (ФС.СуществуетФайл(Файл) = 1) Тогда Картинка.Загрузить(Файл); Картинка.РежимРисования(3); Иначе Картинка1 = СоздатьОбъект("Картинка"); Картинка.УстановитьКартинку(Картинка1); //Конец КонецЕсли; Если ТипЗначения(ФормаТаблицыИзображений) = 100 Тогда // если открыта форма с таблицей остатков, то обновим в ней текущий элемент ФормаТаблицыИзображений.Форма.Обновить(0); КонецЕсли; Возврат(ИнфоТекст); КонецФункции //ИнформацияОНоменклатуре() В модуле формы, на которой есть объект "Картинка": Перем ОбъектАнализа, КонтДокумента; Процедура ПоказатьИзображения(Ном) ФайлИзображения = КаталогИБ()+СокрЛП(Ном.КаталогКартинки)+СокрЛП(Ном.ИмяФайлаКартинки); ФайлЧертежа = КаталогИБ()+СокрЛП(Ном.М_КаталогЧертежа)+СокрЛП(Ном.М_ИмяФайлаЧертежа); Попытка Если ФС.СуществуетФайл(ФайлИзображения)=1 Тогда Картинка.Загрузить(ФайлИзображения); Картинка.РежимРисования(3); КонецЕсли; Исключение КонецПопытки; Попытка Если ФС.СуществуетФайл(ФайлЧертежа)=1 Тогда Чертеж.Загрузить(ФайлЧертежа); Чертеж.РежимРисования(3); КонецЕсли; Исключение КонецПопытки; Форма.Описание.Заголовок(Ном.М_Описание); КонецПроцедуры //ПоказатьИзображения() //****************************************************************************** Функция СформироватьИнформационнуюСтроку() Перем ИнфСтрока; Если ТипЗначения(КонтДокумента) = 100 Тогда ТекЭлемент = КонтДокумента.Номенклатура; Если ТекЭлемент <> ОбъектАнализа Тогда ОбъектАнализа = ТекЭлемент; ПоказатьИзображения(ОбъектАнализа); КонецЕсли; Если ПустоеЗначение(ОбъектАнализа) = 1 Тогда // не выбран элемент ИнфСтрока = ""; Иначе Если ОбъектАнализа.ЭтоГруппа() = 0 Тогда ИнфСтрока = СокрЛП(ОбъектАнализа.ПолнНаименование) + ?(ПустоеЗначение(ОбъектАнализа.Артикул) = 0, " Артикул: " + СокрЛП(ОбъектАнализа.Артикул), "") + ?(ПустоеЗначение(ОбъектАнализа.Комментарий) = 0, " Комментарий: " + СокрЛП(ОбъектАнализа.Комментарий), ""); КонецЕсли; КонецЕсли; КонецЕсли; Возврат ИнфСтрока; КонецФункции // СформироватьИнформационнуюСтроку() Процедура ПриОткрытии() КонтДокумента = Форма.Параметр; Если ПустоеЗначение(КонтДокумента) = 1 Тогда Предупреждение("Данная обработка вызывается из других модулей конфигурации",60); СтатусВозврата(0); Возврат; КонецЕсли; КонецПроцедуры // ПриОткрытии() На форму документа повесить кнопку с процедурой ПоказатьИзображение() При нажатии на кнопку появится форма с картинкой. При перемещении курсора по строкам документа, в форме с изображением будет меняться картинка. |
|||
8
Композитор
07.12.05
✎
17:49
|
В справочнике Номенклатура должны быть прописаны пути до картинки (забыл сказать)
|
|||
9
smaharbA
07.12.05
✎
17:50
|
(7) и будет поверх всех ? или а, там все время откытьформу ?
|
|||
10
Композитор
07.12.05
✎
17:52
|
(9) Нет, не поверх всех. А что надо было поверх всех? У меня монитор большой, я рформы дока, справочника и форму скартинкой или с остатками рядом располагаю.
|
|||
11
smaharbA
07.12.05
✎
17:57
|
(10) Ну наверное надо поверх, тогда можно ФормаТаблицыИзображений.Активизировать() еще добавить
|
|||
12
BARS_2
07.12.05
✎
18:01
|
"Мать моя муравьиха" это откуда-то взято стандартное или это ты на коленке наваял? надо теперь еще вкурить это все
|
|||
13
Композитор
07.12.05
✎
18:02
|
(11) Неудобно. Не получится "листания".
|
|||
14
smaharbA
07.12.05
✎
18:03
|
(12) на коленке, на женской ;) явно...
|
|||
15
Композитор
07.12.05
✎
18:04
|
(12) Свое из стандартного. За основу взята форма с остатками, которая открывается из формы списка справочника Номенклатура. А потом уже своя фантазия.
Я этот прием очень широко применяю. Остатки, цены, изображения.... |
|||
16
smaharbA
07.12.05
✎
18:05
|
(13) Почему ? после смены контекста активизировать и обновить а потом вернуть активизировать в исходную, тогда не поверх ее будет, но хоть не спрятана под многими если так получилось
|
|||
17
Композитор
07.12.05
✎
18:06
|
В приведенном примере картинка меняется как на форме документа, так и на форме отчета. Можно выбрать любой вариант.
|
|||
18
Композитор
07.12.05
✎
18:07
|
(16) Наверное, можно согласиться.
|
|||
19
BARS_2
07.12.05
✎
18:46
|
Еще раз спасибо буду разбирать. но у меня вопрос. как с формы документа вызывается Процедура ПоказатьИзображение()? дело в том что у меня при вызове процедуры с кнопки отчет открывается, а если я вызываю с чекбутона то тогда получаю
ОткрытьФорму("Обработка.ОкноФото#1", Конт); {Документ.Счет.Форма.Модуль(36)}: Открытие окна в данном режиме недоступно! |
|||
20
smaharbA
07.12.05
✎
18:48
|
(19) А ты ее с предопределенной открой
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |