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


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

Метки: внешние компоненты

RainBow : как получить ID поля даты документа?

Я
   Василий
23.04.04 - 14:54
Хочу сделить прямой SQL-запрос с использованием Rainbow.
не могу получить ID поля даты документа :(
Пробую так :

  ЗагрузитьВнешнююКомпоненту("Rainbow.dll");
  Мета=создатьОбъект("MetaDataWork");
  ИДДат="sp"+Мета.ИДРеквизитаШапки("ОказаниеУслугПациенту","ДатаДок")

а оно выдает ошибку. Кто работал с этой штукой? подскажите плз!!!
 
  Рекламное место пустует
   SnarkHunter
 
1 - 23.04.04 - 14:56
ДатаДок - это не реквизит шапки...
   Василий
2 - 23.04.04 - 15:04
А тогда как же?
   SnarkHunter
 
3 - 23.04.04 - 15:06
Ну начнем с того, что префикс SP используется для справочников...
   Василий
4 - 23.04.04 - 15:09
ну.. не только для справочников. Вот так же :
   ИДП="sp"+Мета.ИДРеквизитаШапки("ОказаниеУслугПациенту","Фамилия") ;
работает без проблем...

здесь SP - это наименование поля в таблице DHхх
   SnarkHunter
 
5 - 23.04.04 - 15:12
Согласен, протупил... Для справочников, конечно же SC...
   SnarkHunter
 
6 - 23.04.04 - 15:12
А дата документа хранится в журнале...
   Василий
7 - 23.04.04 - 15:13
Понимаешь, тут если через ЕМ в SQL базу ручками влезть, видно что требуется  поле SP138 таблицы DH27, но как это функциями Rainbow вытащить?
   Василий
8 - 23.04.04 - 15:20
опс.. теперь я протупил...
т.е. надо дёргать _1CJOURN ?
насколько я понимаю... там хранятся записи о всех документах системы?
   SnarkHunter
 
9 - 23.04.04 - 15:22
Так точно...
   Василий
10 - 23.04.04 - 15:27
Тогда такой вопрос. Зачем дублируется информация в полях IDDOC и DATE_TIME_IDDOC?
 
 
   SnarkHunter
 
11 - 23.04.04 - 15:28
По этим полям индексы имеются...
   Валентин
12 - 29.05.04 - 21:59
И попутно вопрос, каким образом сохранено время в поле DATE_TIME_IDDOC? Подскажите кто знает
   SnarkHunter
 
13 - 29.05.04 - 22:01
Тебя формат интересует?
   Валентин
14 - 29.05.04 - 22:07
Да. И если можно то поподробнее про время в 1С вообще. Можно и про получение периодических реквезитов sql-запросом (мой запрос сравнивающий дату и идентификатор документа медленно шевелиться)
   Волшебник
 
15 - 29.05.04 - 22:10
   SnarkHunter
 
16 - 29.05.04 - 22:16
Поле DATE_TIME_IDDOC - 23 символа:
1. Дата    - 8 символов - ГГГГММДД
2. Время   - 6 символов - кол-во секунд с начала суток * 10000 (по основанию 36)
3. ИД дока - 9 символов
   Валентин
17 - 29.05.04 - 22:19
Спасибо за формат.

А про запрос к периодическим реквизитам? Может какие идеи есть? Я слизал запрос указываемый 1С при работе с периодическими реквизитами, но как-то очень уж медленно все получается ...
   SnarkHunter
 
18 - 29.05.04 - 22:25
Что именно про запрос?
   Валентин
19 - 29.05.04 - 22:31
Есть периодический реквизит (его ид- 38, имя - ЦенаПриобретения) Есть репистр партии товаров и соответственно журнал документов (речь идет про ТиС)
select top 1 h.sp1131 as goodsId, h.idDoc as currentDoc, s.value from  ra1130 h, _1SConst s, _1SJournal t where s.objid=h.sp1131 and h.iddoc=t.iddoc and s.date<=convert(datetime,subdtring(DATE_TIME_IDDOC,1,4)+'-'+substring(DATE_TIME_IDDOC,5,2)+'-'+substring(DATE_TIME_IDDOC,7,2) and s.iddoc<=t.iddoc order by h.date
но вот это все очень медленно. Хотелось бы побыстрее
   Валентин
20 - 29.05.04 - 22:38
В смысле order by s.date (ночь все таки и субота опять же... спать хочу)
   SnarkHunter
 
21 - 29.05.04 - 22:49
Слушай... По-моему ты сам себя перехитрил... В таблице _1sJourn есть ведь поле DATE...
   Валентин
22 - 29.05.04 - 22:58
Поле date усть в константах (_1SConst) в _1SJourn если специльно не вводить лбщий реквизит шапки МояДатаДок нет упоминния о дате. Сейчас посмотрел представление времени. Бред. Или просто ночь. Но добавил проверку на время и рычаги увеличелись на 31% согласно профайлера.
Да кстати. У меня попутно вопрос. Почему часть идентификаторов в 36-ричной, а часть в 10-ричной системе? И зачем нужен этот зверь - 36-ричная система?
   SnarkHunter
 
23 - 29.05.04 - 23:21
(22)Согласен, прогнал... Глянул DD вместо DDS... :-)
По поводу систему счисления - считай, что так сложилось исторически...
Запросы, которые создает 1С при обращении к серверу нужно использовать в качестве пособия как НЕ нужно писАть запросы ИМХО...
Основные тормоза в твоем запросе дает convert скорее всего...
   SnarkHunter
 
24 - 29.05.04 - 23:25
(+23)В версии 7.5 была 74-ричная система, если я не путаю...
   Валентин
25 - 30.05.04 - 14:05
Всем спасибо за консультацию. Тормоза убираются очень эффективно если ввести дополнительную таблицу где уже разложено время, дата, ид. Довольно быстро и качественно. Всем спастбо еще раз
   SnarkHunter
 
26 - 30.05.04 - 14:14
Вдогонку...
Сравнение поля DATE_TIME_IDDOC и строки в формате 'ГГГГММДД' прекрасно работает...



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