Вход | Регистрация


1С:Предприятие ::

Метки: 

Выгрузка таблицы с индентификатором ROW_ID...

Я
   Udjin
 
23.04.04 - 12:50
Можно ли написать стандартную обработку с помощью 1С (например выгрузка справочника), которая бы выгружала значение ROW_ID записи тоже?
 
 
   Udjin
 
1 - 23.04.04 - 12:57
1С v.7.7
   Udjin
 
5 - 23.04.04 - 18:02
жаль, что никто не знает. Пока мне это выяснить не удалось. А наши 1С-ники с этим не сталкивались. Пока только вижу выход - добавлять средствами 1С дополнительное поле - автоинкрементное и уже его потом выгружать....
   Gavrila
 
6 - 23.04.04 - 20:26
ИМХО: анализируя DD и напрямую из DBF
   skunk
 
8 - 24.04.04 - 02:47
valuetostringinternal(object)

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

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

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

четвертое
тип объекта... справочник.номенклатуры sc84
пятое, шестое - фих его знает

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

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

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

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

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

P.S. A'm sorry, that I did't write my answer in English :)



Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует