Конвертация журнала регистрации из 1С 8.2 в SQLite 1С 8.3, слияние журналов регистрации в SQLite 1С 8.3

03.12.17

База данных - Журнал регистрации

Конвертация журнала регистрации из 1С 8.2 в SQLite 1С 8.3, слияние журналов регистрации в SQLite 1С 8.3. Обработка на 1С 8.2 / 8.3.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Обработка для конвертации журнала регистрации (за стартмани)
.epf 19,04Kb ver:1.0
34 3 800 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Журнал регистрации в 1С 8.3 хранится в виде базы данных SQLite , в отличие от 1С 8.2, где журнал регистрации хранится в двух и более файлов не совсем очевидной структуры. Данная обработка предназначена для дополнения приемника информацией из источника. Источником может служить журнал регистрации обеих версий (выбирается lgf в случае 8.2 и lgd в случае 8.3). Приемником - только журнал регистрации 1С 8.3 и он обязательно должен существовать (обработка не создает новый файл, а дополняет существующий корректный файл, созданный самой 1С-кой). Что может обработка:

  • Добавление журнала регистрации 1С 8.2 в журнал регистрации 1С 8.3
  • Добавление журнала регистрации 1С 8.3 в журнал регистрации 1С 8.3

Для чего может быть использована обработка:

  • Конвертация старого журнала регистрации в новый на SQLite . Для тех, кто поленился сделать это непосредственно при переходе на новую платформу, а теперь хранит старые журналы отдельно и ищет в них информацию вручную. Ну или для эстетов =)
  • Объединение старых журналов регистрации с целью прямого доступа посредством SQLite (в т.ч. на платформе 8.2). Это пригодится тем, кто хочет делать отчеты по журналу регистрации в 1С 8.2, но желает быстродействия.
  • Объединение новых журналов регистрации после каких-либо манипуляций с ними. Подойдет тем, кто постоянно переносит журнал регистрации на отдельный диск в целях экономии места на сервере. Ну и тем, у кого просто по каким-либо причинам журналы от одной разделились.

Проблем с русскими буквами нет, я их пофиксил еще на этапе разработки (кстати, метод требует очень много дисковых операций). Для использования обработки необходимо установить SQLite на клиент, с которого будет осуществляться запуск. Используется для подключения "DSN=SQLite3 Datasource", вроде при установке SQLite она должна будет прописаться самостоятельно. Если нет, то прописывать нужно будет для 32-битной версии. Собственно, правильная установка SQLite уже за рамками данной публикации.

Из практики. Обработка использовалась для конвертации журнала 3.2 Гб старого формата в новый. Занимало это до 15 часов. При этом выходной файл будет в полтора-два раза больше или около того, потому что это уже база данных и у нее присутствует индексация. При слиянии двух новых журналов регистрации совсем не важно, кто будет источником, а кто приемником - на хронологию событий в отображении это не повлияет. Всего через нее прошло 20 Гб старых журналов и примерно столько же новых. Ошибок обнаружено не было.

Если файл SQLite не открывается и выдает ошибку (после вытаскивания его из под базы), то его можно восстановить при помощи утилиты из комплекта SQLite3, информация есть в сети. Не спешите его хоронить. Если же сбой произошел при работе данной обработки, то операцию конвертации следует повторить с самого начала. Не забывайте сохранять копию файла-приемника для таких случаев.

Обработка идет одним файлом без каких-либо дополнений. Авторство моё.

Вступайте в нашу телеграмм-группу Инфостарт

Журнал регистрации ЖР конвертация администрирование 8.2 8.3.

См. также

Перенос данных 1C Программист 1С:Предприятие 8 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

58000 руб.

04.08.2015    184589    429    298    

439

SALE! 15%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

22650 руб.

12.06.2017    158150    947    317    

477

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

50050 руб.

25.02.2015    186614    349    283    

411

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.264.x) и БП 3.0 (3.0.192.x). Правила подходят для версии ПРОФ и КОРП.

38000 34200 руб.

15.12.2021    32694    243    61    

183

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление торговлей 10 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.25.x).

38000 34200 руб.

23.07.2020    66237    309    86    

248

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы

58000 руб.

29.10.2018    61470    77    128    

76

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 3, УНФ 3 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

16531 руб.

18.02.2016    199953    662    543    

559

Перенос данных 1C Программист Бухгалтер 1С:Предприятие 8 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ ФОМС, ЕФС Платные (руб)

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет заработной платы 3.0», «КАМИН:Зарплата для бизнеса 4.0» и «КАМИН:Зарплата 5.0» на конфигурацию «Зарплата и управление персоналом» версии 3.1.

12200 руб.

25.09.2016    89669    409    257    

340
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. BigB 193 05.12.17 16:25 Сейчас в теме
А разве в конфигураторе нельзя сконвертировать?
2. Euroset1 12 05.12.17 19:31 Сейчас в теме
(1)
Можно, но только один раз при переходе. Но как правило у админов находится та самая папка, куда складывали оставшиеся файлики. И конечно же забыли их перелить на сервер для конвертации.
3. asved.ru 37 06.12.17 14:50 Сейчас в теме

			sessionDataSplitCode	= "0";   // мы его не копируем. Иначе пришлось бы тянуть еще 5 непонятных таблицц



Вот об этом предупреждать надо. Это ключ разделения данных, установленного в сеансе, сформировавшем события.
Но все равно спасибо.


(2)
Можно, но только один раз при переходе

Не совсем так: берем пустую файловую базу, удаляем из ее каталога lgd, подбрасываем ей файлики lgf/lgp и конвертируем. Минус в том, что для автоматизации процесса приходится задействовать всяческие autoit, т.к. все управляется только в графическом интерфейсе.

И несколько заклинаний для быстродействия записи sqlite.
pragma mmap_size=1073741824;
pragma cache_size=32768;
pragma journal_mode=OFF;
pragma synchronous=OFF;
pragma temp_store = MEMORY; 
4. Euroset1 12 06.12.17 20:07 Сейчас в теме
(3)
sessionDataSplitCode ни разу не встречал на практике. По поводу старого формата в сети не так много полезной инфы, а про это конкретно поле (откуда оно берется из старой версии) ни грамма нет. Поэтому ноль.

Касаемо пустой базы - это логично, но все равно файлов будет много, а их потом сливать надо в один. Стандартными методами это не сделать, так как там справочники могут иметь разные индексы и понеслась.

Насчет заклинаний - о них на момент разработки не знал. Но это почти не важно - ведь львиная доля времени приходится на дисковые операции. А именно, на процесс преобразования одной кодировки в другую))) Ибо 1С классная платформа.
5. Euroset1 12 07.12.17 07:08 Сейчас в теме
(3)
sessionDataSplitCode.
Я чуть уточню, что имел ввиду. Из журналов около сотни исследуемых баз (как 8.2, так и 8.3 версии клиента) ни в одной не был заполнен этот ключ. Везде ноль.
6. asved.ru 37 07.12.17 11:30 Сейчас в теме
(5)
http://v8.1c.ru/overview/Term_000000788.htm
Этот механизм используется, например, в 1С:Fresh
7. Euroset1 12 07.12.17 21:31 Сейчас в теме
(6)
В таком случае, для работы с подобными механизмами данная обработка подойдет лишь частично.
16. user1455510 11.11.21 11:11 Сейчас в теме
(2)
Можно, но только один раз при переходе

Файл журнала регистрации можно открыть в конфигураторе через меню Файл -> Открыть

Далее через конфигуратор: меню Файл -> Скохранить как... -> Указать новый формат *.lgd

Таким образом можно конвертнуть множество файлов.


ps: как конвертнуть из нового в старый напишите кто знает
17. kuzyara 2237 11.11.21 11:15 Сейчас в теме
(16) https://techlab.rarus.ru/news/articles/pereklyuchenie-zhurnala-registratsii-v-staryy-format/
Перевод журнала регистрации в старый формат
Штатные средства платформы 1С не позволяют перевести журнал регистрации из нового формата в старый. Здесь мы опишем способ, который позволит выполнить данную задачу вручную. Итак, для начала необходимо остановить службу 1С. При этом, необходимо согласовать данное действие с пользователями, так как при этом они не смогут работать с информационными базами, которые находятся в соответствующих кластерах 1С.

Переключение журнала регистраций_2.png
После того как служба 1С остановлена, переходим в каталог файлов информационной базы для которой необходимо изменить формат журнала регистрации. Данный каталог выглядит следующим образом:

…\1cv8\[каталог служебных файлов службы 1С, обычно srvinfo]\reg_ + [номер порта менеджера кластера]\[UUID информационной базы]

Уникальный идентификатор информационной базы (UUID) можно получить из файла «1CV8Clst.lst», который располагается в каталоге реестра кластера. Для быстрого получения идентификаторов баз и их имен из файла реестра кластера можно воспользоваться следующим регулярным выражением:

\{(\w{8}\-.*\w{12})\,\"(.*?)\"\,.*[\\r]*\n+.*\"\,\d+\}

Далее в каталоге файлов информационной базы ищем папку «1Cv8Log» и переносим оттуда все файлы в отдельный каталог. Затем в папке «1Cv8Log» создаем пустой файл журнала регистрации в старом формате «1Cv8.lgf».

После того как все этапы данной процедуры выполнены, запускаем службу 1С. Готово, теперь журнал регистрации переведен в старый формат. Чтобы обратно вернуться к новому формату ЖР воспользуйтесь инструкцией, описанной во введении данной статьи.
Показать
18. Euroset1 12 11.11.21 21:56 Сейчас в теме
(16)
(17)
Коллеги. Обработка создавалась в те времена, когда этого сделать было нельзя. Да и на старых релизах 8.2 (на которых сидит очень много) до сих пор так.
Ее предназначение было не только перевод, но и объединение журналов. То есть Вы могли сначала неудачно перевести базу, а потом еще и проработать на ней неделю. А потом ой, а мы же журнал забыли, ну и как бы других вариантов кроме объединить или забить, не будет. На моей практике была неделя, за которую базу переносили между несколькими машинами, так еще и между кластерами. Естественно, журналы штук 5 файлов lgd скопилось. Мы легко превратили это все в один файл и подсунули базе.

Что касается штатных методов, то спасибо 1С, что через сто лет они изволили продвинуться в этом направлении. Опять же, объединением разных кусков журнала там не пахнет. Но если Вам нужно всего лишь перенести базу и время не поджимает именно в момент переноса (например, вся ночь впереди), то пользуйтесь конечно типовым функционалом. Он должен работать побыстрее, т.к. там не требуются танцы с бубном для преобразования кодировки с использованием диска.
19. Euroset1 12 11.11.21 21:58 Сейчас в теме
(17) не совсем понимаю, как такой способ поможет перенести данные журнала. Я здесь вижу только способ создать пустой журнал.
8. Euroset1 12 13.02.19 12:22 Сейчас в теме
Для себя открыл еще один способ применения данной обработки. Если у вас есть один отказоустойчивый кластер, который содержит несколько физических серверов (только для 8.3), то при сбое одного из центральных серверов журнал регистрации будет писаться согласно требований назначения функциональности на другой сервер. В итоге после восстановления работоспособности основного сервера, на который назначен высший приоритет для сервиса журнала регистрации, имеем два физических sqlite файла. Один из них основной на основном. Второй - это кусок за период сбоя. Чтобы этот кусок перелить в основной журнал достаточно на 5-10 минут остановить службу (для высвобождения журналов) и воспользоваться обработкой. Если конечно не используется редкий функционал "разделения данных".
9. Euroset1 12 12.03.19 17:05 Сейчас в теме
Я тут задумал воспользоваться этой разработкой, но драйвер забыл откуда брать и как ставить. Поэтому потратил около 2 часов на воспоминание того момента, откуда брать драйвер и как его устанавливать. Раз уж потратил, то приобщу эти знания сюда.

Итак, нам нужно не просто какой-то драйвер SQLite, а именно ODBC драйвер. Потому что данная обработка использует доступ через ADODB Connection. На родном сайте есть лишь DLLка и куча бесполезной документации. С этой DLLкой ничего не сделать, она бесполезна с точки зрения данной обработки. Касаемо ODBC драйвера, то он есть по ссылке ODBC драйвер для SQLite3. Забираем драйвер той разрядности, которой у нас клиент, потому что обработка выполняется на клиенте и файлы располагаются там же. Обычно это 32-битная версия. Далее инсталлируем его через далее-далее-готово. И скорее всего, больше ничего делать не придется.

К моему великому удивлению, за несколько лет в сети ни одного толкового мануала по поисковому запросу не выходит. Просто тупо как поставить ODBC для скулайт. Так что, кому-то поможет, надеюсь.
10. victor_k 95 06.09.19 11:46 Сейчас в теме
Спасибо помогло! Скачал. Добавил обычную форму. Объединил разорванный журнал в БП 2.
11. victor_k 95 07.09.19 13:56 Сейчас в теме
(10) К сожалению не корректно объединяет. Работа в конфигурации БП 2, с объединенным журналом с помощью данной обработки стала не стабильна, а точнее не возможна. При входе и открытие документов зависание, на сервере 1С в таблице сеансов имя пользователя отсутствовало. Похоже, что то с драйвером ODBC или алгоритмом слияния, надо разбираться.
12. Euroset1 12 07.09.19 17:40 Сейчас в теме
(11)
Я столько раз ее использовал и на 8.2 и на 8.3 релизах, что в такой ситуации скорее грешил бы на релиз или на изначально разрушенные данные в одном из файлов. Попробуйте при помощи утилиты sqlite.exe пошаманить над исходными файлами. Какие-нить пересчеты индексов, восстановление и вакуум прописать. А потому уже сливать файлы. Мне разок пришлось это сделать.

Чтобы вы понимали масштаб моего тестирования. Использовано на более чем 20 рабочих баз, более 100 раз всего. В ситуациях, когда приходилось удалять БД в консоли кластера и заново их создавать на этом или ином сервере. Там меняется гуид базы и создается новый журнал, не всегда получается выключать службу и подпихивать сразу старый заместо нового.

И все же советую использовать только в управляемом приложении с родной формой в тонком клиенте.
13. victor_k 95 08.09.19 15:55 Сейчас в теме
(12) Оказалось, что каким то образом потерялись права на файл журнала регистрации для учетной записи под которой запускается сервер 1С. Завтра в рабочем режиме пользователи протестируют, тогда и отпишусь окончательно .
14. victor_k 95 09.09.19 07:06 Сейчас в теме
(12) Вроде все хорошо, полдня в рабочем режиме полет нормальный! Еще раз спасибо!
15. MrFlanker 252 18.03.20 14:57 Сейчас в теме
Спасибо вроде работает. Осталось последний фал логов добавить. У меня в трех местах они оказались из за смены физического сервера, а потом перехода на 64бит.
Для отправки сообщения требуется регистрация/авторизация