Имя: Пароль:
1C
1C 7.7
v7: Помогите плиз запросом
0 DeMi4
 
27.04.12
14:23
База ДБФ

   ТекстЗапроса = "
       |ВЫБРАТЬ
       |
       |    $регГезетыСклад.Товар КАК [Товар $Справочник.Газеты]
       |    ,$регГезетыСклад.Количество КАК Остаток
       |ИЗ
       |    $Регистр.ГазетыСклад (:ВыбДата~,,,
       |       (Товар,Номер,Склад,Партия),
       |        (Количество) КАК регГазетыСклад
       //|СГРУППИРОВАТЬ
       //|    регГезетыСклад.Товар.id
       |";
   
   Запрос = СоздатьОбъект( "ПрямойЗапрос" );
   Запрос.Текст = ТекстЗапроса;
   Запрос.УстановитьТекстовыйПараметр( "ВыбДата", ТекущаяДата() );    
   ИТЗ = Запрос.Выполнить();    
   
   ТЗ = СоздатьОбъект( "ТаблицаЗначений" );
   ИТЗ.Выгрузить( ТЗ );

   глПросмотрТСЗ( ТЗ );    
   

Вываливается ошибка


ПрямойЗапрос::Выполнить(Строка ТипОбъекта=ИндексированнаяТаблица, Строка ТекстВыполнения=, Число БезПодготовки=0) : near "(": syntax error
ЗапросSQLite.ВыполнитьЗапрос(ТекстЗапроса,ПолучательЗапроса);
{ПрямойЗапрос@MD(13401) }

ИТЗ = Запрос.Выполнить();    
{Документ.ГазетыРазнарядка.Форма.Модуль(905)}: ПрямойЗапрос::Выполнить(Строка ТипОбъекта=ИндексированнаяТаблица, Строка ТекстВыполнения=, Число БезПодготовки=0) : near "(": syntax error
ЗапросSQLite.ВыполнитьЗапрос(ТекстЗапроса,ПолучательЗапроса);
{ПрямойЗапрос@MD(13401) }
1 Гефест
 
27.04.12
14:24
Скобки на удачу понаставил?
2 Mikeware
 
27.04.12
14:31
пробел убери
3 DeMi4
 
27.04.12
14:42
ТекстЗапроса = "
       |ВЫБРАТЬ
       |
       |    $регГезетыСклад.Товар КАК [Товар $Справочник.Газеты]
       |    ,$регГезетыСклад.Количество КАК Остаток
       |ИЗ
       |    $Регистр.ГазетыСклад(:ВыбДата~,,,
       |       (Товар,Номер,Склад,Партия),
       |        (Количество)) КАК регГазетыСклад
       //|СГРУППИРОВАТЬ
       //|    регГезетыСклад.Товар.id
       |";
   
   Запрос = СоздатьОбъект( "ПрямойЗапрос" );
   Запрос.Текст = ТекстЗапроса;
   Запрос.УстановитьТекстовыйПараметр( "ВыбДата", ТекущаяДата() );    
   ИТЗ = Запрос.Выполнить();    
   
   ТЗ = СоздатьОбъект( "ТаблицаЗначений" );
   ИТЗ.Выгрузить( ТЗ );

   глПросмотрТСЗ( ТЗ );    


ИТЗ = Запрос.Выполнить();
   
{Документ.ГазетыРазнарядка.Форма.Модуль(905)}: ПрямойЗапрос::Выполнить(Строка ТипОбъекта=ИндексированнаяТаблица, Строка ТекстВыполнения=, Число БезПодготовки=0) : near "(": syntax error
ЗапросSQLite.ВыполнитьЗапрос(ТекстЗапроса,ПолучательЗапроса);
{ПрямойЗапрос@MD(13401) }
4 Гефест
 
27.04.12
14:47
Скобок надо было не добавить, а убрать лишние
5 Mikeware
 
27.04.12
14:47
$Регистр.ГазетыСклад - Это что?
6 DeMi4
 
27.04.12
14:53
Регистр остатков
7 Mikeware
 
27.04.12
14:56
(6) нифига
8 vinogradъ
 
27.04.12
15:10
Может $РегистрОстатки?
9 vinogradъ
 
27.04.12
15:12
|ВЫБРАТЬ
|    $регГезетыСклад.Товар КАК [Товар $Справочник.Газеты]
|    ,$регГезетыСклад.Количество КАК Остаток
|ИЗ
|    $РегистрОстатки.ГазетыСклад(
|         :ВыбДата~,
|         ,
|         ,
|         (Товар,Номер,Склад,Партия),
|         Количество
|) КАК регГазетыСклад
|СГРУППИРОВАТЬ
|    $регГезетыСклад.Товар
|";
10 vinogradъ
 
27.04.12
15:13
СУММА($регГезетыСклад.Количество) КАК Остаток
11 Mikeware
 
27.04.12
15:18
(10) не проще из списка измерений убрать ненужные?
12 vinogradъ
 
27.04.12
15:23
(11) мопед не мой, может ТС будет дописывать что-нибудь к запросу
13 DeMi4
 
27.04.12
15:25
Процедура Сформировать()
   Запрос = СоздатьОбъект( "ПрямойЗапрос" );
   ТекстЗапроса = "
   |ВЫБРАТЬ
   |    $регГазетыСклад.Товар КАК [Товар $Справочник.Газеты]
   |    ,СУММА($регГазетыСклад.Количество) КАК ОстКоличество
   |ИЗ
   |    $РегистрОстатки.ГазетыСклад(
   |         :ВыбДата~,
   |         ,
   |         ,
   |         (Товар,Номер,Склад,Партия),
   |         Количество
   |) КАК регГазетыСклад
   |СГРУППИРОВАТЬ
   |    $регГазетыСклад.Товар
   |";
   
   Запрос.Текст = ТекстЗапроса;    
   Запрос.УстановитьТекстовыйПараметр( "ВыбДата", ТекущаяДата() );
   ИТЗ = Запрос.Выполнить();    
   ТЗ = СоздатьОбъект( "ТаблицаЗначений" );
   ИТЗ.Выгрузить( ТЗ );

   глПросмотрТСЗ( ТЗ );
КонецПроцедуры


Ругается почемуто на количество

ИТЗ = Запрос.Выполнить();    
{D:\#WORK\ПРЗАПРОС.ERT(22)}: ПрямойЗапрос::Выполнить(Строка ТипОбъекта=ИндексированнаяТаблица, Строка ТекстВыполнения=, Число БезПодготовки=0) : near "Количество": syntax error
ЗапросSQLite.ВыполнитьЗапрос(ТекстЗапроса,ПолучательЗапроса);
{ПрямойЗапрос@MD(13401) }
14 vinogradъ
 
27.04.12
15:27
может быть для ПрямогоЗапроса нужно ресурсы всегда брать в скобки, даже если он один
15 Mikeware
 
27.04.12
15:28
(13) документацию читать не пробовал?