|
Параметры запроса в "Выражение в источнике данных" | ☑ | ||
---|---|---|---|---|
0
jour
12.07.16
✎
18:45
|
Я подключаюсь из 8.3 к 7.7 через внешний источник данных.
Хочу получить остаток на дату. В какой момент и как передать параметр для запроса ? Вот рабочее выражение: select rg2099_vt.sp2094 as Номенклатура, sum(rg2099_vt.sp2097) as КоличествоОстаток from rg2099 as rg2099_vt (nolock) where rg2099_vt.period={d 'Сюда нужно подставить дату'} Исчерпывающая справка от 1С: "В свойствах функции в поле "Выражение в источнике данных" нажмите кнопку выбора В текстовом поле введите требуемое выражение на языке запросов источника с параметрами. Параметры обозначаются следующим образом: &n, где n – порядковый номер фактического параметра, начиная с 1." Мне к сожалению не понятна. Как это можно сделать? |
|||
1
Fram
12.07.16
✎
19:03
|
where rg2099_vt.period = &0
|
|||
2
Fram
12.07.16
✎
19:04
|
пардон.. where rg2099_vt.period = &1
|
|||
3
jour
12.07.16
✎
21:58
|
(2) это понятно из справки. Но в какой момент и где этому параметру присваивается значение ???
|
|||
4
jour
13.07.16
✎
08:06
|
Неужели никто не сталкивался ?
|
|||
5
Beretta
13.07.16
✎
08:10
|
(4) Нет. Никто не сталкивался. Ты будешь первым, кто поймет как устанавливать параметры у запроса.
|
|||
6
jour
13.07.16
✎
08:15
|
(5) Это сарказм или неполная формулировка?
Параметр не у запроса - а у "произвольного выражения во внешнем источнике данных" |
|||
7
jour
13.07.16
✎
09:01
|
Ладно, тогда может то подскажет. Как в SQL форматировать дату.
Мне из getdate() которая возвращает yyyy-mm-dd hh:MM:ss.mls (как то так, точно не знаю как правильно) - нужно получить только yyyy-mm-dd преобразованный в CHAR. я пробовал datepart() но месяц он без нуля возвращает, так что такая конструкция: "SELECT CAST(DATEPART(yyyy,GETDATE()) AS CHAR(4)) + '-' + CAST(DATEPART(mm,GETDATE()) AS CHAR(2)) + '-' + CAST(DATEPART(DD,GETDATE()) AS CHAR(2))"к сожалению не подходит |
|||
8
jour
13.07.16
✎
09:20
|
На будущее, текущая дата для запроса из 7.7 LEFT(CONVERT(char(19), GetDate(),121),10)
|
|||
9
jour
13.07.16
✎
09:51
|
Тема закрывается. Получить остатки 7.7 на дату из SQL если и реально - то очень геморройно.
SELECT TOP 100 ОстаткиТМЦОстатки.Номенклатура [Номенклатура $Справочник.Номенклатура] , ОстаткиТМЦОстатки.КоличествоОстаток FROM (select rr2099_vt.sp2094 as Номенклатура, sum(rr2099_vt.sp2097) as КоличествоОстаток from ( select rg2099_vt.sp2094, rg2099_vt.sp2097 from rg2099 as rg2099_vt (nolock) where rg2099_vt.period={d '2016-07-01'} union all select ra2099_vt.sp2094, case ra2099_vt.debkred when 0 then ra2099_vt.sp2097 else -ra2099_vt.sp2097 end from ra2099 as ra2099_vt (nolock) where ra2099_vt.date_time_iddoc > '20160701' and ra2099_vt.date_time_iddoc < '20160702' ) as rr2099_vt group by rr2099_vt.sp2094 having sum(rr2099_vt.sp2097) <> 0 ) as ОстаткиТМЦОстатки вот так выглядит запрос в скуле, скопировать его проблем нет, но непонятно почему в первом запросе объединения в одних случаях нужно брать начало этого месяца, а в других - прошлого, остатки то рассчитаны на начало этого.. в общем эта тема только для экспертов. с наскоку не решается |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |