Имя: Пароль:
1C
1С v8
Чем или как просмотреть лог-файл lgb?
0 Saari
 
15.10.15
10:57
Есть лог-файл "1Cv8.lgd" sql-базы 1С БУХ 2.0 (платформа 8.3).
Как или чем его открыть для просмотра?
Помогите, пожалуйста.
1 Saari
 
15.10.15
10:58
Извините, в теме ошибка в типе файла: нужно читать как lgd.
2 Живой Ископаемый
 
15.10.15
11:00
поставить драйвер, подключить как внешний ситочник данных, нарисовать обработку, которая будет выполнять запрос к этому внешнему источнику данных.
3 Saari
 
15.10.15
11:05
(2) драйвер поставил, обработку нарисовал как здесь написано:
http://catalog.mista.ru/public/302977/index.php?ID=302977index.php%3Flogout%3Dyes

Как подключить как внешний источник данных?
В конфигурации БУХ есть "Внешние источники данных". Но в нем ничего нет.
4 Живой Ископаемый
 
15.10.15
11:10
Не, добавлять можно не в ту базу, лог которой анализируешь. Лучше вообще в какую-то пустую. Но можно и в эту конечно...
Раз пусто - то добавь, и вбей строку подключения типа такой:

DRIVER=SQLite3 ODBC Driver;
JDConv=0;
BigInt=0;
LoadExt=;
OEMCP=0;
JournalMode=;
FKSupport=0;
NoWCHAR=0;
NoCreat=0;
LongNames=0;
ShortNames=0;
Timeout=;
NoTXN=0;
SyncPragma=;
StepAPI=0;
Database=D:\EPF_ERF\1Cv8.lgd; //сюда путь к твоему, предварительно скопированному в другой каталог файлу лога
5 Aleksey
 
15.10.15
11:11
а разве не BigInt=1;?
6 Живой Ископаемый
 
15.10.15
11:19
мне накласть, хоть 2. Мое дело подсказать, а дело автора - экспериментами добиться наилучшего для себя результата
7 Saari
 
15.10.15
11:26
(4)  Получилось создать во Внешних источниках данных Таблицы путем Вашей строки подключения.
Появились таблицы.
Написал обработку по примеру, что приводил выше.
Но при попытке установить соединение выдается ошибка:
"Ошибка при вызове метода контекста (УстановитьСоединение)
    ВнешниеИсточникиДанных.ЖурналРегистрации.УстановитьСоединение();
по причине:
Ошибка ODBC. SQLSTATE: IM002
Номер ошибки: 0
Описание: [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию
"
8 Живой Ископаемый
 
15.10.15
11:30
я не устанавливал соединение. Установил однажды в конфигураторе, и потом выполнял запрос как в твоей же обработке, без первых 4-х строк
9 Saari
 
15.10.15
11:37
(8) В конфигураторе при сохранении конфигурации после добавления таблиц получил сообщение:

ВнешнийИсточникДанных.ЖурналРегистрации.Таблица.SessionDataSplits: Не указано ни одного поля ключа
ВнешнийИсточникДанных.ЖурналРегистрации.Таблица.EventLogMetadata: Не указано ни одного поля ключа
ВнешнийИсточникДанных.ЖурналРегистрации.Таблица.sqlite_sequence: Не указано ни одного поля ключа
ВнешнийИсточникДанных.ЖурналРегистрации.Таблица.SessionDataCodes: Не указано ни одного поля ключа
ВнешнийИсточникДанных.ЖурналРегистрации.Таблица.SessionUsers: Не указано ни одного поля ключа
ВнешнийИсточникДанных.ЖурналРегистрации.Таблица.ComputerToUserCodes: Не указано ни одного поля ключа
ВнешнийИсточникДанных.ЖурналРегистрации.Таблица.SessionHosts: Не указано ни одного поля ключа

Проигнорировал и продолжил, применил изменения.
У появившихся таблиц имена на английском языке.
Есть ли где расшифровка какая таблица что хранит?
Насколько я понял, мне нужна таблица EventLog.
10 Живой Ископаемый
 
15.10.15
11:39
да сразу уже пришли документы на усыновление.
Экспериментируй, тряпка, расскажи ты нам какая что хранит, пусть это будет твое открытие!
11 cw014
 
15.10.15
11:42
По моему тут все и вся уже вдоль и поперек излазано
12 Saari
 
15.10.15
12:01
В конфигураторе есть такая структура:
Внешние источники данных
  ЖурналРегистрации
    Таблицы
       <ИмяТаблицы>
       EventLog
       <ИмяТаблицы>

где <ИмяТаблицы> - имена таблиц.

В обработке пишу запрос:
Запрос = Новый Запрос();
    Запрос.Текст = "ВЫБРАТЬ
    |    ЗаписиЖурнала.RowID,
    |    ЗаписиЖурнала.severity,
    |    ЗаписиЖурнала.date,
    |    ЗаписиЖурнала.primaryPortCode,
    |    ЗаписиЖурнала.secondaryPortCode
    |ИЗ
    |ВнешниеИсточникиДанных.ЖурналРегистрации.Таблицы.EventLog КАК ЗаписиЖурнала";
    
    ТаблицаДанных = Запрос.Выполнить().Выгрузить();

И получаю сообщение при запуске запроса:

Ошибка при вызове метода контекста (Выполнить)
    ТаблицаДанных = Запрос.Выполнить().Выгрузить();
по причине:
{(24, 5)}: Таблица не найдена "ВнешниеИсточникиДанных.ЖурналРегистрации.Таблицы.EventLog"
<<?>>ВнешниеИсточникиДанных.ЖурналРегистрации.Таблицы.EventLog КАК ЗаписиЖурнала

Но таблица такая есть в конфигурации.
Или к ней нужно по-другому обратиться? Как?
13 Живой Ископаемый
 
15.10.15
12:03
Значит все-таки нужны строки по подключению.
14 Saari
 
15.10.15
12:05
Написал в запросе так:
|ИЗ
| ВнешнийИсточникДанных.ЖурналРегистрации.Таблица.EventLog КАК ЗаписиЖурнала";
И запрос отработал (синтаксически), но выдалось сообщение:

Ошибка при вызове метода контекста (Выполнить)
    ТаблицаДанных = Запрос.Выполнить().Выгрузить();
по причине:
Ошибка выполнения запроса
по причине:
Ошибка ODBC. SQLSTATE: IM002
Номер ошибки: 0
Описание: [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию
15 Живой Ископаемый
 
15.10.15
12:12
http://screencast.com/t/viivFYV7

Ну так покажи строку подключения.
16 Saari
 
15.10.15
12:19
Строка подключения:

"DRIVER=SQLite3 ODBC Driver;JDConv=0;BigInt=1;LoadExt=;OEMCP=0;JournalMode=;FKSupport=0;NoWCHAR=0;NoCreat=0;LongNames=0;ShortNames=0;Timeout=;NoTXN=0;SyncPragma=;StepAPI=0;Database=c:\111\1Cv8.lgd;";

в конфигураторе в результате появился набор таблиц.
но при выполнении запроса выдается ошибка, приведенная выше.
17 Живой Ископаемый
 
15.10.15
12:21
я имею в виду есть в обработке такие строчки:
ПараметрыСоединения = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;
ПараметрыСоединения.СтрокаСоединения = "DRIVER=SQLite3 ODBC Driver;JDConv=0;BigInt=1;LoadExt=;OEMCP=0;JournalMode=;FKSupport=0;NoWCHAR=0;NoCreat=0;LongNames=0;ShortNames=0;Timeout=;NoTXN=0;SyncPragma=;StepAPI=0;Database=c:\111\1Cv8.lgd;";
ВнешниеИсточникиДанных.ЖурналРегистрации.УстановитьОбщиеПараметрыСоединения(ПараметрыСоединения);
ВнешниеИсточникиДанных.ЖурналРегистрации.УстановитьСоединение();,
18 Живой Ископаемый
 
15.10.15
12:26
м... что там еще может быть. Ты говоришь что драйвер постаивл, список таблиц в конфигураторе появился... Я правда не знаю, конфигуратор какой драйвер использует - клиентский, установленный на той машине где исполняется. или серверный, если база клиент-серверная. Но в любом случае - база клиент-сервераня или файловая?
19 SilentMan
 
15.10.15
12:26
(0) Конфигуратор или стандартная функция просмотра журнала из рантайма?
20 Saari
 
15.10.15
12:29
(17) да, в обработке есть такие строки. И в результате выдается сообщение об ошибке подключения (как выше написал).

Если выполнить запрос без подключения в обработке перед запросом, то тоже такое же сообщение выдается.

Базу использую файловую.
в таблице EventLog установил тип данных таблицы как "Необъектные данные", а были "Объектные данные". Не помогло.
21 Saari
 
15.10.15
12:29
(19) не понял вопроса.
22 Saari
 
15.10.15
12:30
ВнешниеИсточникиДанных.ЖурналРегистрации.УстановитьОбщиеПараметрыСоединения(ПараметрыСоединения); - это отрабатывает.
а это ВнешниеИсточникиДанных.ЖурналРегистрации.УстановитьСоединение(); - нет.
23 Живой Ископаемый
 
15.10.15
12:34
яснопонятно. а у меня работает
24 Saari
 
15.10.15
12:37
возможно и в драйвере проблема. Но какой поставить?
отсюда? http://www.ch-werner.de/sqliteodbc/
из строки: For Win32
25 Живой Ископаемый
 
15.10.15
12:38
да
26 Живой Ископаемый
 
15.10.15
12:38
но можно и х64 поставить :)
27 SilentMan
 
15.10.15
12:43
(21) lgd-файл можно просмотреть штатными инструментами платформы
28 Живой Ископаемый
 
15.10.15
12:51
2(27) гы. И то верно, через Все функции\Стандартные\Журнал регистрации\Tot\Просмотреть из файла
29 Saari
 
15.10.15
13:25
(28) попытался открыть средствами платформы. Получил сообщение:
Ошибка формата файла журнала регистрации
по причине:
sqlite3_exec failed: attempt to write a readonly database
db: C:\111\1Cv8.lgd
sql: PRAGMA journal_mode = delete
30 Живой Ископаемый
 
15.10.15
13:48
сними атрибут ридонли с файла, проверь права... Ну вообще, предположи для разнообразия, что это сообщение не было ложью
31 Saari
 
15.10.15
14:16
(30) сразу сделал. Видимых атрибутов ридонли не вижу. Ппроверю еще.
32 Saari
 
15.10.15
14:50
(28)  Теперь стало выдавать сообщение (при открытии в БУХ 3.0):
sqlite3_open_v2 failed: unable open database file
file: C:\111\1cv8.lgd

ничего не понимаю...
33 Saari
 
15.10.15
15:19
получилось!
переустановил драйвера и запрос заработал.
Спасибо всем!
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший