|
v7: Найти объект по идентификатору | ☑ | ||
---|---|---|---|---|
0
MUXACb
30.09.11
✎
13:31
|
Добрый день.
Как можно найти объект по его заранее полученному идентификатору? Идентификатор получаю по алгоритму: Список = СоздатьОбъект("СписокЗначений"); Список.ДобавитьЗначение("",Объект); Список.ПолучитьЗначение(1,Стр); ID = _IdToStr(Стр); |
|||
1
PR
30.09.11
✎
13:32
|
_StrToId?
|
|||
2
Эльниньо
30.09.11
✎
13:37
|
ЗначениеВСтроку() и ЗначениеИзСтроки()
|
|||
3
MUXACb
30.09.11
✎
13:47
|
(1)
Объект = Поступление ТМЦ СТ00000002 (22.02.07) Стр = " 79 " _IdToStr(Стр) = " 27" _StrToId(" 27") = 79 (2) ЗначениеВСтроку(Объект) = "{"Документ","ПоступлениеТМЦ","СТ00000002","22.02.2007"}" ЗначениеИзСтроки("{"Документ","ПоступлениеТМЦ","СТ00000002","22.02.2007"}") = Ошибка в выражении! ЗначениеИзСтроки(ЗначениеВСтроку(Объект) ) = Поступление ТМЦ СТ00000002 (22.02.07) ЗначениеИзСтроки(СтрЗаменить("{"Документ","ПоступлениеТМЦ","СТ00000002","22.02.2007"}", """, """") = Ошибка в выражении! Даже если заработает - очень длинная строка. Как быть если поменяют номер или дату документа? ID объекта записывается в SQL базу. |
|||
4
Mikeware
30.09.11
✎
13:48
|
ЗначениеВСтрокуВнутр() и наеборот....
|
|||
5
MUXACb
30.09.11
✎
13:56
|
(4)
ЗначениеВСтрокуВнутр(Объект) = "{"O","0","0","1582","0","0"," 79 "}" ЗначениеИзСтрокиВнутр("{"O","0","0","1582","0","0"," 79 "}") = Ошибка в выражении! ЗначениеИзСтрокиВнутр("{""O"",""0"",""0"",""1582"",""0"",""0"","" 79 ""}") = Поступление ТМЦ СТ00000002 (22.02.07) ЗначениеИзСтрокиВнутр(СтрЗаменить("{"O","0","0","1582","0","0"," 79 "}", """, """")) = Ошибка в выражении! Чем добавлять дополнительные кавычки? СтрЗаменить не отрабатывает. |
|||
6
Mikeware
30.09.11
✎
13:59
|
(5) Во-первых, все отрабатывает. Во-вторых, что у тебя есть? в третьих,что хочешь получить? в четвертых, ТКВ®
|
|||
7
1Сергей
30.09.11
✎
14:13
|
(5) """" = "
|
|||
8
MUXACb
30.09.11
✎
14:16
|
(5) Есть база ТиС
Часть данных нужно передавать в SQL и забирать оттуда(есть набор таблиц). Нужно передавать и получать уникальные идентификаторы объектов(справочники, документы) для синхронизации объектов |
|||
9
filh
30.09.11
✎
14:18
|
как то в прошлом поднималась такая тема еще в кв проде занесли...
|
|||
10
Mikeware
30.09.11
✎
14:29
|
(8) Программист без знания русского языка? :-)
----------- вообще, уникальный ив - это седьмой параметр. Только учитывай, что для документов онн уникален для всех типов, а для справочников - в пределах вида. |
|||
11
MUXACb
30.09.11
✎
14:32
|
(8) Как по значению седьмого параметра можно получить ссылку на объект в базе 7.7?
|
|||
12
MUXACb
30.09.11
✎
14:32
|
(8) -> (10)
|
|||
13
Mikeware
30.09.11
✎
14:41
|
(12) Я вроде по-русски написал, что нужно знать еще и тип и вид объекта...
Для агрегатных типов ЗначениеВСтрокуВнутр(Объект) = "{<ТипОбъекта>,"0","0",<ВидОбъекта>","0","0",<ИдОбъекта>}" Ну и наеборот Объект = ЗначениеИзСтрокиВнутр("{<ТипОбъекта>,"0","0",<ВидОбъекта>","0","0",<ИдОбъекта>}") |
|||
14
FN
30.09.11
✎
14:56
|
Если религия не мешает, то можно заюзать 1С++
МетаДатаВорк=СоздатьОбъект("MetaDataWork"); ЗначениеВСтрокуБД(<Object>) ЗначениеИзСтрокиБД(<TypeKind>,<KindVal>,<strVal>) |
|||
15
Mikeware
30.09.11
✎
15:00
|
(14) Все равно нужно знать тип. Даже для ЗначениеВДлиннуюСтрокуБД()-ЗначениеИзДлиннойСтрокиБД()
|
|||
16
MUXACb
30.09.11
✎
15:20
|
Спаибо за помощь! Буду пробовать предложенные варианты
|
|||
17
Torquader
01.10.11
✎
16:57
|
(13) Тип объекта - одна буква для хранимых в базе объектов, а ВидОбъекта и ИдОбъекта - просто числа, если не считать трёх символов кода УРБД в конце Ид, который в нераспределённой базе содержит три пробела.
Также можно встретить объекты общего вида (документы и справочники), у которых ВидОбъекта=0, а в записи ИдОбъекта записаны вид и ид объекта просто подряд (10 символов вид, 10 символов Ид и три символа код базы). |
|||
18
Torquader
01.10.11
✎
16:59
|
(17)Всё это было написано для того, чтобы объяснить, что для сохранения ссылки на объект достаточно 24 символа (можно меньше, если числа перегнать в строки с помощью IdToStr)
|
|||
19
smaharbA
01.10.11
✎
17:14
|
(17) не бывает такого когда ИДВида=0
.ТекущийДокумент() .ТекущийЭлемент() Рулят ! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |