|
v7: кривые запросы (продолжаю тупить) | ☑ | ||
---|---|---|---|---|
0
e-9
27.10.14
✎
12:51
|
//в справочнике Сотрудники есть периодический реквизит ФормаТруда:
мд=СоздатьОбъект("MetaDataWork"); ИДРеквизита=мд.ИДОбъекта(метаданные.Справочник("Сотрудники").Реквизит("ФормаТруда")); //надо по нему найти все записи из 1sconst: ТекстЗапроса = " |select T1.ID, T1.date, T1.value, T1.docid, T1.OBJID |from 1sconst AS T1 |where T1.ID=:ФТ |order by T1.date desc"; Запрос.УстановитьТекстовыйПараметр("ФТ", Строка(ИДРеквизита)); - в отладчике запроса вижу, что ИД рекивизта = '1230': select T1.ID, T1.date, T1.value, T1.docid, T1.OBJID from 1sconst AS T1 where T1.ID='1230' order by T1.date desc В результате - 0 записей. Пошто?!...У каждого сотрудника задана форма труда, и по нескольку раз! ps. сначала вместо Строка(ИДРеквизита) было просто ИДРеквизита (как везде в инетах пишут), но получал "Operator/operand type mismatch." |
|||
1
МихаилМ
27.10.14
✎
12:54
|
тут есть зависимость от к-с либо файловая.
в одном из вариатов нужно дополнять пробелами. в каком - не помню. |
|||
2
dk
27.10.14
✎
12:58
|
а не проще через последнеезначение?
|
|||
3
e-9
27.10.14
✎
12:59
|
ой, забыл - DBF
...кстати: сначала пытался узнать ИД ФормаТруда без MetaDataWork - методом научного тыка вывел, что отображается как Y6 (делал так: |select top 10 T1.ID, T1.date, T1.value, T1.docid, T1.OBJID |from 1sconst AS T1 |order by T1.date desc"; редактировал кому-то ФормаТруда и смотрел, что запросом выводится). ..Как это упаковать в мозгу??? 1230 - или Y6? Да, пробовал напрямую подставлять в запрос и 1230, и 'Y6', ' Y6 ' (при этом в дебаггере запроса пробелы обрезались) |
|||
4
Ёпрст
27.10.14
✎
12:59
|
(0)
//|where T1.ID=:ФТ |where T1.ID=$ИсторияРеквизита.Сотрудники.ФормаТруда |
|||
5
e-9
27.10.14
✎
13:02
|
(4) Ёпрст, горячо благодарю!!!!!!.......
|
|||
6
e-9
27.10.14
✎
13:06
|
...и теперь вижу в дебаггере, что ИД выглядит как ' Y6'.
...имеет ли вообще смысл пытаться расковырять - ПОЧЕМУ?!! Почему с прямыми запросами под дбф так все грустно: роешь-роешь, куришь форумы и мануалы - и раз за разом убеждаешься в неработоспособности большей части образцов:((( Если бы не Ёпрст - не знаю, когда бы я добрался еще и до такой конструкции.... |
|||
7
e-9
27.10.14
✎
15:20
|
...а как по виду документа фильтровать, подскажите, плиз?
попробовал по аналогии:) не получилось (SELECT...from 1sconst AS T1 inner join 1sjourn AS T2 on (T1.docid = T2.iddoc) WHERE ... AND T2.IDDOCDEF = $Документы.КадровоеПеремещение) |
|||
8
Ёпрст
27.10.14
✎
15:21
|
IDDOCDEF = $ВидДокумента.КадровоеПеремещение
|
|||
9
e-9
27.10.14
✎
15:23
|
(8) спс!!..
|
|||
10
e-9
27.10.14
✎
15:25
|
+Ёпрст, подскажи, плиз, какой-нить толковый список этих "волшебных слов", а? я имею в виду "ВидДокумента", "ИсторияРеквизита" и т.п. - все то, что понимает метапарсер (для дбф)
|
|||
11
Ёпрст
27.10.14
✎
15:28
|
почти всё, что и для одбс (и несколько своих конструкций, типа iif и т.д)
http://www.1cpp.ru/docum/html/ODBC.html |
|||
12
Ёпрст
27.10.14
✎
15:29
|
||||
13
Ёпрст
27.10.14
✎
15:30
|
ну и это почитай
http://www.1cpp.ru/forumfiles/Attachments/mod_002.zip ну и самое главное, при пользовании оледб: http://www.1cpp.ru/forum/YaBB.pl?num=1184317705 |
|||
14
e-9
27.10.14
✎
15:43
|
...Ура великому Ёпрст'у!! С его помощью я создал нетленный запрос:
|delete T1 |from 1sconst AS T1 inner join 1sjourn AS T2 on (T1.docid = T2.iddoc) |where T1.ID=$ИсторияРеквизита.Сотрудники.ФормаТруда |AND T1.date>={^2014-07-31} |AND T2.IDDOCDEF = $ВидДокумента.КадровоеПеремещение"; (которым прибиваю все, что не менее нетленным образом - с помощью кадровых перемещений - нафигачил в периодический реквизит ФормаТруда, начиная с августа сего года)!! Спасибо:)) |
|||
15
Ёпрст
27.10.14
✎
15:44
|
Проще надо, проще
truncate table 1sconst и все делов :) |
|||
16
e-9
27.10.14
✎
15:47
|
(15) Ёпрст, ты понимаешь, что нас могут читать дети??...
Дети, не слушайте его!!! |
|||
17
e-9
27.10.14
✎
16:07
|
...кстати, такой вопрос: не хочу подключать срр к боевой базе; корректно ли будет взять 1sconst.dbf, почистить его на тестовой (вышеупомянутым запросом) и скопировать обратно?..
|
|||
18
Looser-1c
27.10.14
✎
16:11
|
(17) А зачем так извращаться?
|
|||
19
Ёпрст
27.10.14
✎
16:12
|
(17) да. Только еще переиндексировать надо (или вместе с индексным файлом заменить)
|
|||
20
e-9
27.10.14
✎
16:13
|
ну, не рассчитал немного поначалу, и понаписал всякого в историю реквизита - документами, поэтому почистить никак, только прямыми запросами (перепроведение не катит - слишком многое цепляет)
|
|||
21
e-9
27.10.14
✎
16:13
|
(19) так и думал, сенкс!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |