Конвертация журнала регистрации из 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
34
34 Скачать (4 SM) Купить за 2 750 руб.

Журнал регистрации в 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.

См. также

SALE! 10%

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

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

50722 45650 руб.

04.08.2015    165221    384    276    

369

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 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. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

26280 руб.

12.06.2017    140212    783    295    

410

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

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

28000 руб.

15.12.2021    23181    160    48    

117

Зарплата Внешние источники данных Бюджетный учет Перенос данных 1C Системный администратор Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 8 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

84000 руб.

19.08.2020    24437    23    1    

25

SALE! 10%

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

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

50722 45650 руб.

15.04.2019    71557    180    149    

120

SALE! 10%

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Предлагаем качественное и проверенное временем решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам. При выходе новых релизов конфигураций 1C оперативно выпускаем обновление переноса данных.

50722 45650 руб.

24.04.2015    194207    149    242    

279

SALE! 10%

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

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

50722 45650 руб.

31.10.2014    236090    99    334    

304

SALE! 10%

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

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

48278 43450 руб.

03.12.2020    36064    90    63    

86
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. BigB 193 05.12.17 16:25 Сейчас в теме
А разве в конфигураторе нельзя сконвертировать?
2. Euroset1 11 05.12.17 19:31 Сейчас в теме
(1)
Можно, но только один раз при переходе. Но как правило у админов находится та самая папка, куда складывали оставшиеся файлики. И конечно же забыли их перелить на сервер для конвертации.
3. asved.ru 36 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 11 06.12.17 20:07 Сейчас в теме
(3)
sessionDataSplitCode ни разу не встречал на практике. По поводу старого формата в сети не так много полезной инфы, а про это конкретно поле (откуда оно берется из старой версии) ни грамма нет. Поэтому ноль.

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

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

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

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

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


ps: как конвертнуть из нового в старый напишите кто знает
17. kuzyara 2077 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 11 11.11.21 21:56 Сейчас в теме
(16)
(17)
Коллеги. Обработка создавалась в те времена, когда этого сделать было нельзя. Да и на старых релизах 8.2 (на которых сидит очень много) до сих пор так.
Ее предназначение было не только перевод, но и объединение журналов. То есть Вы могли сначала неудачно перевести базу, а потом еще и проработать на ней неделю. А потом ой, а мы же журнал забыли, ну и как бы других вариантов кроме объединить или забить, не будет. На моей практике была неделя, за которую базу переносили между несколькими машинами, так еще и между кластерами. Естественно, журналы штук 5 файлов lgd скопилось. Мы легко превратили это все в один файл и подсунули базе.

Что касается штатных методов, то спасибо 1С, что через сто лет они изволили продвинуться в этом направлении. Опять же, объединением разных кусков журнала там не пахнет. Но если Вам нужно всего лишь перенести базу и время не поджимает именно в момент переноса (например, вся ночь впереди), то пользуйтесь конечно типовым функционалом. Он должен работать побыстрее, т.к. там не требуются танцы с бубном для преобразования кодировки с использованием диска.
19. Euroset1 11 11.11.21 21:58 Сейчас в теме
(17) не совсем понимаю, как такой способ поможет перенести данные журнала. Я здесь вижу только способ создать пустой журнал.
8. Euroset1 11 13.02.19 12:22 Сейчас в теме
Для себя открыл еще один способ применения данной обработки. Если у вас есть один отказоустойчивый кластер, который содержит несколько физических серверов (только для 8.3), то при сбое одного из центральных серверов журнал регистрации будет писаться согласно требований назначения функциональности на другой сервер. В итоге после восстановления работоспособности основного сервера, на который назначен высший приоритет для сервиса журнала регистрации, имеем два физических sqlite файла. Один из них основной на основном. Второй - это кусок за период сбоя. Чтобы этот кусок перелить в основной журнал достаточно на 5-10 минут остановить службу (для высвобождения журналов) и воспользоваться обработкой. Если конечно не используется редкий функционал "разделения данных".
9. Euroset1 11 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 11 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 229 18.03.20 14:57 Сейчас в теме
Спасибо вроде работает. Осталось последний фал логов добавить. У меня в трех местах они оказались из за смены физического сервера, а потом перехода на 64бит.
Оставьте свое сообщение