v7: 1с++ как выбрать документы по датедок?
☑
0
DES
23.08.18
✎
11:42
SELECT $Перерасчет.ЛицевойСчет [ЛицевойСчет $Справочник.ЛицевыеСчета]
FROM $Документ.Перерасчет AS Перерасчет
WHERE (?????)
1
Z1
23.08.18
✎
11:48
надо делать inner join c таблицей _1sjourn
как то так
select * from $Документ.Накладная Док
inner join _1sjourn Жур on Док.iddoc = Жур.iddoc
2
DES
23.08.18
✎
12:07
SELECT Журнал.IDDOC [Документ $Документ]
FROM $Документ.Перерасчет AS Перерасчет
INNER JOIN _1SJOURN AS Журнал ON Перерасчет.IDDOC = Журнал.IDDOC
Сделал, но не найду датыдок в журнале
3
Sserj
23.08.18
✎
12:12
метаДата = СоздатьОбъект("MetaDataWork");
"..
WHERE
Жур.DATETIMEIDDOC between '"+МетаДата.ПолучитьСтрИзДаты(начДата)+"' and '"+метаДата.ПолучитьСтрИзДаты(конДата+1)+"'
..."
4
Вафель
23.08.18
✎
12:13
(3) как параметры можно передавать
5
Вафель
23.08.18
✎
12:14
с модификаторами типа :дата~
6
Sserj
23.08.18
✎
12:15
(4) Неа. DateTimeIDDOC это varchar а параметр установится как DateTime.
7
Z1
23.08.18
✎
12:19
(4) Я бы сказал не можно а нужно
+ к 1 обязательно пославить условие на поле Жур.iddocdef - более подходящий индекс будет использовать sql
(0) и в интернете найди статью "v7.7 мой первый sql запрос"
8
Sserj
23.08.18
✎
12:21
И еще хорошо бы в условия добавить
WHERE
Жур.DATETIMEIDDOC between '"+МетаДата.ПолучитьСтрИзДаты(начДата)+"' and '"+метаДата.ПолучитьСтрИзДаты(конДата+1)+"'
and Жур.IDDOCDEF = $ВидДокумента.Накладная
...
Так и пытаться соединять будет меньше строк и вероятность совпадения идшников разных видов документов исключается.
9
Вафель
23.08.18
✎
12:23
вот пример
10
Вафель
23.08.18
✎
12:24
(8) в 7 у разных доков не могут быть разные идшники
11
ADirks
23.08.18
✎
13:14
(10) Условие по IDDOCDEF нужно планировщику запросов, для правильного определения подходящего индекса.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан