0
- 03.10.2016 - 05:19
|
Необходимо получить уникальное представление интерфейса. В виде ГУИД, или любом другом. Наименование не подходит, т.к. может быть изменено. ЗначениеВСтрокуВнутр() для любого интерфейса возвращает одинаковое значение. | | |
1
- 03.10.2016 - 06:50
| А зачем менять наименование интерфейса? В чем сакральный смысл ? | | |
2
- 03.10.2016 - 06:54
|
Хм. Ну если так думать, то можно додумать до того, что вообще зачем что-то менять? Ну а вдруг придётся? И на самом деле меня интересует возможность получения уникального идентификатора объекта метаданных. Можете что-нибудь подсказать по теме? | | |
3
- 03.10.2016 - 07:31
|
(0) Уверен, что именно "объекта"? вообще-то, у всех прикладных объектов есть метод УникальныйИдентификатор(), получаемый через ссылку на объект, а вот у интерфейса, а именно у управляемой формы, есть свойство с тем же именем: УправляемаяФорма (ManagedForm) УникальныйИдентификатор (UUID) Использование: Только чтение. Описание: Тип: УникальныйИдентификатор. Уникальный идентификатор экземпляра формы. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер). | | |
4
- 03.10.2016 - 07:40
|
Определился способ получения внутренних идентификаторов любого объекта конфигурации. Навела на мысль функция конфигурации "Выгрузить файлы конфигурации...". Вся конфигурация вываливается в XML-файлы. Проблема в том, что не могу создать нужный тип данных XDTO. МассивИмен = Новый Массив; МассивИмен.Добавить("http://v8.1c.ru/8.3/MDClasses"); ПакетыХДТО = ФабрикаXDTO.ЭкспортСхемыXML(МассивИмен); ФабрикаХДТО = Новый ФабрикаXDTO(ПакетыХДТО); ЗаписьХМЛ = Новый ЗаписьXML; ЗаписьХМЛ.ОткрытьФайл("C:\test.xml"); ТипХМЛ = ФабрикаХДТО.Тип("http://v8.1c.ru/8.3/MDClasses","MetaDataObject.Interface"); ТипХДТО = ФабрикаХДТО.Создать(ТипХМЛ); ТипХМЛ возвращается равным "Неопределено". При экспорте пакетов XDTO возвращается пустой набор схем. Есть у кого-нибудь файл с данной схемой? | | |
5
- 03.10.2016 - 07:43
| Цитата:
А меня интересует уникальный идентификатор объекта конфигурации "Интерфейс". Он находится в ветке конфигурации "Общие" - "Интерфейсы". | | |
6
- 03.10.2016 - 07:57
| По моему имя интерфейса и есть его уникальный идентификатор ) И не надо его менять ) Может конечно и есть внутри конфиги и UID интерфейса, но хоть убей не вижу в нем прикладного значения для программиста. Вам для чего это надо ?) UID других объектов метаданных тоже как то используете ? | | |
7
- 03.10.2016 - 08:06
|
На моей практике приличное число раз менял имена объектов метаданных (не интерфейсов, правда), чтобы имена соответствовали пользовательскому представлению. В основном, конечно, отчеты и обработки, но были и документы, и справочники. Не дам гарантии, что не будут изменены названию интерфейсов. Поэтому завязываться на имя, ну для меня это крайний вариант, который задействовать не хочу. Тем более, что есть возможность получить все-таки идентификатор. | | |
8
- 03.10.2016 - 08:21
| (7)Понятно, что изменить можно что угодно, но по моему Вы неправы, так как имя документа, справочника, интерфейса - это и есть уникальный идентификатор для прикладного разработчика, это не код элемента справочника, и не номер документа. Вы же пишете запрос и не боитесь написать "РеализацияТоваровУслуг" в страхе, что имя этого документаизменится | | |
9
- 03.10.2016 - 08:25
| Вам также может прийти в голову удалить интерфейс и создать его заново, в этом случае его GUID изменится. На мой взгляд Вы затеяли совершенно пустое дело ) Может я и неправ. Поменяете имя интерфейса, поменяете и модули, где на него ссылки. Не так уж и часто приходится ссылаться на интерфейсы. Но сама 1С не стесняется писать именно их имена ) | | |
10
- 03.10.2016 - 08:33
| Цитата:
И не согласен, когда речь идет про НЕтиповой функционал. Здесь как захочет заказчик (или архитектор БД в лице меня). Поэтому я считаю целесообразным завязаться именно на уникальный идентификатор. | | |
11
- 04.10.2016 - 07:24
| (5) Ты некромант? Завязывай програмить "обычное приложение". В управляемом приложении уже нет общего объекта "Интерфейс". | | |
12
- 04.10.2016 - 08:44
| )))) Не говорите это тем, у кого УПП, знатно переписанная "под себя". | | |
13
- 04.10.2016 - 11:38
| 12-WAR > Если "под себя", то откуда пламенная страсть знать ГУИД интерфейса? | | |
14
- 04.10.2016 - 12:06
| Цитата:
Заодно узнать, как узнать внутренний ИД объекта, простите за тавтологию. | | |
15
- 04.10.2016 - 13:13
|
дурь это, а не желание решить задачу. Мы и задачу то не услышали, может и не надо ее решать, особенно таким способом. Упертость далеко не всегда полезна. Представляю тексn модуля : Если UIDИнтерфейса = "a29ef903-a27a-4d34-ae00-0cd5d219c0e7" Тогда ... Жесть ))) Так хочет архитектор БД ) | | |
16
- 04.10.2016 - 14:50
| И далее перебор всех возможных вариантов? Платят за строки кода? | | |
17
- 04.10.2016 - 20:34
|
(15)+100500 :) (0) По поводу GUID уясни для себя одну простую весчь: 1. Метод "УниверсальныйИдентификатор" доступен только у ссылок на прикладные объекты конфигурации (не у всех), т.е. на те объекты, которые могут быть созданы пользователем изнутри самой БД и представляют собой данные, наполняющие эту БД. Объекты самой конфигурации не могут иметь GUID, т.к. это не имеет смысла, доступ к ним осуществляется по уникальным именам, как они заданы в метаданных. Если ты это имя меняешь, то меняй и код программы. 2. Помимо метода "УниверсальныйИдентификатор" есть ещё общий объект с тем же именем, а также есть свойство у управляемой формы. Вот, собственно, и всё. | | |
18
- 05.10.2016 - 06:57
| Цитата:
Грубо говоря есть вопрос, на который я пока не знаю ответ, я уверен, что он есть. И я его нашёл. (17) Я, наверное, открою для Вас Америку, но уникальные индетификаторы имеются не только у объектов ссылочных типов (элементы справочников, документы и т.п.), но и у абсолютно всех объектов метаданных. У некоторых их можно вытащить без проблем; у некоторых с проблемами, но возможно; у некоторых пока не знал как, теперь знаю. | | |
19
- 05.10.2016 - 09:50
| (18)Удачи Вам ) Ищите и обрящете. Вытаскивайте, затаскивайте, утаскивайте. Вы глухой человек. Упертый, не приведщий ни одного аргумента в свою пользу, а потом мне лично неинтересный. Ничего личного. Но все таки совет - займитесь реальными задачами | | |
20
- 05.10.2016 - 09:51
| в том то и дело, что Вам нужна помощь психоаналитика. Вы зациклились)) | | |
21
- 05.10.2016 - 10:35
|
(19) Как это типично для "специалистов": не понять сути, попытаться перевести разговор в другую плоскость, всё обосрать и сбежать. Ну и Вам, в таком случае, удачи. | | |
22
- 05.10.2016 - 11:01
| никто ничего не обсирал. Сути проблемы не было, так проблемы ваще не было. Вы же так и не сказали зачем Вам это надо, может можно все иначе разрулить. Ну то что что мы специалисты в кавычках, ну что тут поделать. Главное Вам в кавычки не попасть. Но Вы занимаетесь херней, а не задачи решаете) Не завидую Вашему УПП который весь под себя ) УПП под себя - это уже некоторый диагноз | | |
23
- 05.10.2016 - 11:04
| и еще раз для непонятливых - имя интерфейса - это и есть его уникальный идентификатор. Также как и вида справочника, документа, регистра сведений, накоплений и тд. Продолжайте упираться рогом ) | | |
24
- 05.10.2016 - 11:11
|
Уважаемый USSR, если для вас суть проблемы "получить внутренний идентификатор объекта метаданных, конкретно: интерфейса" это не суть проблемы, то сочинения писать я не собираюсь. Как и не хочу объяснять зачем мне это надо. Если бы было не надо, поверьте, я бы не стал дурью маяться, и спрашивать совета просто ради того, чтобы спросить. Есть конкретный вопрос - нужен конкретный ответ. Знаете ответ - напишите. Не знаете ответа - не пытайтесь начать срач. Как и не пытайтесь играть в Кашпировского и ставить диагнозы на расстоянии. | | |
25
- 05.10.2016 - 11:13
| Вы выгрузите конфигурацию в XML. Тогда увидите, что такое уникальный идентификатор. | | |
26
- 05.10.2016 - 11:16
| (25)я ж не говорю что его нет ) Просто он никому даром не нужен с точки зрения его практической пользы. Вы немножко ...встряхнитесь...Может и Вам не нужен ?) | | |
27
- 05.10.2016 - 11:31
|
(26) - Видишь суслика? - Нет. - А он есть. Это по поводу практической пользы. Если Вы не видите её, это не значит что она отсутствует. Мне на практике несколько раз приходилось несколько раз копаться в истории изменения конфигураций с анализом древних cf-шников (опять спросите - зачем?). Опять же сталкивался с изменением названий нетиповых объектов метаданных (документы, справочники и регистры). Если опираться только на название - как вы узнаете как раньше назывался тот или иной объект? | | |
28
- 05.10.2016 - 11:43
| Действительно, забавная история :) Забавная, когда надо узнавать как эту нетиповую бобоську называл предыдущий архитектор. Вообще раньше считалось хорошим тоном озвучивать найденное решение. | | |
29
- 05.10.2016 - 11:48
| Мне кажется автору хочется разбирать конфигурацию 1с как контейнер. Тут нужны внешние инструменты. На инфостарте было несколько штук с описаниями, что откуда выковыривается. | | |
30
- 05.10.2016 - 11:55
|
(28) Пока всё на уровне идеи, но практически на 100% уверен, что сработает. Сделать свою XSD схему, по ней выгрузить интересующий объект метаданных. Полученный результат открываем через DOM-модель, получаем некий абстрактный объект с набором свойств. Забираем значений свойства UUID. Попробовал на основе данных выгрузки конфигурации в файлы создать XSD схему = не взлетело. Ругается на неверное описание схемы. Времени нет сейчас с этим поплотнее повозиться, на выходных думаю заняться. Решение (если получится) опубликую здесь. (29) Вы в общем правы. Один внешний инструмент точно есть - выгрузка конфы в файлы. Потом хоть заанализироваться можно. ))) Но гораздо интереснее все получать из кода. | | |
31
- 05.10.2016 - 12:30
| считаю излишним озвучивать ответ на вопрос ТС | | |
32
- 05.10.2016 - 12:32
| Ну вот и тролли, наконец, подтянулись. | | |
33
- 05.10.2016 - 12:36
| | ||
34
- 05.10.2016 - 12:52
| я угадаю этот ответ с 7 букв... | | |
35
- 05.10.2016 - 12:58
| Ответ: "Я не знаю" - 7 букв )))) | | |
36
- 05.10.2016 - 13:12
| (35) ответ неверный - не учтены пробелы. Они тоже знаки | | |
37
- 05.10.2016 - 14:32
| Теперь мне по ночам будет снится огромный суслик с 36 разрядным, уникальным именем его вида )) | | |
38
- 05.10.2016 - 14:55
| megalonoctarodentis existencialae U. | |
| Интернет-форум Краснодарского края и Краснодара |