|
v7: Простой вопрос по прямым запросам | ☑ | ||
---|---|---|---|---|
0
Pr0gLamer
19.09.12
✎
11:47
|
Уважаемые форумчане!
Подскажите пожалуйста как с помощью прямого запроса получить остатки регистра остатков на определённую дату без использования ВТ? |
|||
1
antoneus
19.09.12
✎
12:13
|
||||
2
Mikeware
19.09.12
✎
12:14
|
Получить на дату хранения итогов, посчитать обороты и сложить.
Ну, или посчитать на ближайшую дату хранения итогов, посчитать обороты, и сложить или вычесть... |
|||
3
Андрей_Андреич
naïve
19.09.12
✎
12:15
|
(0) Распарсить запрос с ВТ и посмотреть?
|
|||
4
ADirks
19.09.12
✎
12:16
|
ещё http://www.1cpp.ru/forum/YaBB.pl?num=1166170595/0
можно покурить |
|||
5
dk
19.09.12
✎
12:22
|
перетащить ТА на нужную дату ))
|
|||
6
Pr0gLamer
19.09.12
✎
12:25
|
а где хранятся итоги на ТА? если использовать конструкцию "$РегистрИтоги.ХХХ",мы каждый раз получаем итоги на начало периода?
|
|||
7
Ёпрст
19.09.12
✎
12:26
|
дык в FAQ есть готовый пример..
|
|||
8
Ёпрст
19.09.12
✎
12:26
|
(6) нет
|
|||
9
ДенисЧ
19.09.12
✎
12:27
|
А что, ВТ отныне запрещены ПЖиВ?
|
|||
10
Ёпрст
19.09.12
✎
12:27
|
и это, как бэ в (1) есть ответ, как хрянятся итоги регистра, и что он из себя представляет
|
|||
11
Ёпрст
19.09.12
✎
12:27
|
(9) у него дбф , скорее всего :)
|
|||
12
Pr0gLamer
19.09.12
✎
12:28
|
(11) хочу разобраться,у мну SQL
|
|||
13
Ёпрст
19.09.12
✎
12:29
|
(12) смотри в профайлер.. там будет твой запрос в развернутом виде
|
|||
14
Pr0gLamer
19.09.12
✎
12:30
|
остатки на ТА хранятся до тех пор пока не наступит новый период правильно?
|
|||
15
Ёпрст
19.09.12
✎
12:30
|
ну или.. ОбрМетаСКЛ используй - тоже покажет
|
|||
16
Ёпрст
19.09.12
✎
12:31
|
||||
17
Pr0gLamer
19.09.12
✎
12:39
|
Спасибо,я понял,еще маленький вопросик:
RS = СоздатьОбъект("ODBCRecordset"); ТекстЗапроса = " |@Товар = ? |SELECT | Рег.КоличествоОстаток as Количество |FROM | $РегистрОстатки.ОстаткиТоваров(:ВыбДата~,, | Склад = :ВыбСклад AND Товар = @Товар, | (Товар), (Количество)) as Рег"; RS.УстановитьТекстовыйПараметр("ВыбДата",Текущаядата()); RS.УстановитьТекстовыйПараметр("ВыбСклад ",ВыбСклад ); RS.Подготовить(ТекстЗапроса); RS.ПостроитьПараметры(); RS.УстПараметр(1, ВыбТовар); RS.ВыполнитьСкалярный(); Почему вываливается с ошибкой,при чём если заменить @Товар на :ВыбТовар и соответственно вызов на: RS.УстановитьТекстовыйПараметр("ВыбДата",Текущаядата()); RS.УстановитьТекстовыйПараметр("ВыбСклад ",ВыбСклад ); RS.УстановитьТекстовыйПараметр("Выбтовар",Текущаядата()); тз = RS.ВыполнитьИнструкцию(ТекстЗапроса); то работает? |
|||
18
Salimbek
19.09.12
✎
12:48
|
(17) Ну как бы:
1. Если запрос разовый то удобнее через Текстовый параметр рулить 2. Если же хочешь много раз, то правильнее товары загнать в список, уложить во временную таблицу его через УложитьСписокОбъектов() и в ВТ сделать левое соединение с этой временной таблицей. |
|||
19
Pr0gLamer
19.09.12
✎
12:53
|
(18)Хочу форму списка ускорить,а то уж больно долго работает.Мне интересно почему ошибка возникает,точнее что в синтаксисе не так?
|
|||
20
ДенисЧ
19.09.12
✎
12:57
|
DECLARE @Tovar CHAR(9)
SELECT @Tovar = ? |
|||
21
ADirks
19.09.12
✎
12:57
|
(17) в виртуальных таблицах нельзя использовать даты - переменные. Дело в том, что в зависимости от конкретного значения даты строится сам текст запроса. И в документации это написано.
|
|||
22
Pr0gLamer
19.09.12
✎
13:03
|
спасибо всем
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |