![]() |
![]() |
|
АгентПлюс на 8.2 УПП | ☑ | ||
---|---|---|---|---|
0
Crimscon
06.09.18
✎
13:05
|
Всем привет. Пытаюсь адаптировать АгентПлюс из 8.3 УТ 11.3 под 8.2 УПП 1.3 и уперся в функцию "начать помещение файла".
При открытии считывается данные по иконке и формируется навигационная ссылка. Ну и соответственно в форме можно выбрать новую иконку. Вопрос стоит в создании навигационной ссылки, потому что в 8.3 эта ссылка формируется автоматически, а мне приходится ее создавать вручную и с той, что я создаю оно не работает. Приведу код АгентПлюса и моей адаптации его под УПП. АгентПлюс: Процедура ПриОткрытии(Отказ) #Если ВебКлиент Тогда //Если Не ОбщегоНазначенияКлиент.РасширениеРаботыСФайламиПодключено() Тогда // Отказ=Истина; // Возврат; //КонецЕсли; Элементы.ГруппаИконка.Видимость = Ложь; #Иначе КаталогВременныхФайлов = апКлиент.ВернутьКаталогВременныхФайловНаКлиентеВебКлиенте(); Путь = КаталогВременныхФайлов + "IconAP.png"; Картинка.Записать(Путь); АдресВХранилище = ""; НачатьПомещениеФайла(Новый ОписаниеОповещения("ПриОткрытииЗавершение", ЭтотОбъект, Новый Структура("КаталогВременныхФайлов", КаталогВременныхФайлов)), АдресВХранилище, Путь, Ложь); Возврат; #КонецЕсли ПриОткрытииФрагмент(); КонецПроцедуры Процедура ПриОткрытииЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт КаталогВременныхФайлов = ДополнительныеПараметры.КаталогВременныхФайлов; ПолеИконка = Адрес; ПутьКИконке = КаталогВременныхФайлов; ПриОткрытииФрагмент(); КонецПроцедуры Процедура ПриОткрытииФрагмент() Если Не Запись.Широта = 0 И Не Запись.Долгота = 0 Тогда ЭтаФорма.Элементы.КнопкаУказатьНаКарте.Заголовок = "Показать местоположение на карте"; КонецЕсли; Попытка Если ЭтаФорма.ВладелецФормы.ИмяФормы = "Справочник.Партнеры.Форма.ФормаЭлемента" Тогда ЭтаФорма.Элементы.ФормаЗаписатьИЗакрыть.Заголовок = "Записать"; ЭтаФорма.Элементы.ФормаЗаписать.Видимость = Ложь; ЭтаФорма.Элементы.ФормаСкопировать.Видимость = Ложь; КонецЕсли; Исключение КонецПопытки; //СформироватьУсловноеОформление(); КонецПроцедуры И еще немного для выбора иконки: Процедура ПолеИконкаНажатие(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогОткрытияФайла.Заголовок = "Выберите файл с иконкой"; ДиалогОткрытияФайла.ПредварительныйПросмотр = Истина; ДиалогОткрытияФайла.Фильтр = "Файлы иконок(*.png)|*.png"; ДиалогОткрытияФайла.МножественныйВыбор = Ложь; Если ДиалогОткрытияФайла.Выбрать() Тогда Модифицированность = Истина; ВыбраннаяИконка = Новый Картинка(ДиалогОткрытияФайла.ПолноеИмяФайла, Ложь); Картинка = ВыбраннаяИконка; АдресВХранилище = ""; НачатьПомещениеФайла(Новый ОписаниеОповещения("ПолеИконкаНажатиеЗавершение", ЭтотОбъект, Новый Структура("АдресВХранилище", АдресВХранилище)), АдресВХранилище, ДиалогОткрытияФайла.ПолноеИмяФайла, Ложь); КонецЕсли; КонецПроцедуры Процедура ПолеИконкаНажатиеЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт //АдресВХранилище = ДополнительныеПараметры.АдресВХранилище; ПолеИконка = Адрес; КонецПроцедуры А теперь то, как я пытался это адаптировать в УПП Процедура ПриОткрытии(Отказ) #Если ВебКлиент Тогда //Если Не ОбщегоНазначенияКлиент.РасширениеРаботыСФайламиПодключено() Тогда // Отказ=Истина; // Возврат; //КонецЕсли; Элементы.ГруппаИконка.Видимость = Ложь; #Иначе КаталогВременныхФайлов = апКлиент.ВернутьКаталогВременныхФайловНаКлиентеВебКлиенте(); Путь = КаталогВременныхФайлов + "IconAP.png"; Картинка.Записать(Путь); Адрес = ПолучитьНавигационнуюСсылку(ЭтаФорма.Запись.Объект.Ссылка, "ПолеИконка"); ПолеИконка = Адрес; ПутьКИконке = КаталогВременныхФайлов; ПриОткрытииФрагмент(); Возврат; #КонецЕсли ПриОткрытииФрагмент(); КонецПроцедуры Процедура ПриОткрытииФрагмент() Если Не Запись.Широта = 0 И Не Запись.Долгота = 0 Тогда ЭтаФорма.Элементы.КнопкаУказатьНаКарте.Заголовок = "Показать местоположение на карте"; КонецЕсли; Попытка Если ЭтаФорма.ВладелецФормы.ИмяФормы = "Справочник.ТочкиДоставки.Форма.ФормаЭлемента" Тогда ЭтаФорма.Элементы.ФормаЗаписатьИЗакрыть.Заголовок = "Записать"; ЭтаФорма.Элементы.ФормаЗаписать.Видимость = Ложь; ЭтаФорма.Элементы.ФормаСкопировать.Видимость = Ложь; КонецЕсли; Исключение КонецПопытки; //СформироватьУсловноеОформление(); КонецПроцедуры Процедура ПолеИконкаНажатие(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогОткрытияФайла.Заголовок = "Выберите файл с иконкой"; ДиалогОткрытияФайла.ПредварительныйПросмотр = Истина; ДиалогОткрытияФайла.Фильтр = "Файлы иконок(*.png)|*.png"; ДиалогОткрытияФайла.МножественныйВыбор = Ложь; Если ДиалогОткрытияФайла.Выбрать() Тогда Модифицированность = Истина; ВыбраннаяИконка = Новый Картинка(ДиалогОткрытияФайла.ПолноеИмяФайла, Ложь); Картинка = ВыбраннаяИконка; Адрес = ПолучитьНавигационнуюСсылку(ЭтаФорма.Запись.Объект.Ссылка, "ПолеИконка"); ПолеИконка = Адрес; КонецЕсли; КонецПроцедуры Все выполняется на клиенте. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |