|
Выгрузка таблицы с индентификатором 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
|
вот пример http://www.perlscript.ru/v77_27.shtml
|
|||
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 :) |
Форум | Правила | Описание | Реклама | Секции | Поиск | Книга знаний | Вики-миста |