|
|
|
RainBow : как получить ID поля даты документа? | ☑ | ||
|---|---|---|---|---|
|
0
Василий
23.04.04
✎
14:54
|
Хочу сделить прямой SQL-запрос с использованием Rainbow.
не могу получить ID поля даты документа :( Пробую так : ЗагрузитьВнешнююКомпоненту("Rainbow.dll"); Мета=создатьОбъект("MetaDataWork"); ИДДат="sp"+Мета.ИДРеквизитаШапки("ОказаниеУслугПациенту","ДатаДок") а оно выдает ошибку. Кто работал с этой штукой? подскажите плз!!! |
|||
|
1
SnarkHunter
23.04.04
✎
14:56
|
ДатаДок - это не реквизит шапки...
|
|||
|
2
Василий
23.04.04
✎
15:04
|
А тогда как же?
|
|||
|
3
SnarkHunter
23.04.04
✎
15:06
|
Ну начнем с того, что префикс SP используется для справочников...
|
|||
|
4
Василий
23.04.04
✎
15:09
|
ну.. не только для справочников. Вот так же :
ИДП="sp"+Мета.ИДРеквизитаШапки("ОказаниеУслугПациенту","Фамилия") ; работает без проблем... здесь SP - это наименование поля в таблице DHхх |
|||
|
5
SnarkHunter
23.04.04
✎
15:12
|
Согласен, протупил... Для справочников, конечно же SC...
|
|||
|
6
SnarkHunter
23.04.04
✎
15:12
|
А дата документа хранится в журнале...
|
|||
|
7
Василий
23.04.04
✎
15:13
|
Понимаешь, тут если через ЕМ в SQL базу ручками влезть, видно что требуется поле SP138 таблицы DH27, но как это функциями Rainbow вытащить?
|
|||
|
8
Василий
23.04.04
✎
15:20
|
опс.. теперь я протупил...
т.е. надо дёргать _1CJOURN ? насколько я понимаю... там хранятся записи о всех документах системы? |
|||
|
9
SnarkHunter
23.04.04
✎
15:22
|
Так точно...
|
|||
|
10
Василий
23.04.04
✎
15:27
|
Тогда такой вопрос. Зачем дублируется информация в полях IDDOC и DATE_TIME_IDDOC?
|
|||
|
11
SnarkHunter
23.04.04
✎
15:28
|
По этим полям индексы имеются...
|
|||
|
12
Валентин
29.05.04
✎
21:59
|
И попутно вопрос, каким образом сохранено время в поле DATE_TIME_IDDOC? Подскажите кто знает
|
|||
|
13
SnarkHunter
29.05.04
✎
22:01
|
Тебя формат интересует?
|
|||
|
14
Валентин
29.05.04
✎
22:07
|
Да. И если можно то поподробнее про время в 1С вообще. Можно и про получение периодических реквезитов sql-запросом (мой запрос сравнивающий дату и идентификатор документа медленно шевелиться)
|
|||
|
15
Волшебник
29.05.04
✎
22:10
|
См. также: http://1csql.udmnet.ru/toysql/index.shtml
|
|||
|
16
SnarkHunter
29.05.04
✎
22:16
|
Поле DATE_TIME_IDDOC - 23 символа:
1. Дата - 8 символов - ГГГГММДД 2. Время - 6 символов - кол-во секунд с начала суток * 10000 (по основанию 36) 3. ИД дока - 9 символов |
|||
|
17
Валентин
29.05.04
✎
22:19
|
Спасибо за формат.
А про запрос к периодическим реквизитам? Может какие идеи есть? Я слизал запрос указываемый 1С при работе с периодическими реквизитами, но как-то очень уж медленно все получается ... |
|||
|
18
SnarkHunter
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 (ночь все таки и субота опять же... спать хочу)
|
|||
|
21
SnarkHunter
29.05.04
✎
22:49
|
Слушай... По-моему ты сам себя перехитрил... В таблице _1sJourn есть ведь поле DATE...
|
|||
|
22
Валентин
29.05.04
✎
22:58
|
Поле date усть в константах (_1SConst) в _1SJourn если специльно не вводить лбщий реквизит шапки МояДатаДок нет упоминния о дате. Сейчас посмотрел представление времени. Бред. Или просто ночь. Но добавил проверку на время и рычаги увеличелись на 31% согласно профайлера.
Да кстати. У меня попутно вопрос. Почему часть идентификаторов в 36-ричной, а часть в 10-ричной системе? И зачем нужен этот зверь - 36-ричная система? |
|||
|
23
SnarkHunter
29.05.04
✎
23:21
|
(22)Согласен, прогнал... Глянул DD вместо DDS... :-)
По поводу систему счисления - считай, что так сложилось исторически... Запросы, которые создает 1С при обращении к серверу нужно использовать в качестве пособия как НЕ нужно писАть запросы ИМХО... Основные тормоза в твоем запросе дает convert скорее всего... |
|||
|
24
SnarkHunter
29.05.04
✎
23:25
|
(+23)В версии 7.5 была 74-ричная система, если я не путаю...
|
|||
|
25
Валентин
30.05.04
✎
14:05
|
Всем спасибо за консультацию. Тормоза убираются очень эффективно если ввести дополнительную таблицу где уже разложено время, дата, ид. Довольно быстро и качественно. Всем спастбо еще раз
|
|||
|
26
SnarkHunter
30.05.04
✎
14:14
|
Вдогонку...
Сравнение поля DATE_TIME_IDDOC и строки в формате 'ГГГГММДД' прекрасно работает... |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |