|
v7: GUID в 7 | ☑ | ||
---|---|---|---|---|
0
dan4ik
22.04.13
✎
06:19
|
Приветствую, как получить Уникальный идентификатор объекта в 1с 7.7?
|
|||
1
dan4ik
22.04.13
✎
06:20
|
Подобие 8, Выборка.Ссылка.УникальныйИдентификатор()
|
|||
2
Wobland
22.04.13
✎
06:23
|
ты ветку завёл, чтобы удобней было красную Я нажимать?
http://help1c.com/faq/view/552.html |
|||
3
el-gamberro
22.04.13
✎
06:26
|
ЗначениеВСтрокуВнутр()
где-то в строке ИД-шник есть |
|||
4
dan4ik
22.04.13
✎
06:30
|
Получается так ЗначениеВСтрокуВнутр(Документ.ТекущийДокумент())??
|
|||
5
Wobland
22.04.13
✎
06:31
|
(4) выходит, где-то там
|
|||
6
dan4ik
22.04.13
✎
06:33
|
Мда...) Спасибо за помощь)
|
|||
7
el-gamberro
22.04.13
✎
06:37
|
(6) там не вся строка УИД, а только кусок, точнее самый последний параметр в строке.
|
|||
8
Рэйв
22.04.13
✎
06:57
|
Функция ПолучитьИД(Нечто)
Перем Стр; Если ПустоеЗначение(Нечто)=1 Тогда Возврат "не выбран объект"; КонецЕсли; Ид=СтрЗаменить(СтрЗаменить(ЗначениеВСтрокуВнутр(Нечто),",",РазделительСтрок),"""",""); Ид=СтрЗаменить(Ид,"{",""); Ид=СтрЗаменить(Ид,"}",""); ТбКод=Прав(СтрПолучитьСтроку(Ид,7),3); ТбИд=_IdToStr(СтрПолучитьСтроку(Ид,7)); ТбИдЧисло=ТбИд+ТбКод; IDD=СокрЛП(ТбИдЧисло); Возврат IDD; КонецФункции |
|||
9
Aleksey
22.04.13
✎
07:36
|
(8) Так короче
Функция ПолучитьID(Объект) Экспорт Перем Стр; Стр=ЗначениеВСтрокуВнутр(Объект); СЗ=СоздатьОбъект("СписокЗначений"); СЗ.ИзСтрокиСРазделителями(Сред(Стр,2,СтрДлина(Стр)-2)); Возврат сокрЛП(_IdToStr(СЗ.ПолучитьЗначение(СЗ.РазмерСписка()))); КонецФункции |
|||
10
ЧеловекДуши
22.04.13
✎
07:45
|
Короче, так
Функция ПолучитьДокументПоИдДок(РеквВидИдДок) Перем Мета; Перем Рез; Мета=СоздатьОбъект("MetaDataWork"); Рез = Мета.ЗначениеИзДлиннойСтрокиБД("Документ",СтрЗаменить(Лев(РеквВидИдДок,13),"%"," ")); Возврат Рез; КонецФункции // ПолучитьДокументПоИдДок(РеквВидИдДок) Функция ПолучитьID_1СПП(ТекЭлем,ЧислоБукв) Перем Рез; Перем Мета; Рез = ""; Мета = СоздатьОбъект("MetaDataWork"); Если ЧислоБукв = 9 Тогда Рез = Мета.ЗначениеВСтрокуБД(ТекЭлем); ИначеЕсли ЧислоБукв = 13 Тогда Рез = Мета.ЗначениеВДлиннуюСтрокуБД(ТекЭлем); ИначеЕсли ЧислоБукв = 23 Тогда Рез = Мета.ЗначениеВСамуюДлиннуюСтрокуБД(ТекЭлем); ИначеЕсли ЧислоБукв = 3 Тогда Рез = Прав(Мета.ЗначениеВСтрокуБД(ТекЭлем),3); ИначеЕсли ЧислоБукв = 6 Тогда Рез = Лев(Мета.ЗначениеВСтрокуБД(ТекЭлем),6); КонецЕсли; Рез = СтрЗаменить(Рез," ","%"); Возврат Рез; КонецФункции // ПолучитьID_1СПП(ТекЭлем,13) |
|||
11
Aleksey
22.04.13
✎
07:55
|
(10) В каком место твоя портянка требующая наличия дополнительных не штатных ВК короче?
|
|||
12
ЧеловекДуши
22.04.13
✎
07:58
|
(11) Чего? Сам ты партянка, это халявный 1С++
И неважно, что база будет ДБФ и не будет использоваться интерфейсный механизм запросов. Просто по скорости получения ИД, этот самый быстрый :) |
|||
13
Aleksey
22.04.13
✎
08:01
|
(12) Еще раз это штатная ВК? Нет? Тогда до свидание
|
|||
14
Rie
22.04.13
✎
08:07
|
(13) А что, можно пользоваться только штатными ВК? Сама концепция ВК как бы намекает, что их могут писать и другие люди.
|
|||
15
ЧеловекДуши
22.04.13
✎
08:15
|
(13) Да и не смотри... я твои штатные Шатал.
Не для тебя пишу :) |
|||
16
Рэйв
22.04.13
✎
08:15
|
(14)Так не факт что у ТС эта вк подключена.
|
|||
17
Rie
22.04.13
✎
08:21
|
(16) Тут два момента:
1. Кто мешает подключить? 2. Если нужен уникальный ID - то что с ним ТС собирается делать? "Штатные" средства 1С им пользуются невидимо для программиста. |
|||
18
Aleksey
22.04.13
✎
08:27
|
(14) Другие <> не все. У некоторых по разным причинам их может и не быть
|
|||
19
vde69
22.04.13
✎
08:29
|
(17) представь справочник огромный, нужно найти 1 элемент зная его ID, делается это заменой строки и потом СтрокаВнутрВЗначение() работает на ура быстрее любых прямых запросов....
|
|||
20
Aleksey
22.04.13
✎
08:29
|
(17)
1. Причин много, начина от религии и заканчивая параноей у руководства/админа 2. ТОже что и 1С с ним делает, т.е. для идентификации объекта. Внезапно да? |
|||
21
Rie
22.04.13
✎
08:36
|
(19) С этим согласен. Но это уже предполагает знание того, как построить аргумент для ЗначениеИзСтрокиВнутр - а в таком случае вопрос (0) просто не возникнет.
|
|||
22
Rie
22.04.13
✎
08:43
|
(20) Ну, религия - это дело личное. Но если паранойя у руководства - тут, согласен, действительно могут возникнуть проблемы. (Что не повод априори всем "нештатным" ВК говорить "до свиданья". Как пример - АТОЛовские ВК считать штатными или нет? Или Штриховские?).
|
|||
23
ЧеловекДуши
22.04.13
✎
08:47
|
(16) Это уже решать ТС, может он одумается и пристрастится к прекрасному :)
А вот ему (0) Еще и обработочка для удобной регистрации ВК: http://yadi.sk/d/aR0fed5Y4EpN9 Там же и ВК лежат :) |
|||
24
Ковычки
22.04.13
✎
09:02
|
СтрокаДействийФормы=Объект;
Сообщить(СтрокаДействийФормы); |
|||
25
Ковычки
22.04.13
✎
09:05
|
(9)
Функция глПолучитьОбъектИД(Объект) Экспорт // Функция получает ИД объекта // Объект - объект метаданных Перем Сп,Стр; Сп=СоздатьОбъект("СписокЗначений"); Сп.ДобавитьЗначение("",Объект); Сп.ПолучитьЗначение(1,Стр); Возврат Число(Стр); КонецФункции // глПолучитьИДОбъекта //------------------------------------------------------------------------- Функция глПолучитьВидИД(Объект="") Экспорт // Функция получает ИД вида объекта // Объект - объект метаданных Перем Сп,Тип; Тип=ТипЗначения(Объект); Если Тип=2 Тогда Тмп=ПолучитьПустоеЗначение(Объект); ИначеЕсли Тип=12 Тогда Тмп=ПолучитьПустоеЗначение("Документ."+Объект.Вид()); ИначеЕсли Тип=11 Тогда Тмп=ПолучитьПустоеЗначение("Справочник."+Объект.Вид()); ИначеЕсли Тип=10 Тогда Тмп=ПолучитьПустоеЗначение("Справочник."+Объект.Вид()); ИначеЕсли Тип=15 Тогда Тмп=ПолучитьПустоеЗначение("Счет."+Объект.Вид()); ИначеЕсли Тип=1 Тогда Возврат Объект; КонецЕсли; Сп=СоздатьОбъект("СписокЗначений"); Сп.ИзСтрокиСРазделителями(ЗначениеВСтрокуВнутр(Тмп)); Возврат Число(Сп.ПолучитьЗначение(4)); КонецФункции // глПлучитьВидИД(Объект) |
|||
26
Mikeware
22.04.13
✎
09:32
|
(19) а зачем тут прямой запрос?
собственно, действия системы будут аналогичны что при ЗначениеИзСтрокиБД, что при формировании из внутреннего представления ЗначениеИзСтрокиВнутр() ----- а вообще, к ТС - ТрадиционныйКитайскийВопрос™ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |