Тоже сейчас бегло просматриваю. Практически сразу меня смутили строчки:
Код |
---|
// Создаем временную таблицу журнала документов
ЗапросВрт = базаДанных.НовыйЗапрос();
Если ЕстьТакаяТаблица(базаДанных,"ДокЖурналВирт") <> 0 Тогда
ЗапросВрт.ВыполнитьЗапрос("DROP table ДокЖурналВирт");
КонецЕсли;
ЗапросВрт.ВыполнитьЗапрос("create virtual table ДокЖурналВирт using dbeng(_1С.JOURN)");
// Создаем виртуальную таблицу журнала документов чтобы не мешать в транзакции народу
Если ЕстьТакаяТаблица(базаДанных,"ДокЖурналВрем") <> 0 Тогда
ЗапросВрт.ВыполнитьЗапрос("DROP table ДокЖурналВрем");
КонецЕсли;
запСоздЖурнала = базаДанных.НовыйЗапрос();
запСоздЖурнала.ВыполнятьВТранзакции =1;
запСоздЖурнала.ВыполнитьЗапрос("Create table ДокЖурналВрем (
|idjournal TEXT,
|iddoc TEXT,
|iddocdef TEXT,
|date TEXT,
|docno TEXT,
|verstamp TEXT,
|ISMARK VARCHAR(1))"); Показать полностью |
Я так понимаю здесь: таблица удаляется, если была, потом создаётся, потом опять удаляется, потом опять создаётся.
Или я ещё не проснулся?
П.С.
1) В 1sqlite уже давно есть автоподключение таблиц, поэтому "ЗапросВрт.ВыполнитьЗапрос("create virtual table ДокЖурналВирт using dbeng(_1С.JOURN)");" можно и не писАть.
2) в sqlite есть такое: "drop table IF EXISTS" и "creat table IF EXISTS"