1с ошибка временная таблица уже существует

10.07.2023

Дополнительные возможности по работе с временными таблицами

Данная статья является анонсом новой функциональности.

Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.


Полное описание новой функциональности будет приведено в документации к соответствующей версии.


Полный список изменений в новой версии приводится в файле v8Update.htm.

Планируется в 8.3.25

Добавление данных в существующую временную таблицу

Как известно, временная таблица создается при выполнении запроса с помощью предложения ПОМЕСТИТЬ, идущего после перечисления полей в инструкции ВЫБРАТЬ. Имя временной таблицы идет после ПОМЕСТИТЬ, а её структура определяется структурой самого запроса.

Такой запрос

ВЫБРАТЬ


    Номенклатура.Код КАК Код,


    Номенклатура.Наименование КАК Наименование
   


ПОМЕСТИТЬ ВТ_Товары


ИЗ


    Справочник.Номенклатура КАК Номенклатура


;


создаст временную таблицу ВТ_Товары с полями Код и Наименование.

Добавить данные в уже созданную временную таблицу нельзя. Если мы захотим сложить в ВТ_Товары ещё и содержимое справочника Услуги:

ВЫБРАТЬ


    Номенклатура.Код КАК Код,


    Номенклатура.Наименование КАК Наименование
  


ПОМЕСТИТЬ ВТ_Товары


ИЗ


    Справочник.Номенклатура КАК Номенклатура


;


ВЫБРАТЬ


    Услуги.Код КАК Код,


    Услуги.Наименование КАК Наименование


ПОМЕСТИТЬ ВТ_Товары


ИЗ


    Справочник.Услуги КАК Услуги


;

мы получим ошибку «Временная таблица уже существует».

В версии 8.3.25 появится возможность добавлять данные в уже существующую временную таблицу с помощью предложения ДОБАВИТЬ (ADD):

ВЫБРАТЬ


    Номенклатура.Код КАК Код,


    Номенклатура.Наименование КАК Наименование
   


ПОМЕСТИТЬ ВТ_Товары


ИЗ


    Справочник.Номенклатура КАК Номенклатура


;


ВЫБРАТЬ


    Услуги.Код КАК Код,


    Услуги.Наименование КАК Наименование
   


ДОБАВИТЬ ВТ_Товары


ИЗ


    Справочник.Услуги КАК Услуги


;

Структура запросов, добавляющих данные в существующую временную таблицу (состав колонок и их типы) должны совпадать со структурой временной таблицы, иначе возникнет ошибка «Структура существующей временной таблицы не соответствует структуре добавляемых данных».

Возможность добавлять данные в существующую временную таблицу позволит в ряде сценариев сократить количество «однотипных» временных таблиц в запросе, сделать текст запроса более читаемым, а исполнение запроса – более эффективным.

Создание нескольких индексов для временной таблицы

Для временной таблицы можно будет создавать несколько индексов для ускорения поиска по временной таблице. Для предложения ИНДЕКСИРОВАТЬ ПО будет реализовано расширение НАБОРАМ (SETS):

ИНДЕКСИРОВАТЬ ПО НАБОРАМ ((НаборПолей1)[ ,(НаборПолей2)[,…]])

Пример:

ВЫБРАТЬ


    Номенклатура.Код КАК Код,


    Номенклатура.Наименование КАК Наименование,


    Номенклатура.Артикул КАК Артикул


ПОМЕСТИТЬ ВТ_Товары


ИЗ


    Справочник.Номенклатура КАК Номенклатура


ИНДЕКСИРОВАТЬ ПО НАБОРАМ (


    (Код, Наименование),


    (Артикул)


)

Во временной таблице ВТ_Товары будут созданы два индекса – по двум полям (Код, Наименование) и по одному полю (Артикул).

Создавать индексы можно будет только при первом помещении данных во временную таблицу.

Уникальные индексы на временных таблицах

Для предложений ИНДЕКСИРОВАТЬ ПО будет реализована опция УНИКАЛЬНО (UNIQUE). При её использовании будет создан уникальный индекс.

ВЫБРАТЬ


    Номенклатура.Код КАК Код,


    Номенклатура.Наименование КАК Наименование,


    Номенклатура.Артикул КАК Артикул


ПОМЕСТИТЬ ВременнаяТаблица


ИЗ


    Справочник.Номенклатура КАК Номенклатура


ИНДЕКСИРОВАТЬ ПО НАБОРАМ (


    (Код, Наименование) УНИКАЛЬНО,


    (Артикул)


)

Встроенный язык будет расширен для поддержки новой функциональности. Конструктор запросов также будет доработан.

Надеемся, что новая функциональность позволит вам ещё эффективнее использовать такой мощный механизм, как временные таблицы.

Теги:
8.3.25 
разработка 

0

cfk

02.12.15

14:36

тзДанные77  = Новый ТаблицаЗначений;                

            мт             = Новый Массив;

            мт.Добавить(Тип(«Строка»));          

            мт.Добавить(Тип(«Дата»));          

            мт.Добавить(Тип(«Число»));          

            отСтрока     = Новый ОписаниеТипов(мт,,,

                Новый КвалификаторыЧисла(9,2,ДопустимыйЗнак.Любой),

                Новый КвалификаторыСтроки(25,ДопустимаяДлина.Переменная),

                Новый КвалификаторыДаты(ЧастиДаты.ДатаВремя),);

            
            стрКолонки     = Новый Структура(«Документ,Период,Организация,ОрганизацияКлюч,»

                +»Склад,СкладКлюч,Контрагент,КонтрагентКлюч,Сумма»);                

            Для каждого киз Из стрКолонки Цикл

                тзДанные77.Колонки.Добавить(киз.Ключ,отСтрока);

            КонецЦикла;

            
            Пока РН77.ПолучитьДокумент()=1 Цикл

                Если РН77.Проведен()=1 Тогда

                    стз = тзДанные77.Добавить();

                    стз.Документ         = РН77.НомерДок;

                    стз.Период             = РН77.ДатаДок;

                    стз.Организация     = РН77.Фирма.Наименование;

                    стз.ОрганизацияКлюч = РН77.Фирма.Код;

                    стз.Склад             = РН77.МестоХранения.Наименование;

                    стз.СкладКлюч         = РН77.МестоХранения.Код;

                    стз.Контрагент        = РН77.Контрагент.Наименование;

                    стз.КонтрагентКлюч    = РН77.Контрагент.Код;

                    стз.Сумма             = РН77.Итог(«СуммаСНДС»);

                КонецЕсли;                

                 //Сообщить(«Документ <«+РН77.НомерДок

                 //    +»> от <«+РН77.ДатаДок

                 //    +»>Фирма <«+РН77.Фирма.Наименование

                 //    +»> Контрагент <«+РН77.Контрагент.Наименование

                 //    +»> Сумма <«+РН77.Итог(«СуммаСНДС»)

                 //   +»> Проведен <«+РН77.Проведен()

                 //   +»>»);                                  

            КонецЦикла;

                
               З = Новый Запрос;            

               мвт = Новый МенеджерВременныхТаблиц;

               З.МенеджерВременныхТаблиц = мвт;                        

            З.УстановитьПараметр(«тзДанные77»,тзДанные77);

                        
            З.Текст = »                

                |ВЫБРАТЬ

                |    тзДанные77.Организация,

                |    тзДанные77.ОрганизацияКлюч,

                |    тзДанные77.Склад,

                |    тзДанные77.СкладКлюч,

                |    тзДанные77.Контрагент,

                |    тзДанные77.КонтрагентКлюч,

                |    тзДанные77.Документ,

                |    тзДанные77.Период,

                |    тзДанные77.Сумма

                |ПОМЕСТИТЬ Данные77

                |ИЗ

                |    &тзДанные77 КАК тзДанные77

                |;

                |

                |////////////////////////////////////////////////////////////////////////////////

                |ВЫБРАТЬ

                |    Данные77.Организация,

                |    Данные77.ОрганизацияКлюч КАК Ключ,

                |    МАКСИМУМ(Организации.Ссылка) КАК Ссылка

                |ИЗ

                |    Данные77 КАК Данные77

                |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации КАК Организации

                |        ПО Данные77.ОрганизацияКлюч = Организации.Ключ

                |

                |СГРУППИРОВАТЬ ПО

                |    Данные77.Организация,

                |    Данные77.ОрганизацияКлюч

                |

                |ИМЕЮЩИЕ

                |    МАКСИМУМ(Организации.Ссылка) ЕСТЬ NULL «;

            рз = З.Выполнить();

1

cfk

02.12.15

14:37

{Обработка.Импорт.Форма.Форма.Форма(141)}: Ошибка при вызове метода контекста (Выполнить): {(12, 11)}: Временная таблица уже существует «Данные77»

ПОМЕСТИТЬ <<?>>Данные77

2

ДенисЧ

02.12.15

14:39

второй раз вызываешь без обнуления переменных…

4

Nuobu

02.12.15

14:40

(1) Отладкой делаешь З.Выполнить(), смотришь результат.

А как оно само доходит до этой строчки, то падает.

5

cfk

02.12.15

14:40

тоесть (2) нет =) С первого раза выскакивает. А менеджер в исключении закрывается

7

cfk

02.12.15

14:41

(4) не понял, чем будет отличаться отладка от рантайма в данном случае

9

VikingKosmo

02.12.15

14:41

(7) тем, что в рантайм не будет повторного создания ВТ

10

cfk

02.12.15

14:43

(8,9) где вы видите повторное создание. С ПЕРВОГО раза выскакивает, говорю вам. и Менеджер временных таблиц закрывается каждый раз при исключении. Т.е. временные таблицы после каждого исключения уничтожаются.

11

cfk

02.12.15

14:45

(8), (9) так понятнее?

Попытка                

        v77 = Новый COMОбъект(«V77.Application»);

        
        Dir = стрПар.Каталог;

        Usr = стрПар.Пользователь;

        Pwd = стрПар.Пароль;

        
        ConnStr = «/D»»»+Dir+»»»»

            +» /N»»»+Usr+»»»»+            

            ?(StrLen(TrimAll(Pwd))<>0,» /P»»»+Pwd+»»» «,»»);

        
//        Сообщить(«Подключаюcь как <«+Usr+»> к <«+Dir+»>»);

        
        Если v77.Initialize(v77.RMTrade,TrimAll(ConnStr),»NO_SPLASH_SHOW») = 0 Тогда

            ВызватьИсключение(«Сбой подключения к <«+Dir+»>»);

        КонецЕсли;

        
