Имя: Пароль:
1C
1С v8
Запрос ошибка ИЗ
0 GuRuLol
 
03.10.11
17:42
Задача перебрать все доки с табличной частью "Товары", потом вывести их. Собственно ругается


"ВыборкаИтогов = Запрос.Выполнить().Выбрать();
по причине:

по причине:
{(8, 1)}: Синтаксическая ошибка "ИЗ"
<<?>>ИЗ
"

А код вот такой:




Процедура ЗаполнениеТаблицыДокументов() Экспорт
   Документы.Очистить();
   Для Каждого Документ Из Метаданные.Документы Цикл
       Для Каждого ТабЧасть Из Документ.ТабличныеЧасти Цикл        
           Если ТабЧасть.Имя = "Товары" Тогда
               СтрокаДокумента = Документы.Добавить();
               СтрокаДокумента.ИмяДокумента = Документ.Имя;
               СтрокаДокумента.СинонимДокумента = Документ.Синоним;
               СтрокаДокумента.Обрабатывать = Истина;    
           КонецЕсли;    
       КонецЦикла;
   КонецЦикла;    
КонецПроцедуры
   
Процедура ВыполнитьПоискДокументов(МаксЗначениеОбщего,ИндикаторПроцессаОбщий) Экспорт
   
ТекстЗапроса = "";

Для Каждого СтрокаДок Из Документы Цикл
   Если НЕ СтрокаДок.Обрабатывать Тогда
       Продолжить;
   КонецЕсли;
   
   ИмяДокумента = СтрокаДок.ИмяДокумента;
   СинонимДокумента = СтрокаДок.СинонимДокумента;
           
   Если ЗначениеЗаполнено(ТекстЗапроса) Тогда
       ТекстЗапроса = ТекстЗапроса + "
       |
       |ОБЪЕДИНИТЬ ВСЕ
       |";
   КонецЕсли;
   
   ТекстЗапроса = ТекстЗапроса + "
   |ВЫБРАТЬ
   |    ДокументЗапроса.Контрагент,
   |    ДокументЗапроса.Дата,
   |    ДокументЗапроса.Ссылка,
   |    ДокументЗапроса.Представление,
   |    ДокументЗапроса.Комментарий,
   |ИЗ
   |    Документ.ИмяДокумента КАК ДокументЗапроса
   |ГДЕ
   |    ДокументЗапроса.Дата МЕЖДУ &ДатаНач И &ДатаКон";


   ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"ИмяДокумента",ИмяДокумента);
КонецЦикла;    

Если НЕ ЗначениеЗаполнено(ДатаНач) Тогда
   ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"&ДатаНач","");
КонецЕсли;
       
Если НЕ ЗначениеЗаполнено(ДатаКон) Тогда
   ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"&ДатаКон","");
КонецЕсли;

   
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("ДатаНач",ДатаНач);
Запрос.УстановитьПараметр("ДатаКон",ДатаКон);
ВыборкаИтогов = Запрос.Выполнить().Выбрать();

Пока ВыборкаИтогов.Следующий() Цикл
   Сообщить(ВыборкаИтогов.Ссылка);
КонецЦикла;
КонецПроцедуры;    



под отладчиком вот такой текст запроса

ВЫБРАТЬ
   ДокументЗапроса.Контрагент,
   ДокументЗапроса.Дата,
   ДокументЗапроса.Ссылка,
   ДокументЗапроса.Представление,
   ДокументЗапроса.Комментарий,
ИЗ
   Документ.ЗаказПокупателя КАК ДокументЗапроса
ГДЕ
   ДокументЗапроса.Дата МЕЖДУ &ДатаНач И &ДатаКон

В чем причина?
1 shuhard
 
03.10.11
17:43
(0) Комментарий,
2 Живой Ископаемый
 
03.10.11
17:44
ЫЫЫЫЫЫЫ
ДокументЫ
3 GuRuLol
 
03.10.11
17:44
тьфу ты.... запятая...глаз замылился..спасибо
4 Живой Ископаемый
 
03.10.11
17:44
но и запятая конечно тоже да...
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн