Имя: Пароль:
1C
1C 7.7
v7: запрос
0 арах
 
31.01.12
11:31
поможите почему не отрабатывает запрос
   ДатаОтчета = "31.01.12";
   
   ТекстЗапроса = "
   |Период с '" + ДатаОтчета + "' по '" + ДатаОтчета + "';
   |Тип            = Справочник.Цены.ТипЦен;
   |Цена            = Справочник.Цены.Цена;
   |код    = Справочник.Цены.Владелец.код;
   |Функция ЦенаСумма    = Сумма(Цена);
   |Условие(код =  '008471');
     |Группировка Тип Упорядочить по Тип.Наименование;";

а если условие делать через переменную то все гуд
1 zak555
 
31.01.12
11:31
жесть
2 GLazNik
 
31.01.12
11:32
точно v8?
3 арах
 
31.01.12
11:34
v7
4 ParaWiz
 
31.01.12
11:35
(0) глупый вопрос, даже два: 1. ну и? 2. а зачем вообще этот пост ?
5 yam
 
31.01.12
11:39
(0) в мемориз!
6 Ёпрст
 
31.01.12
11:42
(0)
код - это строка, что-то в одинарных ковычках - это ДАТА..
'008471' - будет преобразовано к дате в тексте запроса.
Ну а дальше, сам догадаешься, али подсказать ?
7 ЧеловекДуши
 
31.01.12
11:44
А он вообще работает?
Группируешь по типу - Тип            = Справочник.Цены.ТипЦен;
т.е. это тип цены.
И суммируешь вообще все цены: Функция ЦенаСумма    = Сумма(Цена);
Т.е. не в разрезе номенклатуры :)
8 ПиН
 
31.01.12
11:44
Условие(код =  "008471") хотя я бы так не писал бы...
9 ЧеловекДуши
 
31.01.12
11:45
+ Не заметил отбор :)
Но тогда почему бы не отбирать по конкретному товару?
10 ЧеловекДуши
 
31.01.12
11:47
Лучше напиши так:

Спр = СоздатьОбъект("Справочник.Номенклатура");
ЭлемТовара = Спр.НайтиПоКоду("008471");

А в запросе строку: Условие(код =  '008471');

Заменить на

Товар    = Справочник.Цены.Владелец;
...
Условие(Товар = ЭлемТовара );
...
11 арах
 
31.01.12
13:03
(6)не умничай а напиши как вставить строку раз в одинарных дата.
(8)двойные кавычки запрос не понимает выдает ошибку..
(10)мне не надо переменную в запрос мне нужно именно значение! это написано в первом посте.
12 1Сергей
 
31.01.12
13:05
(11)>>двойные кавычки запрос не понимает выдает ошибку..

не свисти, всё прекрасно понимает

   |Условие(код =  ""008471"");
13 vasilii85
 
31.01.12
13:07
(11)Грубый автор какой попался..
14 1Сергей
 
31.01.12
13:09
(13) ну, он же у нас умный, а мы так, покурить вышли
15 povar
 
31.01.12
13:14
(11) правильно, умника из себя строит, а толку ноль
16 арах
 
31.01.12
13:20
(12) двойные прекрасно понимает а в 8 посте не так написано. но толку от этого ноль это тоже самое что
 |Условие(код =  '008471');
возвращает пустой запрос, т.е. типа код не найден
17 арах
 
31.01.12
13:21
тут дело скорее всего в лидирующих нулях... думаю он их обрезает при переводе в строку
18 Ёпрст
 
31.01.12
13:21
(16) ёпта
'008471' = тип ДАТА

|Условие(СокрЛП(код) =  ""008471"");
19 Vladal
 
31.01.12
13:22
|Период с '" + ДатаОтчета + "' по '" + ДатаОтчета + "';

замени на

|Период с ДатаОтчета по ДатаОтчета;


Посмотри на обычный запрос из конструктора запросов
20 Ёпрст
 
31.01.12
13:22
+18 нехер сравнивать дату со строкой в тексте запроса
21 povar
 
31.01.12
13:23
(20) не умничай, а пальцем покажи ))
22 Ёпрст
 
31.01.12
13:25
(21) см (18)
23 арах
 
31.01.12
13:27
(20) спс
верный ответ
|Условие(СокрЛП(код) =  ""008471"");
что и требовалось с начала... а то развели базар:)