//        Сообщить(«Успешно подключена база <«+Dir+»>»);

        
        Период = стрПар.Период;

        
        РН77 = v77.CreateObject(«Документ.РасходнаяНакладная»);

        Если РН77.ВыбратьДокументы(Период.ДатаНачала,Период.ДатаОкончания) = 1 Тогда

            
            тзДанные77  = Новый ТаблицаЗначений;                

            мт             = Новый Массив;

            мт.Добавить(Тип(«Строка»));          

            мт.Добавить(Тип(«Дата»));          

            мт.Добавить(Тип(«Число»));          

            отТипы     = Новый ОписаниеТипов(мт,,,

                Новый КвалификаторыЧисла(9,2,ДопустимыйЗнак.Любой),

                Новый КвалификаторыСтроки(25,ДопустимаяДлина.Переменная),

                Новый КвалификаторыДаты(ЧастиДаты.ДатаВремя),);

            
            стрКолонки     = Новый Структура(«Документ,Период,Организация,ОрганизацияКлюч,»

                +»Склад,СкладКлюч,Контрагент,КонтрагентКлюч,Сумма»);                

            Для каждого киз Из стрКолонки Цикл

                тзДанные77.Колонки.Добавить(киз.Ключ,отТипы);

            КонецЦикла;

            
            Пока РН77.ПолучитьДокумент()=1 Цикл

                Если РН77.Проведен()=1 Тогда

                    стз = тзДанные77.Добавить();

                    стз.Документ         = РН77.НомерДок;

                    стз.Период             = РН77.ДатаДок;

                    стз.Организация     = РН77.Фирма.Наименование;

                    стз.ОрганизацияКлюч = РН77.Фирма.Код;

                    стз.Склад             = РН77.МестоХранения.Наименование;

                    стз.СкладКлюч         = РН77.МестоХранения.Код;

                    стз.Контрагент        = РН77.Контрагент.Наименование;

                    стз.КонтрагентКлюч    = РН77.Контрагент.Код;

                    стз.Сумма             = РН77.Итог(«СуммаСНДС»);

                КонецЕсли;                

                 //Сообщить(«Документ <«+РН77.НомерДок

                 //    +»> от <«+РН77.ДатаДок

                 //    +»>Фирма <«+РН77.Фирма.Наименование

                 //    +»> Контрагент <«+РН77.Контрагент.Наименование

                 //    +»> Сумма <«+РН77.Итог(«СуммаСНДС»)

                 //   +»> Проведен <«+РН77.Проведен()

                 //   +»>»);                                  

            КонецЦикла;

                
               З = Новый Запрос;            

               мвт = Новый МенеджерВременныхТаблиц;

               З.МенеджерВременныхТаблиц = мвт;                        

            З.УстановитьПараметр(«тзДанные77»,тзДанные77);

                        
            З.Текст = »                

                |ВЫБРАТЬ

                |    тзДанные77.Организация,

                |    тзДанные77.ОрганизацияКлюч,

                |    тзДанные77.Склад,

                |    тзДанные77.СкладКлюч,

                |    тзДанные77.Контрагент,

                |    тзДанные77.КонтрагентКлюч,

                |    тзДанные77.Документ,

                |    тзДанные77.Период,

                |    тзДанные77.Сумма

                |ПОМЕСТИТЬ Данные77

                |ИЗ

                |    &тзДанные77 КАК тзДанные77

                |;

                |

                |////////////////////////////////////////////////////////////////////////////////

                |ВЫБРАТЬ

                |    Данные77.Организация,

                |    Данные77.ОрганизацияКлюч КАК Ключ,

                |    МАКСИМУМ(Организации.Ссылка) КАК Ссылка

                |ИЗ

                |    Данные77 КАК Данные77

                |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации КАК Организации

                |        ПО Данные77.ОрганизацияКлюч = Организации.Ключ

                |

                |СГРУППИРОВАТЬ ПО

                |    Данные77.Организация,

                |    Данные77.ОрганизацияКлюч

                |

                |ИМЕЮЩИЕ

                |    МАКСИМУМ(Организации.Ссылка) ЕСТЬ NULL «;

            рз = З.Выполнить();

            Если НЕ рз.Пустой() Тогда

                //ЗначениеВР З.Выполнить().Выгрузить(),ДанныеФормыВЗначение(

                тзОрганизации = З.Выполнить().Выгрузить();

                стрРезультат.Значения.Вставить(«Организации»,тзОрганизации);

            КонецЕсли;    

            
            //Склады

            З.Текст = »

                |ВЫБРАТЬ

                  |    Данные77.Склад,

                  |    Данные77.СкладКлюч КАК Ключ,

                  |    МАКСИМУМ(Склады.Ссылка) КАК Ссылка

                  |ИЗ

                  |    Данные77 КАК Данные77

                  |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады

                  |        ПО Данные77.СкладКлюч = Склады.Ключ

                  |

                  |СГРУППИРОВАТЬ ПО

                  |    Данные77.Склад,

                  |    Данные77.СкладКлюч

                |

                  |ИМЕЮЩИЕ

                  |    МАКСИМУМ(Склады.Ссылка) ЕСТЬ NULL «;

            рз = З.Выполнить().Выгрузить();

            Если НЕ рз.Пустой() Тогда

                тзСклады = рз.Выгрузить();

                стрРезультат.Значения.Вставить(«Склады»,тзСклады);

            КонецЕсли;

            
            //Контрагенты

            З.Текст = »

                |ВЫБРАТЬ

                  |    Данные77.Контрагент,

                  |    Данные77.КонтрагентКлюч КАК Ключ,

                  |    МАКСИМУМ(Контрагенты.Ссылка) КАК Ссылка

                  |ИЗ

                  |    Данные77 КАК Данные77

                  |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты

                  |        ПО Данные77.КонтрагентКлюч = Контрагент.Ключ

                  |

                  |СГРУППИРОВАТЬ ПО

                  |    Данные77.Контрагент,

                  |    Данные77.КонтрагентКлюч

                |

                  |ИМЕЮЩИЕ

                  |    МАКСИМУМ(Контрагенты.Ссылка) ЕСТЬ NULL «;

            Если НЕ рз.Пустой() Тогда

                тзКонтрагенты = рз.Выгрузить();

                стрРезультат.Значения.Вставить(«Контрагенты»,тзКонтрагенты);

            КонецЕсли;

                                          
            //Продажи

            З.Текст = »

                |ВЫБРАТЬ

                |    Данные77.ОрганизацияКлюч,

                |    Данные77.СкладКлюч,

                |    Данные77.КонтрагентКлюч,                

                |    Данные77.Документ,

                |    Данные77.Период,

                |    Данные77.Сумма                

                |ИЗ Данные77″;

            Если НЕ рз.Пустой() Тогда

                тзПродажи = рз.Выгрузить();

                стрРезультат.Значения.Вставить(«Продажи»,тзПродажи);

            КонецЕсли;

                
            мвт.Закрыть();

            стрРезультат.Результат = Истина;

        Иначе                                        

            Сообщить(«У подключенной базы в выбранном периоде нет документов!»);

        КонецЕсли;

        
        v77 = Неопределено;

        
    Исключение

        Сообщить(ОписаниеОшибки());        

        Если мвт<>Неопределено Тогда

            мвт.Закрыть();

        КонецЕсли;

        v77 = Неопределено;

    КонецПопытки;

12

НЕА123

02.12.15

14:48

рз = З.Выполнить();

            Если НЕ рз.Пустой() Тогда

                //ЗначениеВР З.Выполнить().Выгрузить(),ДанныеФормыВЗначение(

                тзОрганизации = З.Выполнить().Выгрузить();

13

cfk

02.12.15

14:50

(12) Дайте пепла, я одел рубище

Закрыто

14

cw014

02.12.15

15:01

З.МенеджерВременныхТаблиц = мвт;

Удаляй это нафиг

17

cfk

02.12.15

15:18

(14),(15),(16) Слово ЗАКРЫТО означает что проблема решена. Тема Закрыта.

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Pick a username
Email Address
Password

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account

2.92 Объекты для отладки. Временная таблица уже существует

JohnyD Дата: Вторник, 10.09.2013, 15:20 | Сообщение # 1

Сержант

Группа: Проверенные

Репутация: 4

Статус: Оффлайн

Делаю отладку запроса. Создается элемент справочника «Объекты для отладки (ИР)». При открытии этого объекта вываливается сообщение об ошибке:


Цитата

{Обработка.ирКонсольЗапросов.Форма.Форма.Форма(2496)}: Ошибка при вызове метода контекста (Выполнить)
мОбъектЗапроса.Выполнить();
по причине:
{(1, 496)}: Временная таблица уже существует «_Создание_ПериодыЛьгот_ЗначенияНаНачало_»
ВЫБРАТЬ ДАТАВРЕМЯ(1,1,1) КАК Период, ЗНАЧЕНИЕ(Справочник.Льготы.ПустаяСсылка) КАК Льгота, ВЫБОР КОГДА ЛОЖЬ ТОГДА ЗНАЧЕНИЕ(Справочник.ДополнительныеПараметрыЛьгот.ПустаяСсылка) КОГДА ЛОЖЬ ТОГДА ИСТИНА КОГДА ЛОЖЬ ТОГДА ЗНАЧЕНИЕ(Справочник.МетодыРасчетаЛьгот.ПустаяСсылка) КОГДА ЛОЖЬ ТОГДА ВЫРАЗИТЬ(«» КАК СТРОКА(500)) КОГДА ЛОЖЬ ТОГДА ДАТАВРЕМЯ(1,1,1) КОГДА ЛОЖЬ ТОГДА ВЫРАЗИТЬ(0 КАК ЧИСЛО(15, 2)) КОГДА ЛОЖЬ ТОГДА ЗНАЧЕНИЕ(Перечисление.БюджетныеУровни.ПустаяСсылка) КОНЕЦ КАК Действует ПОМЕСТИТЬ <<?>>_Создание_ПериодыЛьгот_ЗначенияНаНачало_

Внутренности этого элемента во вложении

Добавлено (10.09.2013, 15:20)
———————————————
Не знаю как сюда прикрепить файл (txt, zip и 7z не разрешены). Положил вот так: http://pastebin.com/

Сообщение отредактировал JohnyDСреда, 11.09.2013, 14:48

 
tormozit Дата: Среда, 11.09.2013, 09:03 | Сообщение # 2

Генералиссимус

Группа: Администраторы

Репутация: 145

Статус: Оффлайн

К сожалению не могу десериализовать этот объект для отладки, т.к. там есть зависимости от твоих метаданных (в значениях параметров).
Добейся его десериализации в пустой конфигурации ИР и выложи снова.

По поводу прикрепления файлов должно работать. Возможно ты не нажал плюсик после выбора файла?

 
JohnyD Дата: Среда, 11.09.2013, 09:46 | Сообщение # 3

Сержант

Группа: Проверенные

Репутация: 4

Статус: Оффлайн

Да, попробую сделать запрос поменьше, без привязки к метаданным.
А нельзя сделать так, чтобы при открытии консоли из «объектов для отладки» дерево запросов не строилось автоматом? Именно на этом этапе ошибка и вываливается.

По поводу прикрепления файлов: у меня при выборе файла внизу всплывает окошко с надписью «Недопустимый формат изображения»

Сообщение отредактировал JohnyDСреда, 11.09.2013, 09:51

 
tormozit Дата: Среда, 11.09.2013, 10:10 | Сообщение # 4

Генералиссимус

Группа: Администраторы

Репутация: 145

Статус: Оффлайн

Построение дерева автоматом полезно в большинстве случаев. Поэтому не хотелось бы это отключать. Давай сначала воспроизведем проблему в чистом виде.
По файлам проверил. Действительно, для группы пользователей Проверенные не было разрешено загружать любые файлы. Теперь разрешил.

 
JohnyD Дата: Среда, 11.09.2013, 11:21 | Сообщение # 5

Сержант

Группа: Проверенные

Репутация: 4

Статус: Оффлайн

Удалось-таки локализовать проблему. Сократить запрос до минимума и повыкидывал все свои специфичные таблицы. Вот что осталось:


Код

ВЫБРАТЬ
    втПериодыДляДвижений.Абонент
ПОМЕСТИТЬ втИтог
ИЗ
    втПериодыДляДвижений КАК втПериодыДляДвижений
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
          Контрагенты.Ссылка КАК Ссылка
       ИЗ
          втПериодыДляДвижений КАК ЛьготыАбонентов
             ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
             ПО ЛьготыАбонентов.Льгота = Контрагенты.Ссылка) КАК СрезПриоритета
       ПО втПериодыДляДвижений.Льгота = СрезПриоритета.Ссылка
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
          Контрагенты.Ссылка КАК Ссылка
       ИЗ
          втПериодыДляДвижений КАК ЛьготыАбонентов
             ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
             ПО ЛьготыАбонентов.Льгота = Контрагенты.Ссылка) КАК СрезМонетизируется
       ПО втПериодыДляДвижений.Льгота = СрезМонетизируется.Ссылка

Если попробовать построить дерево, то вывалится ошибка:


Цитата

{Обработка.ирКонсольЗапросов.Форма.Форма.Форма(2496)}: Ошибка при вызове метода контекста (Выполнить)
мОбъектЗапроса.Выполнить();
по причине:
{(1, 76)}: Временная таблица уже существует «_Создание_втПериодыДляДвижений_Контрагенты_»
ВЫБРАТЬ ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) КАК Ссылка ПОМЕСТИТЬ <<?>>_Создание_втПериодыДляДвижений_Контрагенты_

Причем ошибка не вываливается, если убрать строку «ПОМЕСТИТЬ втИтог».
Также ошибка не вываливается, если заменить таблицу Справочник.Контрагенты на любую «временную», например «втКонтрагенты»

 
tormozit Дата: Среда, 11.09.2013, 13:28 | Сообщение # 6

Генералиссимус

Группа: Администраторы

Репутация: 145

Статус: Оффлайн

Проблема не воспроизводится на 2.93.

 
JohnyD Дата: Среда, 11.09.2013, 15:43 | Сообщение # 7

Сержант

Группа: Проверенные

Репутация: 4

Статус: Оффлайн

Что-то я пропустил выход 2.93. Извиняюсь
Обновил на 2.93. Теперь на попытки открыть из объектов для отладки тот же запрос вываливается ошибка:


Цитата

{Обработка.ирКонсольЗапросов.Форма.Форма.Форма(3443)}: Значение не является значением объектного типа (ТекстЗапроса)
И МассивСоздаваемыхВременныхТаблиц.Количество() > 0

Там «ПолеТекстовогоДокументаСКонтекстнойПодсказкой» имеет «Неопределено»


Далее вываливает ту же ошибку. На «чистом» из пред. поста не воспроизводится. млин… буду вычищать новый.

Добавлено (11.09.2013, 15:43)
———————————————
В общем вот очередной запрос, на котором при построении дерева запроса вываливается ошибка:

Код

ВЫБРАТЬ
    ПодЗапрос.Ссылка
ПОМЕСТИТЬ вт1
ИЗ
    (ВЫБРАТЬ
       Контрагенты.Ссылка КАК Ссылка
    ИЗ
       Справочник.Контрагенты КАК Контрагенты) КАК ПодЗапрос
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ПодЗапрос.Ссылка
ПОМЕСТИТЬ вт2
ИЗ
    (ВЫБРАТЬ
       Контрагенты.Ссылка КАК Ссылка
    ИЗ
       Справочник.Контрагенты КАК Контрагенты) КАК ПодЗапрос

Сообщение отредактировал JohnyDСреда, 11.09.2013, 14:48

 
tormozit Дата: Четверг, 12.09.2013, 09:54 | Сообщение # 8

Генералиссимус

Группа: Администраторы

Репутация: 145

Статус: Оффлайн

Спасибо. Ошибка будет исправлена в следующей версии.

 
tormozit Дата: Четверг, 12.09.2013, 21:27 | Сообщение # 9

Генералиссимус

Группа: Администраторы

Репутация: 145

Статус: Оффлайн

Исправлено в 2.94

 
JohnyD Дата: Пятница, 13.09.2013, 10:04 | Сообщение # 10

Сержант

Группа: Проверенные

Репутация: 4

Статус: Оффлайн

Спасибо большое, проблема ушла.
Только появилась другая проблемка: при открытии объекта для отладки задваеваются некоторые параметры запроса

 
tormozit Дата: Среда, 25.09.2013, 10:21 | Сообщение # 11

Генералиссимус

Группа: Администраторы

Репутация: 145

Статус: Оффлайн

По задваиванию параметров проблема не совсем понятна. Просьба описать ее отдельно, если не исправлена в 2.94

 
JohnyD Дата: Среда, 25.09.2013, 10:31 | Сообщение # 12

Сержант

Группа: Проверенные

Репутация: 4

Статус: Оффлайн

Сделал видео. Отправил ссылку через скайп.

 
tormozit Дата: Пятница, 27.09.2013, 13:57 | Сообщение # 13

Генералиссимус

Группа: Администраторы

Репутация: 145

Статус: Оффлайн

JohnyD, сделай отдельную тему с описанием воспроизведения проблемы.

 
JohnyD Дата: Пятница, 27.09.2013, 13:59 | Сообщение # 14

Сержант

Группа: Проверенные

Репутация: 4

Статус: Оффлайн

Да, Сергей, сделаю обязательно. Просто никак не могу создать простой и независимый пример. Как только — так сразу.. wink

 
tormozit Дата: Воскресенье, 06.10.2013, 21:47 | Сообщение # 15

Генералиссимус

Группа: Администраторы

Репутация: 145

Статус: Оффлайн

JohnyD, скорее всего твоя проблема задваивания параметров при вызове функции Отладить устранена в 2.97

 
  • Страница 1 из 2
  • 1
  • 2
  • »

{Обработка.Импорт.Форма.Форма.Форма}: Ошибка при вызове метода контекста (Выполнить): {(12, 11)}: Временная таблица уже существует «Данные77» ПОМЕСТИТЬ <<?>>Данные77

второй раз вызываешь без обнуления переменных…

Отладкой делаешь З.Выполнить, смотришь результат. А как оно само доходит до этой строчки, то падает.

тоесть нет =) С первого раза выскакивает. А менеджер в исключении закрывается

не понял, чем будет отличаться отладка от рантайма в данном случае

тем, что в рантайм не будет повторного создания ВТ

(8,9) где вы видите повторное создание. С ПЕРВОГО раза выскакивает, говорю вам. и Менеджер временных таблиц закрывается каждый раз при исключении. Т.е. временные таблицы после каждого исключения уничтожаются.

Дайте пепла, я одел рубище Закрыто

З.МенеджерВременныхТаблиц = мвт; Удаляй это нафиг

,, Слово ЗАКРЫТО означает что проблема решена. Тема Закрыта.

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Понравилась статья? Поделить с друзьями:

Интересное по теме:

  • 1с ошибка времени выполнения поле объекта не обнаружено
  • 1с ошибка аварийное завершение работы
  • 1с ошибка xml при загрузке
  • 1с ошибка union 256
  • 1с ошибка server addr

  • Добавить комментарий

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: