Имя: Пароль:
1C
 
Так существует или нет временная таблица
0 Shaxzoda
 
13.05.09
00:21
1 вариант:
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;

Запрос.Текст = "
|  ВЫБРАТЬ РАЗЛИЧНЫЕ
|      Номенклатура
|  ПОМЕСТИТЬ Расх
|  ИЗ
|      Документ.РасходнаяНакладная.Товары КАК Расходная
|  ГДЕ
|      Ссылка = &Ссылка
|  
|      ;
...
|" ;
РезультатЗапроса = Запрос.Выполнить();
---
Ошибка:
Временная таблица уже существует "Расх"

2 вариант. Пишу в начале:
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст = "
| УНИЧТОЖИТЬ Расх ";
----

Ошибка:
Временная таблица не существует "Расх".

Кто-нибудь сталкивался? Может, это глюк? Вообще, началось это нечаянно - когда расставила точки останова, а потом на половине отладки завершила работу 1с:Предприятие. Можно, конечно, переименовать таблицу и не париться, но хочется разобраться.
1 France
 
13.05.09
00:34
да уж. надо у тараса спросить, как убить не рожденного андрея. или у сергея нураливв: как удалить не созданный запрос.
ps. проверяй наличие таблицы
2 H A D G E H O G s
 
13.05.09
00:42
Воооот здесь дальше у тебя что???

|      ;
...
|" ;


В первом запросе.
3 Shaxzoda
 
13.05.09
00:43
(2) Второй запрос, использующий временную таблицу.
4 Shaxzoda
 
13.05.09
00:52
Вот это да! Переименовала-таки таблицу Расх в Расх1 и:

Временная таблица уже существует "Расх1"
5 Eriksson
 
13.05.09
01:06
Лучше полный код, так понятней будет, думаю.
6 Shaxzoda
 
13.05.09
01:16
(5) ??? если чем-то поможет, то вот:

//Запрос = Новый Запрос;
//Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
//Запрос.Текст = "
//| УНИЧТОЖИТЬ Расх ";

//Запрос.Выполнить();
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;

Запрос.Текст = "
|  ВЫБРАТЬ РАЗЛИЧНЫЕ
|      Номенклатура
|  ПОМЕСТИТЬ Расх
|  ИЗ
|      Документ.РасходнаяНакладная.Товары КАК Расходная
|  ГДЕ
|      Ссылка = &Ссылка
|  
|      ;
|      
|   ВЫБРАТЬ
|      РасходнаяНакладная.Номенклатура,
|      РасходнаяНакладная.Количество КАК Количество,
|    ЕстьNULL(Остатки.Подразделение, 0) КАК Подразделение,
|      КоличествоОстаток КАК КоличествоОстаток  
|   ИЗ
|    Документ.РасходнаяНакладная.Товары КАК РасходнаяНакладная
|    ЛЕВОЕ СОЕДИНЕНИЕ
|      РегистрНакопления.ОстаткиНоменклатуры.Остатки(,
|          Номенклатура В (ВЫБРАТЬ
|                              Номенклатура
|                        ИЗ
|                              Расх КАК Расх)) КАК Остатки
|    ПО
|        РасходнаяНакладная.Номенклатура = Остатки.Номенклатура
|    ГДЕ
|        РасходнаяНакладная.Ссылка = &Ссылка
|    И
|        Остатки.Подразделение = &Подразделение
|    УПОРЯДОЧИТЬ ПО
|          РасходнаяНакладная.Номенклатура
|    ИТОГИ  
|        СУММА(Количество),
|        СУММА(КоличествоОстаток)
|    ПО
|        РасходнаяНакладная.Номенклатура";
Запрос.УстановитьПараметр("Подразделение",    ТорговаяТочка);     //Справочник ссылка: Подразделения
Запрос.УстановитьПараметр("Ссылка",    Ссылка);     //Документ ссылка: Расходная накладная
РезультатЗапроса = Запрос.Выполнить();
7 Shaxzoda
 
13.05.09
01:17
ааа....менеджер временных таблиц другой, кажется, поняла...
8 France
 
13.05.09
01:22
где?
9 Shaxzoda
 
13.05.09
01:44
все, извините, дурацкая ошибка, моя. Дважды передала параметры (из консоли запросов переносила запрос вместе с параметрами, ну и не удалила параметры от предыдущего неправильного запроса, вот и ругалось.

(7) а насчет другого менеджера временных таблиц - по-моему, в приведенном коде неправильно то, что два раза пишу
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц
- один раз когда создаю временную таблицу, а другой раз когда удаляю.
10 France
 
13.05.09
01:58
таки, сказал же - у тарасу ))
11 Shaxzoda
 
13.05.09
02:11
аха, после нуралиева я так и подумала - ваш комментарий одна большая сплошная шутка. да вроде решилась проблема, завтра еще добью, все равно не работает, но  по другой причине, это уже не в форум.
12 France
 
13.05.09
02:22
никаких шуток. невозможно удалить то, чего нет
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.