|
Временная таблица уже существует (8.3) | ☑ | ||
---|---|---|---|---|
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
|
второй раз вызываешь без обнуления переменных...
|
|||
3
cfk
02.12.15
✎
14:39
|
(1)нет
|
|||
4
Nuobu
02.12.15
✎
14:40
|
(1) Отладкой делаешь З.Выполнить(), смотришь результат.
А как оно само доходит до этой строчки, то падает. |
|||
5
cfk
02.12.15
✎
14:40
|
тоесть (2) нет =) С первого раза выскакивает. А менеджер в исключении закрывается
|
|||
6
VikingKosmo
02.12.15
✎
14:40
|
(4) 300%
|
|||
7
cfk
02.12.15
✎
14:41
|
(4) не понял, чем будет отличаться отладка от рантайма в данном случае
|
|||
8
Nuobu
02.12.15
✎
14:41
|
(7) Сделай без отладки.
|
|||
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
|
З.МенеджерВременныхТаблиц = мвт;
Удаляй это нафиг |
|||
15
cw014
02.12.15
✎
15:01
|
А, стоп
|
|||
16
cw014
02.12.15
✎
15:01
|
Ошибся
|
|||
17
cfk
02.12.15
✎
15:18
|
(14),(15),(16) Слово ЗАКРЫТО означает что проблема решена. Тема Закрыта.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |