|
v7: прямой запрос по виду документа | ☑ | ||
---|---|---|---|---|
0
BolshoySmal
03.10.16
✎
14:48
|
Добрый день . Подскажите (можно ссылку на нормальный букварь) как сделать прямой запрос в1С к регистру с отбором по типу документа ?
|
|||
1
Это_mike
03.10.16
✎
14:49
|
скрипт-кодинг.ру
|
|||
2
Это_mike
03.10.16
✎
14:50
|
а отбор по типу - если включен флаг быстрая обработка движений, то тип в регистре, иначе - джойнить с журналом
|
|||
3
BolshoySmal
03.10.16
✎
15:30
|
может вот это http://www.script-coding.com/ ?
|
|||
4
Это_mike
03.10.16
✎
15:43
|
(3) может, и это...
http://www.script-coding.com/Direct_queries.html |
|||
5
BolshoySmal
03.10.16
✎
15:47
|
Понял. Спасибо.эту матчасть как раз и курю :)
|
|||
6
Эльниньо
03.10.16
✎
16:37
|
|SELECT
|right(Рег.ПозицияДокумента,9) as [Док $Документ], |Рег.ВидДокумента as Док_вид, ... |WHERE Рег.ВидДокумента=3862 //заменить на нужный |
|||
7
BolshoySmal
03.10.16
✎
16:49
|
А где его узнать ? |WHERE Рег.ВидДокумента=3862//заменить на нужный
|
|||
8
Ёпрст
03.10.16
✎
16:59
|
(7) where iddocdef = $ВидДокумента.Реализация
|
|||
9
BolshoySmal
03.10.16
✎
17:03
|
Спасибо большое. Тогда еще вопрос в рамках темы. У документа есть реквизит (допустим склад ) как в запрос добавить отбор по списку значений складо
Попробовал вот такую конструкцию - не работает - |SELECT | Рег.IDDoc as [Док $Документ], | Жур.IDDocDef as Док_вид, | $Рег.Склад as [Склад $Справочник.Склады], | $Рег.Номенклатура as [Товар $Справочник.Номенклатура], | $Рег.Количество as Количество |FROM | $Регистр.ОстаткиТМЦ as Рег |INNER JOIN | _1Sjourn as Жур ON Жур.IDDoc = Рег.IDDoc |WHERE | Жур.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~ AND | Жур.IDDocDef = $ВидДокумента.ПеремещениеТМЦ AND Жур.IDDoc.Склад IN IN (SELECT Val FROM #Группа);"; Параметр задал вот так RS.УложитьСписокОбъектов(СПМол, "#Группа", "ФизЛица"); |
|||
10
Ёпрст
03.10.16
✎
17:51
|
>>>AND Жур.IDDoc.Склад
Это вообще за гранью добра ну так, хотя бы AND $Рег.Склад in (select val from #Группа) |
|||
11
Ёпрст
03.10.16
✎
17:52
|
Ну и тут
RS.УложитьСписокОбъектов(СПМол, "#Группа", "ФизЛица"); нужно наверное, список складов, а не физ лиц. Либо отбор по МОЛ-у, а не складу в тексте запроса. |
|||
12
Ёпрст
03.10.16
✎
17:53
|
Да и, сам запрос, непонятно, зачем такой вообще нужен.
|
|||
13
BolshoySmal
04.10.16
✎
08:53
|
Мне нужно отобрать движения по определённым складам , за определённые даты , которые двигали регистр Остатки ТМЦ.
У документа перемещение есть реквизит "склад " и реквизит "склад получатель". Пытаюсь сделать отбор по складу. Вот такой запрос рисую : ТекстЗапроса = " |SELECT | Рег.IDDoc as [Док $Документ], | Жур.IDDocDef as Док_вид, | $Рег.Склад as [Склад $Справочник.Склады], | $Рег.Номенклатура as [Товар $Справочник.Номенклатура], | $Рег.Количество as Количество |FROM | $Регистр.ОстаткиТМЦ as Рег |INNER JOIN | _1Sjourn as Жур ON Жур.IDDoc = Рег.IDDoc |WHERE | Жур.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~ AND | Жур.IDDocDef = $ВидДокумента.ПеремещениеТМЦ AND | Жур.IDDoc.Склад IN (SELECT Val FROM #Группа);"; RS.УложитьСписокОбъектов(СпСклад, "#Группа", "Склады"); RS.УстановитьТекстовыйПараметр("НачДата", НАчДата); RS.УстановитьТекстовыйПараметр("КонДата", КонДата); |
|||
14
BolshoySmal
04.10.16
✎
08:54
|
вот такая ошибка tate 42000, native 258, message [Microsoft][ODBC SQL Server Driver][SQL Server]Не удалось вызвать методы для char.
|
|||
15
BolshoySmal
04.10.16
✎
08:55
|
Что это - я не знаю, поэтому прошу помощи
|
|||
16
Это_mike
04.10.16
✎
08:59
|
(13) не будет у тебя никогда Жур.IDDoc.Склад
|
|||
17
Это_mike
04.10.16
✎
09:12
|
вместо
Жур.IDDoc.Склад IN (SELECT Val FROM #Группа); напиши $Рег.Склад IN (SELECT Val FROM #Группа) и точку с запятой убери |
|||
18
BolshoySmal
04.10.16
✎
09:18
|
не прокатит , потому как мне надо еще отбор делать по складу получателю Жур.IDDoc.СкладПолучатель и тоже в списке значений.
|
|||
19
BolshoySmal
04.10.16
✎
09:19
|
$Рег.Склад реквизит регистра один и тот же.
|
|||
20
Это_mike
04.10.16
✎
09:26
|
(18) значит, цепляй еще таблицы нужных документов.
|
|||
21
palpetrovich
04.10.16
✎
09:26
|
(18) забудь про ДВЕ точки в прямом запросе! Нужен СкладПолучатель - джойни Жур с документом или регистром где есть СкладПолучатель
|
|||
22
BolshoySmal
04.10.16
✎
09:39
|
Документ тот же- перемещениеТМЦ. необходимо выбрать из регистра движение где Жур.IDDoc.Склад в одном списке значений и Жур.IDDoc.СкладПолучатель в другом списке значений . дайте пожалуйста кусок запроса . Я 3-ий день занимаюсь с прямыми запросами.
|
|||
23
Это_mike
04.10.16
✎
09:41
|
(22) пля...
Жур - это таблица такая. в которой есть поле IDDoc так вот, Жур.IDDoc - это 9 символов. откуда там ".Склад"?????? |
|||
24
Это_mike
04.10.16
✎
09:44
|
слелай
inner join $Документ.ПеремещениеТМЦ ДокПеремещение (nolock) on ДокПеремещение.iddoc=Жур.iddoc ну а уже в условиях $ДокПеремещение.СкладПолучатель in(select val...) |
|||
25
BolshoySmal
04.10.16
✎
09:49
|
вот эту строку
|Inner join $Документ.ПеремещениеТМЦ ДокПеремещение (nolock) on ДокПеремещение.iddoc=Жур.iddoc вместо |INNER JOIN | _1Sjourn as Жур ON Жур.IDDoc = Рег.IDDoc я правильно понял ? |
|||
26
Это_mike
04.10.16
✎
09:50
|
(25) _вместе_
|
|||
27
BolshoySmal
04.10.16
✎
09:56
|
то есть должно быть так
|Inner join $Документ.ПеремещениеТМЦ ДокПеремещение (nolock) on ДокПеремещение.iddoc=Жур.iddoc |INNER JOIN | _1Sjourn as Жур ON Жур.IDDoc = Рег.IDDoc ? |
|||
28
Это_mike
04.10.16
✎
10:01
|
да
|
|||
29
BolshoySmal
04.10.16
✎
10:05
|
Спасибо большое, что просвятил !!!
|
|||
30
BolshoySmal
04.10.16
✎
10:06
|
Должен буду как земля колхозу :) !!! куда нести коньяк ?
|
|||
31
Это_mike
04.10.16
✎
10:06
|
(29) я просвещаю. а святить - это к нуралиеву :-)
|
|||
32
BolshoySmal
04.10.16
✎
10:17
|
А реально ли к этому запросу еще и период прикрутить ?
|
|||
33
BolshoySmal
04.10.16
✎
10:18
|
например месяц ?
|
|||
34
Это_mike
04.10.16
✎
10:19
|
(33) в смысле?
вывод месяца? или условие по месяцу? |
|||
35
BolshoySmal
04.10.16
✎
10:35
|
в разрезе месяцев. То есть если Начдата=01.08 а КонДата 03.10 получить результаты в разрезе месяцев ?
|
|||
36
BolshoySmal
04.10.16
✎
10:36
|
Август,Сентябрь,Октябрь
|
|||
37
Это_mike
04.10.16
✎
10:47
|
(35)
SELECT -- Рег.IDDoc as [Док $Документ], -- Жур.IDDocDef as Док_вид, -- $Рег.Склад as [Склад $Справочник.Склады], -- $Рег.Номенклатура as [Товар $Справочник.Номенклатура], substr(Жур.Date_Time,5,2) [Месяц] Sum($Рег.Количество) as Количество ... ... group by substr(Жур.Date_Time,5,2) |
|||
38
BolshoySmal
04.10.16
✎
10:53
|
Пасиба
|
|||
39
BolshoySmal
04.10.16
✎
10:53
|
Пасиба.
|
|||
40
BolshoySmal
04.10.16
✎
11:16
|
substr не является известным имя встроенной функции.
|
|||
41
BolshoySmal
04.10.16
✎
11:16
|
А как это победить ?
|
|||
42
Ёпрст
04.10.16
✎
11:17
|
(41) substring
|
|||
43
BolshoySmal
04.10.16
✎
11:19
|
уже нашел :)
|
|||
44
BolshoySmal
04.10.16
✎
11:19
|
Спасибо
|
|||
45
МихаилМ
04.10.16
✎
11:30
|
по виду документа из регистра можно и обычным одинесным 77 запросом , если указан быстрый отбор у регистра.
|
|||
46
Это_mike
04.10.16
✎
11:35
|
(45) судя по всему, у него не указан...
|
|||
47
Это_mike
04.10.16
✎
11:36
|
(45) ну и прямые запросы - прямее и быстрее...
|
|||
48
Это_mike
04.10.16
✎
11:39
|
(40) пардон, забываю ужо...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |