#0
by cw014
День добрый, коллеги! Есть вопрос по сабжу. Данный журнал вытащить получилось, впринципе все устраивает, но есть одно !НО!. В нем есть поле "data", в нем хранится информация, но эта информация в "кракозябрах" (псевдуникод от 1С). Так вот вопрос. Можно ли в запросе к sqlite указать какую-нибудь конструкцию, что бы преобразовать это поле в читаемое? (Именно в запросе, кодом 1С не предлогать) И если такого нельзя сделать - есть ли возможность внедрить пользовательскую функцию в sqlite? (через php это сделать можно, но PHP обработчика на сервере нет и не будет) Заранее спасибо!
#2
by SiAl-chel
1. "не предлАгать" 2. Что за журнал регистрации? От базы 1С? Как он попал в sqlite? Может стоит в механизм импорта журнала регистрации что-то подправить?
#5
by cw014
Всё обсудили? Вопросов посторонних если больше нету, хотелось бы услышать ваши предложения
#10
by Aleksey
можно Обращаю внимание на параметр в строке подключения "BigInt=1", только так, поле хранящее дату будет возвращать корректный результат. Кстати, дата хранится как целое число. Например, если дата равна 635453673444260, то чтобы перевести в привычный тип Дата, нужно сделать так: ОбычнаяДата = '00010101000000' + 635453673444260/10000; //03.09.2014 18:55:44 (с)
#11
by cw014
Читал, ответа на вопрос не получил Как вариант, но неохота временную таблицу создавать и туда пост-обработкой пихать Суть такова - 1 раз в день журнал регистрации выкидывается в MSSQL уже преобразованный (корректные строки, даты вместо чисел). После этого журнал регистрации очищается. Задача такая: совместить данные MSSQL и SQLITE (через внешние источники данных), то есть поля должны быть идентичными. P.S. Не по теме немного. Можно прямо в запросе сделать: SELECT datetime(date/10000-62135578800,'unixepoch') END as date FROM EventLog
#14
by Aleksey
что UP? Строка соединения какая? ПараметрыСоединения.СтрокаСоединения = "DRIVER=SQLite3 ODBC Driver;Database=" + ФайлЖурналаРегистрации + ";BigInt=1;"; BigInt = 1 прописывал? Что он возвращает в этом случае?
#16
by cw014
BigInt влияет на даты. С датами я решил вопрос. Надо решить вопрос со СТРОКАМИ UNICODE в UNICODE (как 1С любит делать)
#19
by cw014
Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): parser stack overflow
#27
by cw014
Отлично, что в поле data у тебя Не совсем, однако механизмов у ODBC я не нашел. Если подскажешь - респект тебе
#28
by Живой Ископаемый
А как ты вообще читаешь ЖР? У меня через ОДБС при помощи Внешних Источников Данных так и не вышло.... было сказано что файл или не база данных вовсе или заэкнрипчен
#29
by oleg_km
Ну вот: 1179:b872ca30957d86c64807bf83bf442104 - это похоже ссылка Или вот: "ServerSysLog" - то я сам писал А, вот что-то записалось непонятное: "СерверныеСервисы._ЗапуститьМонитор" При этом в комментарии все нормально: {Обработка.окПроцессУдаленный.МодульОбъекта}: Вызов службы SrvAGP. System.ArgumentException: Process with an Id of 7660 is not running. at System.Diagnostics.Process.GetProcessById(Int32 processId) at SrvAGP.RequestCmdGetExec.ExecCmd(ResponseCmd oResp) Ну т.е. в comment все пишется нормально, а в data что-то с уникодом. Может два раза нужно преобразовать?
#31
by cw014
Копируй из папки куда нибудь файлы lgd, lgd-shm и lgd-wal. 1С открывает их на RW - ODBC уже не может открыть их, так как они заняты 1Синой
#32
by Живой Ископаемый
хм... Ну я так и сделал, что ж я по-твоему совсем того... драйвер брал отсюда:
#33
by oleg_km
sqlitebrowser открыл файл прямо на ходу, без копирования. Может там нужно флажок монопольный доступ где-нибудь снять
#36
by Живой Ископаемый
2 Все-таки в итоге получилось, коггда завел через Источники ОДБЦ файловый ДСН, указал Драфвер для 3 СКЛЛайт, потом из полученного файла ДСН скопировал текст, и вставил его как строку подключения для Внешнего Источника Данных, разделив строки ";". В конфигураторе увидел все таблицы, кинул таблицу EventLog в качестве источника ДинамическогоСписка на УФ, и в режиме предприятия не увидел ни строчки. :( Потерял пока интерес, и закрыл все... Может позже.
#37
by cw014
Радует, что у тебя что-то получилось. А теперь может кто-нибудь подсказать по моему вопросу?
#40
by Провинциальный 1сник
А почему бы не хранить журнал регистрации в самой базе, используя СУБД базы? Что мешает, непонятно.. Возможно некоторые события должны логироваться и без связи с базой - пусть, но их на несколько порядков меньше, чем событий, связанных базой.
#42
by Провинциальный 1сник
Ну так база не целиком блокируется. А при добавлении строки события блокировка таблицы журнала регистрации не обязательна. Думаю, это (хранение ЖР вне базы) - тяжкое наследство файлового формата базы, которое по какой-то непонятной причины тянут и в клиент-сервер.
#43
by cw014
Молодец. Наверное невнимательно читаешь форум. В основном поля нормальные, кроме поля "data"
#47
by Strogg
где почитать, чтоб начальству переслать? А то неделю долбился - восстанавливал ЖР после краша...
#48
by Живой Ископаемый
да, действительно... Ну тогда вот корявый способ: Вот способ, про который чувак думает что он не корявый: :) Успехов
#50
by Живой Ископаемый
А как прямо в запросе. чтобы например к этому полю мы могли например применить оператор "ПОДОБНО" - так и ваще
#52
by cw014
Мой коллега сказал, что это похоже на "вырывание гланд через ж**у бор-машиной с приминением автогена"
#53
by Провинциальный 1сник
С такой же проблемой можно столкнуться, когда надо текстовый файл, хранящийся в двоичных данных, интерпретировать как текст в 1с. Ну не умеет объект типа Текст загружаться из двоичных данных, только из файла. Вот и приходится выгружать ДД в файл, а потом загружать в Текст. Другого варианта нет(
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Журнал проводок и журнал операций
- Журнал регистрации
- Помогите найти журнал(ОткрытьФорму("Журнал.Подчиненные.ФормаСписка",,ТекущД)...
- Обработка Универсальный журнал(журнал поиска), помогиде доделать.
- Побороть журнал регистрации
- v7: Объект заблокирован: Журнал расчетов журнал зарплата
- Выгрузить Журнал Регистрации в таблицу значений
- Восстановить базу SQLite (журнал регистрации)
- Журнал регистрации 1С на SQLite - из-за чего возникают сбои?
- Журнал регистрации перестал записывать новые события журнал небольшой 4 гБт
В этой группе 1С
- Стандартный период в своем макете СКД
- Программное сохранение документа 1с
- Как в запросе из регистра расчета получить группировку по дням ?
- УТ 10.3, Frontol и отчет о продажах
- Ввод данных по зарплате в 1С УПП 8,2
- УТ11 нумерация документов
- Где хранится таблица значений?
- Перенос субконто 7.7 --> 8.2
- Обращение к экспортному методу в модуле формы
- Себестоимость + % интеркампани (синхронизация с БП)
- Обновление 1С:УПП из командной строки
- v7: Функция не обнаружена
- УФ обновление инфы в табличной части документа
- Не работает настройка списка 1С8.2 УТ10.3
- Бух 2,0,,64,39 Рег.отчет. "Заявление о ввозе товара и ..." Как вывести дес.часть
- Где "все программы" в Windows Server 2012??
- ЗУП 3.0 Совмещение должностей
- УТ11: Изменить проведение документа Корректировка реализации
- Восстановить базу SQLite (журнал регистрации)
- v7: AddIn.XMLParser вылетает 1С