Все огромное спасибо.
Разобралси что ды как.
вот кстати и пример чего мене надо было.
Если ЭтоSQL=1 Тогда
Запрос=глСоединение();
ТекстЗапроса = "
|If not Exists (Select *
| From sysobjects
| Where id = object_id('docsidd') and objectproperty(id, 'IsUserTable') = 1
| )
| Create table docsidd (iddoc varchar(9) primary key not null
|,
| stat int
| )";
Если Запрос.ВыполнитьСкалярный(ТекстЗапроса) = 0 Тогда
ЗаписьЖурналаРегистрации("Инициализация docsidd: ошибка инициализации", "Инициализация", "Инициализация таблиц SQL", , 5);
КонецЕсли;
Текст="
|select
| d.stat ЕстьДокументы
|from docsidd d (nolock)
|WHERE
|d.iddoc=?
|";
Если Запрос.Подготовить(Текст)=0 Тогда
Сообщить(Запрос.GetLastError());
Возврат;
КонецЕсли;
Запрос.ДобПараметр(1,14,9,0);
Иначе
ИмяБД = КаталогИБ()+"baza.db3";
база = СоздатьОбъект("SQLiteBase");
база.Открыть(ИмяБД);
Запрос = база.НовыйЗапрос();
Запрос.ВыполнитьЗапрос("PRAGMA journal_mode=WAL");
Текст="
|Create table if not EXISTS
|docsidd (
| iddoc char(9) primary key not null,
| stat int
|)";
Запрос.ВыполнитьЗапрос(Текст);
Текст="
|select
| stat
|from docsidd
|WHERE
|iddoc=@ВыбДок
|";
Запрос.Подготовить(Текст);
КонецЕсли;
это при открытии журнала.
потом 2 процедура обновления таблицы
Процедура ЕстьДокументы(Фл)
Если ПустоеЗначение(ТекущийДокумент)=1 Тогда
Возврат;
КонецЕсли;
Если глЕстьРеквизитШапки("ЕстьДокументы",ТекущийДокумент.Вид()) <> Да Тогда
Возврат;
КонецЕсли;
Если ЭтоSQL=1 Тогда
Запрос.УстПараметр(1,ТекущийДокумент,0);
ТЗ=Запрос.ВыполнитьИнструкцию();
стат=ТЗ.КоличествоСтрок();
ЗапросОбновление=глСоединение();
ЗапросОбновление.УстановитьТекстовыйПараметр("ВыбДок",ТекущийДокумент);
Если стат=0 Тогда
Текст="INSERT INTO docsidd (iddoc,stat) VALUES(:ВыбДок,"+Фл+")";
Результат=ЗапросОбновление.ВыполнитьСкалярный(Текст);
Иначе
Текст="update docsidd
|set stat="+Фл+"
|from docsidd d
|WHERE
|d.iddoc=:ВыбДок
|";
Результат=ЗапросОбновление.ВыполнитьСкалярный(Текст);
КонецЕсли;
Иначе
ИмяБД = КаталогИБ()+"baza.db3";
база = СоздатьОбъект("SQLiteBase");
база.Открыть(ИмяБД);
ЗапросОбновление= база.НовыйЗапрос();
ЗапросОбновление.ВыполнитьЗапрос("PRAGMA journal_mode=WAL");
ЗапросОбновление.Подставлять("ВыбДок",ТекущийДокумент);
Текст="INSERT or REPLACE INTO docsidd VALUES (:ВыбДок,"+Фл+")";
Стат=ЗапросОбновление.ВыполнитьЗапрос(Текст);
КонецЕсли;
КонецПроцедуры
и функция для вывода информации о наличии документов
Функция фЕстьДокументы()
Если ПустоеЗначение(ТекущийДокумент)=1 Тогда
Возврат "";
КонецЕсли;
Если ЭтоSQL=1 Тогда
Запрос.УстПараметр(1,ТекущийДокумент,0);
Если Число(Запрос.ВыполнитьСкалярный())=1 Тогда
Возврат "+";
КонецЕсли;
Иначе
Запрос.УстановитьПараметр("@ВыбДок",ТекущийДокумент);
Стат=Запрос.Выполнить();
рез=Стат.КоличествоСтрок();
Если рез=1 Тогда
Если Стат.ПолучитьЗначение(1,1)=1 Тогда
Возврат "+";
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецФункции