Параметры запроса в "Выражение в источнике данных" #776358


#0 by jour
Я подключаюсь из 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 by Fram
where rg2099_vt.period = &0
#2 by Fram
пардон.. where rg2099_vt.period = &1
#3 by jour
это понятно из справки. Но в какой момент и где этому параметру присваивается значение ???
#4 by jour
Неужели никто не сталкивался ?
#5 by Beretta
Нет. Никто не сталкивался. Ты будешь первым, кто поймет как устанавливать параметры у запроса.
#6 by jour
Это сарказм или неполная формулировка? Параметр не у запроса - а у "произвольного выражения во внешнем источнике данных"
#7 by jour
Ладно, тогда может то подскажет. Как в SQL форматировать дату. Мне из getdate которая возвращает yyyy-mm-dd hh:MM:ss.mls (как то так, точно не знаю как правильно) - нужно получить только yyyy-mm-dd преобразованный в CHAR. я пробовал datepart но месяц он без нуля возвращает, так что такая конструкция: "SELECT CAST(DATEPART(yyyy,GETDATE) AS CHAR) + '-' + CAST(DATEPART(mm,GETDATE) AS CHAR) + '-' + CAST(DATEPART(DD,GETDATE) AS CHAR)"к сожалению не подходит
#8 by jour
На будущее, текущая дата для запроса из 7.7 LEFT(CONVERT(char, GetDate,121),10)
#9 by jour
Тема закрывается. Получить остатки 7.7 на дату из SQL если и реально - то очень геморройно. SELECT TOP 100 ОстаткиТМЦОстатки.Номенклатура [Номенклатура $Справочник.Номенклатура] FROM (select rr2099_vt.sp2094 as Номенклатура, select rg2099_vt.sp2094, rg2099_vt.sp2097 from rg2099 as rg2099_vt (nolock) 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' group by rr2099_vt.sp2094 вот так выглядит запрос в скуле, скопировать его проблем нет, но непонятно почему в первом запросе объединения в одних случаях нужно брать начало этого месяца, а в других - прошлого, остатки то рассчитаны на начало этого.. в общем эта тема только для экспертов. с наскоку не решается
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С