Имя: Пароль:
1C
1C 7.7
v7: Запрос SQL из 1с
0 tixis
 
12.04.14
09:49
Други, Помогите написать запрос к sql из 1с. Раньше никогда не приходилось писать такие запросы, но все когда то в первый раз. Суть запроса: есть 2 таблицы (orders и items),orders это как я понял шапки документов, а items их табличные части. Так вот нужно выбрать все документы с пустыми табличными частями. В sql запросах я полный 0.
Структура таблиц:    
http://s1.radikale.ru/uploads/2014/4/12/14fc2961b3a2468b9d191508dbd98986-full.jpg

http://s1.radikale.ru/uploads/2014/4/12/a368bff1275c8d0334a05cd1a4efe3c7-full.jpg
1 Wobland
 
12.04.14
09:54
я знаю, что бывают прямые запросы к семёрке. там с таблицами попроще будет
2 Wobland
 
12.04.14
09:54
(1) *с именами
3 Aleksey
 
12.04.14
09:58
а по какому полю они соединены?
4 Gepard
 
12.04.14
09:59
(1) и в чем более просто?
5 Gepard
 
12.04.14
10:03
как вариант, поля надо поменять на свои

select * from ds_orders o left join ds_items i ON i.parentID (идентификатор заказа) = o.id where i.id IS null (проверяем, есть ли ID у строки, если нет, значит нет ни одной строки)
6 МихаилМ
 
12.04.14
10:04
select O.MasterFid OwnerDistId
From DS_Orders O
Lefr JOIN  DS_ITEMS I
ON O.OnerDistID = I.OnerDistID
WHERE I.OnerDistID IS NULL
7 Wobland
 
12.04.14
10:08
(4) from [Справочник.Номенклатура]. как-то так
8 Gepard
 
12.04.14
10:10
(7) $Справочник.Номенклатура

для меня ничем не отличается от

Goods

:-)
9 Gepard
 
12.04.14
10:11
(8) + особо одаренные программисты могут испоганить наименования и в 1С в целях сокращения)
10 Wobland
 
12.04.14
10:13
(8) какие такие goods? помнится, прикручивал внешний источник к восьмёрке - застрелиться от имён вида sc982
11 tixis
 
12.04.14
10:38
(6) не могли бы прокомментировать этот запрос?
12 Gepard
 
12.04.14
10:40
(10) товары) http://translate.google.ru/#en/ru/Goods

sc982 - это как раз внутренние 1С-кие названия.

Если база сделана людьми, то названия полей и таблиц более менее понятны.
13 Wobland
 
12.04.14
10:41
(11) левое соединение
(12) это что-то новенькое
14 Gepard
 
12.04.14
10:44
(11) запросы (5) и (6) идентичны, просто в (6) c попыткой телепатировать, что поля означают :-)

в (5) i.parentID = идентификатор заказа
15 Gepard
 
12.04.14
10:46
(11) запросы (5) и (6) идентичны, просто в (6) c попыткой телепатировать, что поля означают :-)

в (5) i.parentID - идентификатор заказа (в таблице ds_items )
o.id  - идентификатор заказа (в таблице ds_orders)

i.id - идентификатор строки
16 tixis
 
12.04.14
10:46
(14) ага понял спасибо
17 Gepard
 
12.04.14
10:46
(15) + надо подставить правильные наименования полей
18 tixis
 
12.04.14
10:54
(17) поставил,  в sql запрос работает, теперь осталось выяснить как его из 1с выполнять
19 Gepard
 
12.04.14
11:02
20 Gepard
 
12.04.14
11:04
21 tixis
 
12.04.14
11:04
всем спасибо, далее наврно разберусь
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.