Имя: Пароль:
1C
1C 7.7
v7: Проблема с запросом
0 rool
 
15.03.13
13:01
Господа, извиняюсь за полностью ламерский вопрос, пытаюсь вспомнить 7.7 после пяти лет.

Во внешней обработке есть код с запросом:

   Запрос = СоздатьОбъект("Запрос");
   
   ТекстЗапроса =
   "//{{ЗАПРОС(Запрос)
   |Период с ВыбНачПериода по ВыбКонПериода;
   |Обрабатывать НеПомеченныеНаУдаление;
   |Без итогов;
   |Реализация = Документ.Реализация.ТекущийДокумент;
   |Контрагент = Документ.Реализация.Контрагент;
   |Условие(Контрагент = Контрагент77);
   |"//}}ЗАПРОС
   ;
   
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
   КонецЕсли;  
   
   Пока Запрос.Группировка(1) = 1 Цикл
       Сообщить(Запрос.Реализация);
   КонецЦикла;  

При выполнении в отладчике код почему-то завершается на строке
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
возвращается на форму обработки, не заходя внутрь условного оператора, причем Запрос.Выполнить(ТекстЗапроса) в табло отладчика возвращает 1. Эка ни на что не ругается, так вот собственно вопрос почему может не выполнятся код

       Возврат;
   КонецЕсли;  
   
   Пока Запрос.Группировка(1) = 1 Цикл
       Сообщить(Запрос.Реализация);
   КонецЦикла;  
?

Заранее благодарен за советы и пинки :)
1 Cap_1977
 
15.03.13
13:03
(0) Функция где ?
2 Chum
 
15.03.13
13:03
Этасамае, а группировка-то сама где?
3 пипец
 
15.03.13
13:03
а группировка в запросе то где ?
4 rool
 
15.03.13
13:04
(2) упс :) а разве ругнуться на ошибку в запросе семерка не должна?
5 пипец
 
15.03.13
13:04
//*******************************************
// Процедура генерации запроса Сформировать.
//
Процедура Сформировать()
   Перем Запрос, ТекстЗапроса, Таб;
   //Создание объекта типа Запрос
   Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с ВыбНачПериода по ВыбКонПериода;
   |Контрагенты = Справочник.Контрагенты.ТекущийЭлемент;
   |Группировка Контрагенты без групп;
   |"//}}ЗАПРОС
   ;
   // Если ошибка в запросе, то выход из процедуры
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
   КонецЕсли;

   // Подготовка к заполнению выходных форм данными запроса
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Сформировать");
   // Заполнение полей "Заголовок"
   Таб.ВывестиСекцию("Заголовок");
   Состояние("Заполнение выходной таблицы...");
   Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
   Пока Запрос.Группировка(1) = 1 Цикл
       // Заполнение полей Контрагенты
       Таб.ВывестиСекцию("Контрагенты");
   КонецЦикла;
   // Вывод заполненной формы
   Таб.ТолькоПросмотр(1);
   Таб.Показать("Сформировать", "");
КонецПроцедуры
6 Chum
 
15.03.13
13:05
а ошибки в запросе нет, он отрабатывается, вот только никуя не возвращает :-)
7 пипец
 
15.03.13
13:05
и "без итогов" это еще тот глюк :)) не советую лишний раз юзать
8 rool
 
15.03.13
13:06
спасибо всем:)
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший