Имя: Пароль:
   
1C
 
Выгрузка таблицы с индентификатором ROW_ID...
0 Udjin
 
23.04.04
12:50
Можно ли написать стандартную обработку с помощью 1С (например выгрузка справочника), которая бы выгружала значение ROW_ID записи тоже?
1 Udjin
 
23.04.04
12:57
1С v.7.7
2 skunk
 
23.04.04
13:30
вроде можно... имхо через метеданные...
3 SnarkHunter
 
23.04.04
13:34
(2)Не прав...
4 skunk
 
23.04.04
13:38
(3)я не утверждал... так то ли слыхал... толи видал....
5 Udjin
 
23.04.04
18:02
жаль, что никто не знает. Пока мне это выяснить не удалось. А наши 1С-ники с этим не сталкивались. Пока только вижу выход - добавлять средствами 1С дополнительное поле - автоинкрементное и уже его потом выгружать....
6 Gavrila
 
23.04.04
20:26
ИМХО: анализируя DD и напрямую из DBF
7 skunk
 
24.04.04
00:03
(6)ну dd тут вообще ни каким боком...
8 skunk
 
24.04.04
02:47
valuetostringinternal(object)

для справочника выдает, что-то типа {"B","0","0","84","0","0","     27425   "}

первное:
что "В" - справочник
   "О" - документ     (скорее всего... не проверял)

второе, третье - фих его знает

четвертое
тип объекта... справочник.номенклатуры sc84

пятое, шестое - фих его знает

седьмое - и есть id объекта
9 skunk
 
24.04.04
02:48
+8 за седьмое проверено на справочниках и документах
10 skunk
 
24.04.04
02:50
для преобразования десятичного в тридцатишестеричную иметь
_idtostr(string)

_idtostr("27425") = "L5T"
11 SnarkHunter
 
25.04.04
20:58
Все, что сказано относится к полю ID, человек спрашивал про поле ROW_ID, которое имеется только в таблицах при работе под SQL-сервером... Непонятно, правда, на кой они ему...
12 skunk
 
25.04.04
23:39
может быть... я понял, что ей нужно... имено ид объекта...

вообщето не разу скульную базу не смотрел... так сказать изнутри... думал, что row_id(sql) = id(dbf)
13 Udjin
 
26.04.04
15:13
В sql-версии есть и ROW_ID и просто ID.
ROW_ID - инкрементный счетчик за него сам sql-сервер отвечает и он уникальный.
А поводу поля ID такой уверенности нет (понятно что двух одинаковых ID быть не может, но... К примеру, если запись была удалена, то может ли ее ID в будущем все же появиться в этой таблице?)

to SnarkHunter: мне уникальный идентификатор нужен для выборки данных из 1С в  хранилище, вернее для отслеживания изменений...

to skunk: функцию valuetostringinternal(object) нашла, но распознать что конкретно она выдает опытным путем не удалось. Так что Ваши комментарии были очень кстати, надо подумать как это можно использовать.
14 SnarkHunter
 
26.04.04
15:15
ID уникален, за него 1С отвечает...
15 skunk
 
26.04.04
15:30
а что мешает поиметь прямой запрос к SQL
16 skunk
 
26.04.04
15:31
17 SnarkHunter
 
26.04.04
15:32
Кстати, ROW_ID имеется далеко не во всех таблицах...
18 Udjin
 
26.04.04
15:46
to skunk:
Напрямую нельзя... Требование стоит - выгрузка средствами 1С :(

to SnarkHunter:
Там где ROW_ID нет, придется создавать средствами 1С дополнительное поле и на сервере выставлять ему свойство Identity
19 SnarkHunter
 
26.04.04
15:50
(18)См. (14)...
20 Udjin
 
26.04.04
16:03
to SnarkHunter:
не во всех таблицах есть и уникальный ID. Регистры например....
21 SnarkHunter
 
26.04.04
16:30
Регистры и документы - близнецы-братья...
22 Udjin
 
26.04.04
17:17
(21):
И что из этого следует?
У таблиц документов IDDOC - ключевой поле, а у регистров - нет...
23 SnarkHunter
 
26.04.04
17:24
Как насчет составного первичного ключа?
24 427
 
26.04.04
18:40
Во всех таблицах есть .... что поесть ....
напрмер, уникальные ИД, созданные 1С....
25 Udjin
 
27.04.04
10:21
(23) В том то и дело, что составной не пойдет...
26 SnarkHunter
 
27.04.04
10:29
Why?
27 Udjin
 
27.04.04
11:21
(26) Ну так вот :)
Для выборки неудобно, занимает больше места, требует больше времени на обрабоку, да и неинформативен составной ключ в нашем случае для хранилища.
Плюс всегда есть вероятность того, такой ключ уникален только среди существующих полей записей таблицы, а не среди всего множества КОГДА-ЛИБО бавших записей в таблице.
Плюс, поле типа счетчик гораздо приятнее в работе...

P.S. A'm sorry, that I did't write my answer in English :)
Независимо от того, куда вы едете — это в гору и против ветра!