Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

ИдентификаторФормы получить в УФ

ИдентификаторФормы получить в УФ
Я
   SkillUp
 
26.11.20 - 13:39
Здравствуйте, надо получить ИдентификаторФормы  в УФ, есть ссылка.

Делаю так:
ИдентификаторФормы    = ХарактеристикаСсылка.УникальныйИдентификатор();

Парвильно ли я получаю идентификатор формы, или я получаю идентификатор ссылки? Разъясните пожалуйста и если не правильно, можно пример, как надо?
   folo
 
1 - 26.11.20 - 13:43
Это идентификатор записи.  Если копать в строну открытых окон то есть метод ПолучитьОкна.
   SkillUp
 
2 - 26.11.20 - 13:44
(1) Не, у меня все закрытые окна. Надо просто идентификатор ИМЕННО ФОРМЫ. Не могу понять как его получить...
   SkillUp
 
3 - 26.11.20 - 13:46
Я просто программно добавляю картинку в Характеристику, там один из параметров - идентификатор формы
ДополнительныеПараметры = Новый Структура;
            ДополнительныеПараметры.Вставить("ВладелецФайла",        Характеристика);
            ДополнительныеПараметры.Вставить("ИдентификаторФормы",   ИдентификаторФормы);
            ДополнительныеПараметры.Вставить("Фильтр",               Фильтр);
            ДополнительныеПараметры.Вставить("ГруппаФайлов",         ГруппаФайлов);
            ДополнительныеПараметры.Вставить("ОбработчикРезультата", ОбработчикРезультата);
            ДополнительныеПараметры.Вставить("ПолноеИмяФайла",       ПутьККартинке);
            
            РаботаСФайламиСлужебныйКлиент.ДобавитьФайлыРасширениеПредложено(Истина, ДополнительныеПараметры);
   folo
 
4 - 26.11.20 - 13:54
когда форму открывают - можно задать свой уникальный идентификатор. Смотри ПолучитьФОрму или ОткрытьФорму. Вероятно речь про него
   SkillUp
 
5 - 26.11.20 - 13:55
(4) Да, так и подумал. Спасибо!
   Жан Пердежон
 
6 - 26.11.20 - 14:07
ФормаКлиентскогоПриложения (ClientApplicationForm)
УникальныйИдентификатор (UUID)
Использование:
Только чтение.
Описание:
Тип: УникальныйИдентификатор.
Уникальный идентификатор экземпляра формы.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент), мобильное приложение (сервер).
Использование в версии:
Доступен, начиная с версии 8.2.
   SkillUp
 
7 - 26.11.20 - 14:10
(6) Ну это понятно, а как саму форму спраочника получить в УФ по ссылке?
   SkillUp
 
8 - 26.11.20 - 14:11
(6) Или я что-то не понимаю...
   Жан Пердежон
 
9 - 26.11.20 - 14:12
ПолучитьФорму()
   SkillUp
 
10 - 26.11.20 - 14:14
(9) в УФ?
   SkillUp
 
11 - 26.11.20 - 14:14
(9) Доступность:
Толстый клиент.
   Жан Пердежон
 
12 - 26.11.20 - 14:20
учу пользоваться СП, дорого:

Глобальный контекст (Global context)
ПолучитьФорму (GetForm)
Синтаксис:
ПолучитьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>)
***
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент, мобильное приложение (клиент).
Вызов метода выполняет обращение к серверу.
   SkillUp
 
13 - 26.11.20 - 14:27
(12) Пардон...
   fisher
 
14 - 26.11.20 - 14:53
Кто-то понял, какую задачу решает ТС?
   SkillUp
 
15 - 26.11.20 - 16:35
(14) Программное добавление картинок в характеристики,через типовые механизмы, в конфигурации УНФ. Что не понятно?
   Kassern
 
16 - 26.11.20 - 16:46
(15) а что мешает посмотреть в отладке чем заполняется структура при типовом добавлении картинки?
   Kassern
 
17 - 26.11.20 - 16:46
(16) И сделать свое программное заполнение этой структуры для групповой, к примеру, загрузки фото
   ГдеСобакаЗарыта
 
18 - 26.11.20 - 16:47
Передай туда идентификатор своей открытой формы обработки или что там у тебя.
   fisher
 
19 - 26.11.20 - 16:50
(15) Непонятно, зачем для этого идентификатор формы. Что с ним делаться-то будет?
   ГдеСобакаЗарыта
 
20 - 26.11.20 - 16:56
(19) Ну надо ж клиента оповестить о результате добавления файла. Только ТС хочет это оповещения отправить на форму полученную по какой-то там его ссылке.
   fisher
 
21 - 26.11.20 - 17:13
(20) Дошло :)
   singlych
 
22 - 26.11.20 - 17:48
УИД формы нужен для помещения файла во временное хранилище
   SkillUp
 
23 - 26.11.20 - 18:56
(22) Я уже думал, что ни кто не догадается. Но, есть люди...
   SkillUp
 
24 - 26.11.20 - 22:04
Ребят, спасибо! Передал УИД формы, типовой механизм автоматом создал НоменклатуруПрикрипленныеФайлы. Что мне и надо. Без этого УИД, не создавал документ.
   Kassern
 
25 - 27.11.20 - 09:05
(23)(22) нда....тут уж все разжевали, просто для помещения файла во временное хранилище никакой УИД не нужен. В данном случае он нужен именно для типовой процедуры в которой предусматривается возвращение ответа на форму, о чем и написали в (20) Только для этого и нужен этот УИД, а не как для помещения файла в хранилище.
   Kassern
 
26 - 27.11.20 - 09:06
(25) вы можете написать свою процедуру создания НоменклатураПрикрипленныеФайлы с загрузкой файла в хранилище без всякого УИДА.
   SkillUp
 
27 - 27.11.20 - 10:10
(26) Можно и свою, но попробуйте погуглить, как правильно создать док. - НоменклатураПрикрипленныеФайлы.  Вам будет ответ -0, и в конфигурации подобного нет. Даже форму открыть не возможно этого документа. За-то если разобраться, можно воспользоваться типовым механизмом , просто передав туда УИД формы... Он сам все создаст.
   SkillUp
 
28 - 27.11.20 - 10:28
(26) Все разобрался... Спасибо!
   SkillUp
 
29 - 27.11.20 - 10:37
(26) Согласен.
   singlych
 
30 - 27.11.20 - 11:53
(25) предлагаю посмотреть:
- в код той самой типовой процедуры, в которой предусматривается возвращение ответа на форму
- в СП в описание ПоместитьВоВременноеХранилище, как и какие УИДы там используются
- ну или хотя бы в описание параметров метода РаботаСФайламиКлиент.ДобавитьФайлы
 
 
   Kassern
 
31 - 27.11.20 - 12:21
(30) Ну да, так же используется для очистки данных во временном хранилище при закрытии формы.
   SkillUp
 
32 - 27.11.20 - 12:37
(30) // Открывает диалог выбора файлов для помещения в программу одного или нескольких файлов.
// При этом проверяются необходимые условия:

// - размер файла не превышает максимально допустимого,
// - файл имеет допустимое расширение,

// - имеется свободное место в томе (при хранении файлов в томах),
// - прочие условия.

//
// Параметры:

//  ВладелецФайла      - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - папка файлов или объект, к которому
//                       требуется прикрепить добавляемый файл.

//  ИдентификаторФормы - УникальныйИдентификатор - уникальный идентификатор формы, во временное хранилище
//                       которой будет помещен файл.

//  Фильтр             - Строка - фильтр выбираемого файла, например, картинки для номенклатуры.
//  ГруппаФайлов       - ОпределяемыйТип.ПрисоединенныйФайл - группа справочника с файлами, в которую будет 

//                       добавлен новый файл.
//  ОбработчикРезультата - ОписаниеОповещения - содержит описание процедуры, вызов которой будет произведен

//                       после добавления файлов со следующими параметрами:
//      * Результат - Массив - ссылки на добавленные файлы. Если файлы не были добавлены, пустой массив.

//      * ДополнительныеПараметры - Произвольный - значение, указанное при создании описания оповещения.
//

Процедура ДобавитьФайлы(Знач ВладелецФайла, Знач ИдентификаторФормы, Знач Фильтр = "", ГруппаФайлов = Неопределено,
    ОбработчикРезультата = Неопределено) Экспорт
    
    Параметры = Новый Структура;
    Параметры.Вставить("ВладелецФайла",        ВладелецФайла);
    Параметры.Вставить("ИдентификаторФормы",   ИдентификаторФормы);
    Параметры.Вставить("Фильтр",               Фильтр);
    Параметры.Вставить("ГруппаФайлов",         ГруппаФайлов);
    Параметры.Вставить("ОбработчикРезультата", ОбработчикРезультата);
    
    ОписаниеОповещения = Новый ОписаниеОповещения("ДобавитьФайлыРасширениеПредложено", РаботаСФайламиСлужебныйКлиент, Параметры);
    РаботаСФайламиСлужебныйКлиент.ПоказатьВопросОбУстановкеРасширенияРаботыСФайлами(ОписаниеОповещения);
    
КонецПроцедуры

Согласен, но если вызывать эту процедуру, то появляется вопрос с выбором файла, что мне при программном добавлении картинки не надо. Поэтому делаю свою структуру:
И добавляю параметр - "ПолноеИмяФайла".

ДополнительныеПараметры = Новый Структура;
            ДополнительныеПараметры.Вставить("ВладелецФайла",        Характеристика);
            ДополнительныеПараметры.Вставить("ИдентификаторФормы",   ИдентификаторФормы);
            ДополнительныеПараметры.Вставить("Фильтр",               Фильтр);
            ДополнительныеПараметры.Вставить("ГруппаФайлов",         ГруппаФайлов);
            ДополнительныеПараметры.Вставить("ОбработчикРезультата", ОбработчикРезультата);
            ДополнительныеПараметры.Вставить("ПолноеИмяФайла",       ПутьККартинке);
            
            РаботаСФайламиСлужебныйКлиент.ДобавитьФайлыРасширениеПредложено(Истина, ДополнительныеПараметры);


Вызываемой процедуры:

Процедура ДобавитьФайлыРасширениеПредложено(РасширениеРаботыСФайламиПодключено, ДополнительныеПараметры) Экспорт

Если Не ДополнительныеПараметры.Свойство("ПолноеИмяФайла") Тогда
            
ТекстПроцедуры...

ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
            ВыборФайла.МножественныйВыбор = Истина;
            ВыборФайла.Заголовок = НСтр("ru='Выбор файла';uk='Вибір файлу'");
            ВыборФайла.Фильтр = ?(ЗначениеЗаполнено(Фильтр), Фильтр, НСтр("ru='Все файлы';uk='Всі файли'") + " (*.*)|*.*");
            Если ВыборФайла.Выбрать() Тогда
                ВыбранныеФайлы = ВыборФайла.ВыбранныеФайлы;
            КонецЕсли;
        Иначе
            ВыбранныеФайлы.Добавить(ДополнительныеПараметры.ПолноеИмяФайла);
        КонецЕсли;

ТекстПроцедуры...

КонецПроцедуры;

Посути, я пошел по пути "РаботаСФайламиКлиент.ДобавитьФайлы", только немного изменив структуру параметров, чтоб избежать интеракт. вопросов.
   SkillUp
 
33 - 27.11.20 - 12:41
Конфигурация - УНФ.
   acht
 
34 - 27.11.20 - 12:59
РаботаСФайлами.ДобавитьФайлСДиска(ВладелецФайлов, ПутьКФайлуНаДиске)

Оно для лохов, понимаю
   SkillUp
 
35 - 27.11.20 - 13:31
(34) Где ты был раньше?!
   singlych
 
36 - 27.11.20 - 13:33
(34) Оно для файлов на сервере (я один читаю описания методов?). Промахнулся немного, там рядом есть РаботаСФайлами.ДобавитьФайл.

То, что делает ТС в (30) конечно, некоторый изврат. Методы из модулей с суффиксом Служебный как бы "приватные" и типа не предназначены для использования вне подсистемы. Все это приводит к выполнению бесполезного кода, который пытается обработать интерактивный выбор файлов, которого фактически не было. По идее, раз файлы известны, нужно помещать их в хранилище и юзать ДобавитьФайл, но тогда и весь обвес параметрами придется писать самому, и формы владельцев оповещать самому.
   SkillUp
 
37 - 27.11.20 - 13:42
(36) Блин, точно...


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.