Экспорт журнала регистрации. Набор инструментов (приложения + исходный код)

Публикация № 1240376 26.05.20

Администрирование - Администрирование данных 1С - Журнал регистрации

журнал регистрации экспорт ClickHouse ElasticSearch SQLServer PostgreSQL. MySQL логи

Набор инструментов для экспорта данных журнала регистрации во внешние хранилища для Windows и Linux (SQL Server, PostgreSQL, MySQL). Готовые приложения и исходный код.

Что в коробке

В прошлой статье "Работа с журналом регистрации. Выходим за границы платформы" были представлены библиотеки на базе .NET Core для чтения файлов данных журнала регистрации, а также экспорта их во внешние хранилища (на текущий момент это базы SQL Server, PostgreSQL, MySQL, ClickHouse, индексы ElasticSearch). Основными причинами для экспорта данных могут быть:

  • Низкая производительность стандартного журнала регистрации для Ваших задач: мониторинга работы системы, рассылок по ошибкам, различного рода отчеты и многое другое. Сценариев использования журнала регистрации может быть великое множество.
  • Необходимость хранить и бэкапировать журнал регистрации в удобном, единообразном виде с возможностью бэкапирования и быстрого развертывания.
  • Влияние на стабильность работы использование стандартного журнала регистрации, вплоть до зависания рабочих процессов или менеджера кластера 1С.
  • Другие причины. Если их перечислять, то вся публикация будет об этом.

Если в прошлый раз были представлены библиотеки, которые Вы можете использовать в своих разработках на платформе .NET Core, то сейчас будут выложены готовые приложения. Их Вы можете скачать и использовать на свое усмотрение, и под свои задачи. Доступны как подготовленные для использования сборки, так и весь проект исходных кодов. Все приложения также базируются на свободных библиотеках:

Поехали дальше!

Перед началом

Но сначала нужно уточнить некоторые моменты. Библиотеки чтения и экспорта данных бесплатные и распространяются по лицензии MIT. Предлагаемые разработки в этой статье не будут выставляться на коммерческой основе (то есть за рубли). Сейчас их можно скачать за StartMoney. Скачивая их здесь, Вы поддерживаете проект создания различных библиотек и приложений, расширяющих возможности платформы 1С. Следующие планируемые разработки на момент создания статьи это:

  • Добавление поддержки экспорта в MongoDB
  • Добавление поддержки экспорта в CosmosDB (да, есть такая, если кто не знал)
  • Создание LINQ-провайдера для файлов данных журнала регистрации
  • Библиотека для диагностики процесса реструктуризации и динамического обновления
  • И многие, многие другие идеи.

Кроме этого Вы можете поддержать разработку отправкой pull-request'ов, создание подробных Issue в репозиториях открытых библиотек и любой другой посильно и полезной, на Ваш взгляд, помощью. Не стесняйтесь писать в личные сообщения или на электронную почту.

А теперь к делу.

Требования

Для работы приложений требуется установленный .NET Core 3.1.

Работа библиотек тестировалась со старым текстовым форматом (*.LGF) и новым SQLite (*.LGD) для платформ от версии 8.3.5 до 8.3.16 включительно).

Под Windows и Linux (в основном Ubuntu последний версий и CentOS).

Сценарии использования

Основные сценарии использования - это ручная выгрузка данных из файлов журнала регистрации во внешнее хранилище или автоматический запуск приложения для экспорта данных. В последнем случае это можно делать либо по расписанию, либо выполнять экспорт на постоянной основе по мере появления изменений. Рассмотрим каждый из сценариев. От простого к сложному.

GUI-приложение

Решение будет привычным для тех, кто не любит консоль :). Классическое приложение для экспорта данных журнала регистрации. Работа с ним проста:

  • В поле "Каталог журнала" указываем путь к файлу журнала регистрации, который необходимо выгрузить в базу данных.
  • Настраиваем информационную систему:
    • Указываем имя. Будет создана запись для указанной информационной системы и все записи журнале будут загружены от ее имени. Таким образом, в базе можно хранить журналы регистрации разных информационных баз, разделяя их по системам.
    • Указываем описание. Это справочная информация об информационной системе.
    • Часовой пояс при необходимости. По умолчанию используется локальный часовой пояс.
  • Выбираем тип хранилища, куда будут выгружаться данные. Доступны следующие виды хранилищ:
    • SQL Server
    • PostgreSQL
    • MySQL
    • ClickHouse
  • Указываем размер порции данных для выгрузки. По умолчанию это 10000 записей. Именно столько за одну итерацию будет выгружено из журнала в хранилище. Можно подобрать его под свои ресурсы, учитывая правило: чем больше порция, тем больше требуется аппаратных ресурсов приложению, но при этом скорость выгрузки может быть значительно ускорена. Если порция слишком маленькая, то время на получение каждой этой порции может занимать основную часть времени экспорта данных, снижая производительность. Но при этом и аппаратных ресурсов приложение будет использовать меньше. Везде нужен баланс.
  • Поддерживается все возможности библиотеки, кроме экспорта в ElasticSearch.

Выглядит это вот так.

При открытии / закрытии приложения настройки сохраняются, поэтому не рекомендую хранить логины и пароли в строке подключения. Будьте бдительны :). NTLM наше все.

При первом подключении приложение попытается создать базу данных для хранения записей журнала. База содержит все основные таблицы для хранения данных журнала, а также таблицу информационных систем и историю обработанных файлов данных. Базы схожи как для SQL Server, так и для PostgreSQL.

 
 База данных для хранения данных журналов регистрации (SQL Server)

Приложение только для Windows и требует установки .NET Core 3.1. Может использоваться для ручной выгрузки данных из файлов журнала регистрации. Например, если Вы их ранее бэкапировали, а теперь желаете перевести в другие хранилище. Для регулярной выгрузки использовать крайне неудобно.

Консоль наше все

Консольное приложение - это более универсальное решение, которое можно использовать как для ручного экспорта данных, так и для автоматического режима запуска по расписанию. Принцип работы такой же как и у приложения выше, за исключением некоторых доп. параметров. Для запуска приложения необходимо создать файл конфигурации, путь к которому будет передан в качестве параметра запуска. Также можно создать файл "appsettings.json" в каталоге приложения. В последнем случае приложение найдет его автоматически. Вот пример файла конфигурации.

{
  "StorageType": "SQLServer",
  "ConnectionStrings": {
    "EventLogDatabase": "Data Source=<ВашСервер>;Initial Catalog=<ИмяБазыДанных>;Integrated Security=True"
  },
  "InformationSystem": {
    "Name": "Бухгалтерия 3.0",
    "Description": "Информационная база для бухгалтерского учета.",
    "TimeZone": "" // Часовой пояс. Если пустой - то локальный часовой пояс
  },
  "EventLog": {
    "SourcePath": "C:\\Program Files\\1cv8\\srvinfo\\reg_1541\\0c00509b-1c70-4e5c-8bd4-fe01221561a4\\1Cv8Log\\1Cv8.lgd",
    "UseWatchMode": true,
    "DelayMs": 60000,
    "Portion": 10000
  }
}

Для ElasticSearch настройки несколько отличаются

 
 Для ElasticSearch

Подробнее о каждой настройке:

  • StorageType - тип хранилища для экспорта данных. Доступные значения: SQLServer, PostgreSQL и MySQL, ElasticSearch, ClickHouse.
  • ConnectionStrings - раздел с настройками подключения к хранилищу.
    • EventLogDatabase - строка подключения к базе данных для экспорта.
  • InformationSystem - настройки информационной системы, журнал регистрации которой будет выгружаться.
    • Name - имя информационной системы.
    • Description - описание информационной системы.
    • TimeZone - часовой пояс читаемых логов для корректных проверок и сравнения дат.
  • EventLog - настройки обработки данных журнала регистрации.
    • SourcePath - путь к каталогу с файлами данных журнала регистрации. Может быть указан как каталог, так и конкретный файл журнала (LGF или LGD).
    • UseWatchMode - булево. False - означает, что при запуске приложение выгрузит все данные, которые удастся получить и после завершит работу. True - выгрузка данных будет выполняться порциями и с некоторой периодичностью. После выгрузки всех данных приложение не завершит работу, а будет ожидать появления новых данных в журнале регистрации.
    • DelayMs - время в миллисекундах, с которым приложение будет проверять наличие новых данных для экспорта. Используется, если параметр UseWatchMode  установлен в True.
    • Portion - максимальное количество событий, которое выгружается за одну итерацию обработки данных журнала регистрации.
  • ElasticSearch - раздел с настройками для ElasticSearch
    • Node - адрес узла
    • MaximumRetries - количество попыток отправки запроса
    • MaxRetryTimeout - количество попыток повторного подключения при таймауте.
    • IndexSeparationPeriod - принцип разделения индексов по периоду
    • IndexName - имя индекса

Кроме этого, консольное приложение может использоваться как для Windows, так и для Linux. Оно полностью переносимое. Вот так выглядит работа приложения.

Это был запуск без явного указания файла конфигурации, т.к. "appsettings.json" находился в каталоге самого приложения. Вот то же самое под Linux (в этом конкретном случае под Ubuntu 20.04 с установленным .NET Core 3.1).

Скорость экспорта ниже в последнем случае только потому, что Ubuntu запущена на виртуальной машине с весьма ограниченными ресурсами. Стоит отметить, что приложение позволяет и под Linux выполнять экспорт во все доступные хранилища (как SQL Server, так и PostgreSQL). На анимации выше как-раз процесс выгрузки данных в базу SQL Server из-под Ubuntu. Как уже говорилось ранее, база данных на PostgreSQL почти такая же по структуре как и для SQL Server. Файл конфигурации экспорта данных также очень похож на то, что делается для экспорта в базу SQL Server.

 
 База данных для хранения данных журналов регистрации (PostgreSQL)
 
 Пример файла конфигурации для экспорта в PostgreSQL

Таким образом, можно с помощью приложения запускать экспорт данных журнала регистрации вручную, так и автоматизировано скриптами. Не важно Linux это или Windows, главное корректно создать файл конфигурации и указать приложению на его использование. Если нужно запускать приложение с разными файлами конфигурации, то просто передавайте путь к ним первым параметром.

E:\YY.EventLogManager\YY.EventLogManager.ConsoleApplication.exe -config "C:\Configs\appsettings-buh3.json"
E:\YY.EventLogManager\YY.EventLogManager.ConsoleApplication.exe -config "C:\Configs\appsettings-ut11.json"

Перейдем к следующему сценарию использованию.

Служба

Все мы знакомы со службами Windows. Было бы логично использовать службу, если экспорт журнала регистрации будет вестись на постоянной основе. Это позволит иметь во внешнем хранилище журнал регистрации, максимально приближенный по состоянию к журналу самой 1С. Сейчас рассмотрим такой сценарий. При этом создадим службу как в Windows, так и демон в Linux. Да, да. В Windows это служба, а в Linux это демон :)

Начнем со службы Windows.

На стороне Windows

Фактически исполняемый файл службы похож по логике работы на консольное приложение, только взаимодействие с ним производится не через графический / консольный интерфейс, а через специальный API управления службой. С помощью этого API можно запускать, останавливать службу, приостанавливать (если доступно), регистрировать, удалять и др. Для регистрации службы достаточно распаковать соответствующее приложения в каталог, создать файл конфигурации экспорта и зарегистрировать службу.

Допустим, содержимое архива со службой было распаковано в каталог "E:\YY.EventLogManager" (это просто для примера). После этого создаем файл конфигурации экспорта аналогичный тем, что были в примерах выше.

{
  "StorageType": "SQLServer",
  "ConnectionStrings": {
    "EventLogDatabase": "Data Source=<ВашСервер>;Initial Catalog=<ИмяБазыДанных>;Integrated Security=True"
  },
  "InformationSystem": {
    "Name": "Бухгалтерия 3.0",
    "Description": "Информационная база для бухгалтерского учета.",
    "TimeZone": "" // Часовой пояс. Если пустой - то локальный часовой пояс
  },
  "EventLog": {
    "SourcePath": "C:\\Program Files\\1cv8\\srvinfo\\reg_1541\\0c00509b-1c70-4e5c-8bd4-fe01221561a4\\1Cv8Log\\1Cv8.lgd",
    "UseWatchMode": true,
    "DelayMs": 60000,
    "Portion": 10000
  }
}

По этим настройкам экспорт данных журнала регистрации будет выполняться в базу данных SQL Server в режиме ожидания изменений. Каждые 60 секунд служба будет проверять наличие изменений и отправлять их по 10000 событий за раз. Поместим этот файл конфигурации в тот же каталог "E:\YY.EventLogManager".

Теперь нужно зарегистрировать службу. Тут важный момент - это необходимость при регистрации службы указать в качестве параметра запуска путь к созданному файл конфигурации. С помощью любимого PowerShell (никто не запрещает использовать старый добрый cmd.exe или, о святые угодники на мопеде, OneScript) зарегистрируем службу:

sc.exe create YY.EventLogManager.Service BinPath="E:\YY.EventLogManager\YY.EventLogManager.Service.exe --config ""E:\YY.EventLogManager\appsettings.json""" start=auto
sc.exe description YY.EventLogManager.Service "Экспорт данных журнала регистрации во внешнее хранилище (SQLServer, база БУХ 3.0)"

Проверим результат, открыв оснастку управления службами в "Панель управления - Администрирование - Службы" (примерно такой путь, но зависит от версии Windows).

Грандиозный успех! Остается только запустить службу и проверить ее работу. Т.к. пользовательского интерфейса нет, то единственный вариант диагностики - это изучение логов. Каталог с логами "Logs" создается в том же каталоге, где находится файл конфигурации. В нашем случае это "E:\YY.EventLogManager". В примере все прошло хорошо (на то он и пример) и в файле с логами можно увидеть следующее:

 
 Содержимое файла логов службы

Инициализация настроек выполнена успешна и начата процедура экспорта данных. Все ОК.

Но могут быть ситуации, когда сначала нужно будет настроить права доступа к каталогу с данными журнала регистрации, настроить доступ к базе данных, фаерволы, другие настройки безопасности, установить .NET Core 3.1 и так далее. Но это уже другая история, да и на что нам нужны еще сисадмины :).

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

На стороне Linux

Но как создать службу, или демона, в Linux? Рассмотрим пример на дистрибутиве Ubuntu 20.04 с уже установленным .NET Core 3.1. Опять же, распаковываем соответствующую сборку в каталог. Например, вот в такой:

/home/<YourUserName>/Apps/EventLogExportDaemon

Далее уже в который раз создаем файл конфигурации экспорта. Пусть в этот раз экспорт будет выполняться в базу PostgreSQL, не зря же мы в Linux пришли.

A279;{
  "StorageType": "PostgreSQL",
  "ConnectionStrings": {
    "EventLogDatabase": "Host=<СерверБазДанных>;Port=5432;Database=<ИмяБазыДляВыгрузки>;Username=<ИмяПользователя>;Password=<Пароль>"
  },
  "InformationSystem": {
    "Name": "EventLogFromLinux",
    "Description": "Тестовая выгрузка из Linux с помощью демона.",
    "TimeZone": "" // Часовой пояс. Если пустой - то локальный часовой пояс
  },
  "EventLog": {
    "SourcePath": "/home/usr1cv8/.1cv8/1C/1cv8/reg_1541/231724bb-bb58-402d-ac21-9b61e7be1ae9/1Cv8Log/1Cv8.lgf",
    "UseWatchMode": true,
    "DelayMs": 30000,
    "Portion": 1
  }
}

Пусть Вас не смущает настройка выгрузки 1 события раз в 30 секунд. Это просто для теста. Файл конфигурации сохраним в тот же каталог, где находиться приложение.

Далее проверим запуск. Выполним команду (из-под sudo для упрощения примера, иначе пришлось бы настраивать права и др.):

sudo dotnet /home/<YourUserName>/Apps/EventLogExportDaemon/YY.EventLogManager.Daemon.dll

--config /home/<YourUserName>/Apps/EventLogExportDaemon/appsettings.json

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

 
 Пример логов службы в Linux

Как мы видим, ручной запуск показал, что файл конфигурации корректен и приложение работает. Пойдем дальше и зарегистрируем приложение в качестве демона в системе. Вместо того, чтобы описать каждый шаг этой процедуры я предложу отличную статью по этому поводу: "How to install a .NET Core service on linux server". В разделе "Create a systemd service" описаны пару простых шагов для регистрации демона в системе и управления им. Все просто и, думаю, Вас ничего не удивит, раз уж Вы дочитали до этой строки и зашли так далеко :).

Немного про диагностику ошибок

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

Для всех предложенных решений реализовано ведение логов. Для консольного и GUI-приложения создается каталог "Logs" в текущем рабочем каталоге. Там сохраняется вся необходимая информация о происходящем и именно она может помочь в поиске причин ошибок или нерабочей конфигурации экспорта. Для служб (Windows и Linux) каталог с логами находится рядом с файлом конфигурации экспорта, который передается в качестве параметра запуска.

В любом случае, при возникновении проблем в работе приложений - Вы всегда можете написать мне на почту. Если же Вы нашли проблему в работе одной из свободных библиотек, то не стесняйтесь создавать Issue или Pull-request в соответствующем репозитории.

По мере возможности будут выпускаться обновления как самих библиотек, так и приложений из этой публикации.

 
 Как лучше всего присылать информацию об ошибках или пожеланиях на доработку

Немного 1С

Небольшой бонус ко всем приложениям - это отчет для 1С, который работаем с базами журнала регистрации через внешний источник данных. Вся мощь СКД в Вашем распоряжении для получения данных и их анализа. И, да. Теперь через внешний источник можно работать с журналом регистрации простой консолью запросов. Как Вам такое?

 
 Работа с журналом регистрации в отчете на СКД
 
 Работа с журналом регистрации запросами 1С

Узнаете консоль запросов? Это одно из лучших решений в своем роде и не устану его рекламировать.

Управляемая консоль запросов, отчетов 3.8.8 (расширение, внешняя обработка)

Автору консоли еще раз огромное спасибо за работу!

P.S. На анимации Вы можете видеть, как с помощью стандартного 1С'ного запроса можно получить идентификатор объекта метаданных. Круто, не правда ли? :)

 
 Внешний источник данных журнала регистрации

Отчет и внешний источник данных приложены к публикации в виде файла конфигурации. Это не готовое решение на все времена, но оно может решить большинство простых задач по работе с журналом регистрации, выгруженном во внешнюю базу данных. Подходит как для SQL Server, так и для PostgreSQL. Главное корректно настроить строку подключения.

При желании Вы можете часть функционала вывести во внешние отчеты или вообще в расширение.

Это еще не конец

Вы могли дочитать до конца и задаться вопросом: если библиотеки на GitHub бесплатные и распространяются под лицензией MIT, то зачем мне скачивать эти разработки за StartMoney? Ответ прост: для поддержки проекта. Все полученные средства будут направлены на эксперименты с платформой, на создание других библиотек, оплату мощностей в облаках и многое другое.

Приложения в этой публикации все еще не относятся к готовым решениям уровня enterprise, но могут быть полезны для решения некоторых задач. Также Вы можете самостоятельно дорабатывать предложенные решения, использовать свободные библиотеки.

Вы абсолютно не обязаны скачивать здесь что-либо за SM. Вместо этого можете создать свое решение с использованием библиотек или же вообще создать все с нуля.

В будущем будут совершенствоваться библиотеки для работы с журналом регистрации, о чем Вы можете прочитать в разделе TODO к каждой библиотеке на GitHub. Кроме этого будут выложены в общий доступ некоторые другие инструменты:

Как быстро это будет происходить зависит от Вас.

P.S. Подписывайтесь на канал, ставьте лайки Linux, оставляйте комментарии issues и пишите на почту или в личку.

 
 История изменений

08.05.2021 - Исправление ошибок и улучшение функционала

  • Исправлены ошибки при чтения некоторых событий текстового формата журнала регистрации
  • Стабилизировано чтение в режиме "онлайн"
  • Улучшена поддержка часовых поясов для всех видов приложений

01.12.2020 - Добавлена поддержка ClickHouse, ElasticSearch и улучшена стабильность и производительность

  • Добавлена поддержка экспорта в базу ClickHouse
  • Добавлена поддержка экспорта в ElasticSearch
  • Исправлены ошибки при чтении данных при высокой интенсивности появления событий
  • Улучшена производительность
  • Добавлена настройка часового пояса (по умолчанию используется локальный) для улучшения экспорта из журнала регистрации из других часовых поясов
  • Переход на свежие версии библиотек, используемых в приложении
  • Расширены настройки консольного приложения в части указания каталога хранения логов и интерактивного взаимодействия

13.08.2020 - Добавлена поддержка MySQL. Исправлены некоторые ошибки и улучшена производительность

  • Добавлена поддержка экспорта в базу данных на MySQL
  • Улучшены механизмы кэширования для ускорения процесса экспорта данных
  • Улучшены структура таблиц и индексов баз данных для оптимизации производительности.
  • Для ссылочных полей добавлено новое поле "Presentation", позволяющее получить представление ссылки в более привычном виде (актуально для событий, уровня события, статуса транзакции).
  • Исправлена ошибка экспорта, если длина имени события больше 250 символов. Теперь длина имени ссылочных данных не важна.
  • Исправлена ошибка экспорта LGD-формата, когда не заполнялось поле DataUUID.
  • Множество других внутренних улучшений и изменений, с которыми можно ознакомиться в истории изменений проектов:
  • Подготовительные изменения для следующих функций (добавление поддержки ElasticSearch, фильтров выгружаемых событий и другого.

26.05.2020 - Добавлены исходные коды всех приложений и изменена цена для загрузки.

25.05.2020 - Выпущена основная публикация

Другие ссылки

Авторские разработки

 
 Другие разработки

 

Скачать файлы

Наименование Файл Версия Размер
Исходный код всех приложений. Проект Visual Studio 2019

.zip 126,89Kb
10
.zip 1.0.0.4 126,89Kb 10 Скачать
Консольное приложение для экспорта журнала регистрации (Windows, Linux)

.zip 23,04Mb
7
.zip 1.0.0.4 23,04Mb 7 Скачать
Графическое приложения для экспорта журнала регистрации (только для Windows)

.zip 22,28Mb
19
.zip 1.0.0.4 22,28Mb 19 Скачать
Служба Windows для экспорта журнала регистрации (только Windows)

.zip 23,11Mb
21
.zip 1.0.0.4 23,11Mb 21 Скачать
Демон (служба) для Linux (systemd) (только Linux)

.zip 23,06Mb
6
.zip 1.0.0.4 23,06Mb 6 Скачать
Внешний источник данных журнала регистрации + отчет

.cf 105,51Kb
20
.cf 1.0.0.0 105,51Kb 20 Скачать

Специальные предложения

Автор запретил комментарии

См. также

Внешний регламент для 1С Промо

Прочие инструменты разработчика v8 Россия Абонемент ($m)

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

1 стартмани

05.03.2020    7930    9    moolex    11    

Табличная часть как поле ввода

Практика программирования Прочие инструменты разработчика v8 Абонемент ($m)

Табличная часть как поле ввода с программным добавлением строк.

1 стартмани

20.09.2021    1777    4    harchenko_pavel    85    

Выгрузка измененных внешних обработок (за день)

Универсальные обработки Git (GitHub, GitLab, BitBucket) Прочие инструменты разработчика v8 8.3.14 1cv8.cf УТ10 УПП1 Абонемент ($m)

Выгрузка новых и измененных внешних обработок и отчетов за любой выбранный день: только одного или нескольких видов; разные папки или в все в одну; с добавлением кода в название файла или нет; только новые и измененные за один день или все. Полезна для версионирования.

1 стартмани

11.08.2021    880    3    Serg O.    3    

Разбор сайтов с применением Chrome devtools. Примеры от kuzkov.info

Практика программирования WEB Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Пример обработки-шаблона для веб-разбора сайтов с применением chrome devtools через веб-гнезда. Рассмотрение практического случая веб-разбора данных сайта с цитатами Пушкина. Плюсы применения обозревателя для веб-разбора перед получением и разбором голой строки html, полученной get запросом.

1 стартмани

06.08.2021    1430    0    Steelvan    6    

Подсистема "Показатели объектов" Промо

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Если вашим пользователям нужно вывести в динамический список разные показатели, которые нельзя напрямую получить из таблиц ссылочных объектов, и вы не хотите изменять структуру справочников или документов - тогда эта подсистема для вас. С помощью нее вы сможете в пользовательском режиме создать свой показатель, который будет рассчитываться по формуле или с помощью запроса. Этот показатель вы сможете вывести в динамический список, как любую другую характеристику объекта. Также можно будет настроить отбор или условное оформление с использованием созданного показателя.

2 стартмани

06.03.2021    6246    6    pila86    16    

HTTP-клиент

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Подсистема 1С для работы с HTTP.

1 стартмани

28.07.2021    4606    7    SpaceOfMyHead    29    

Проверка кода расширения (Все аннотации) на наличие изменений в основной конфигурации V 2.0

Прочие инструменты разработчика Расширения v8 Россия Абонемент ($m)

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

1 стартмани

28.06.2021    3362    21    con-men    6    

Шаблоны кода (управляемые формы)

Практика программирования Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Шаблоны кода на управляемых формах.

2 стартмани

22.05.2021    3260    4    Rustig    19    

FormCodeGenerator Программная доработка форм. Часть 2 (Режим работы "Режим сравнения форм") на примере ERP 2.5 Промо

Практика программирования Адаптация типовых решений Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Данная публикация является продолжением описания функционирования обработки "FormCodeGenerator " в режиме сравнения форм и генерирования кода на основании сравнения. Подходит для перевода уже доработанных форм с интерактивной доработки на программную. Данный режим работы обработки снизит издержки при дальнейших обновлениях конфигураций.

5 стартмани

21.12.2020    9051    26    huxuxuya    11    

История изменений объектов (детальный журнал регистрации)

Журнал регистрации Администрирование данных 1С v8 Платформа 1C v8.2 1cv8.cf Абонемент ($m)

Представляю Вашему вниманию разработку, которую мы использовали на предприятии, на котором я имел счастье когда-то вести свою деятельность. Зачастую возникает желание узнать, кто именно из пользователей поменял тот или иной элемент документа либо справочника. Это бывает полезно, дабы узнать причину и "виновника" поспешно совершенных действий в базе, с целью дальнейшего предотвращения подобного.

1 стартмани

18.05.2021    2015    8    Rabin    13    

Занимательный PowerShell

Языки и среды Бесплатно (free)

PowerShell. Что, зачем, как и почему? И причем тут 1С?

16.05.2021    7298    YPermitin    27    

Конструктор процедур для создания дополнительных реквизитов и сведений для Бухгалтерии 3.0

Прочие инструменты разработчика v8 БП3.0 Россия Абонемент ($m)

Конструктор предназначен для оперативного создания процедур, программно создающих дополнительные реквизиты и сведения объектов. Предназначен для использования в 1С: Бухгалтерии Предприятия 3.0. Может быть подключен в качестве внешней обработки. В конструкторе имеется краткая справка по использованию.

2 стартмани

22.04.2021    4605    4    roma_semenov79    0    

Управляемая консоль запросов, отчетов 3.8.9 (расширение, внешняя обработка) Промо

Консоль запросов v8 v8::УФ v8::Запросы v8::СКД 1cv8.cf Абонемент ($m)

Работа с запросом и СКД, Полная поддержка пакетных запросов, временных таблиц, Сравнение результатов, текстов, Разбор структуры запроса в виде дерева, Анализ плана запроса, Групповая обработка

5 стартмани

14.08.2018    121268    2927    Evg-Lylyk    740    

Внешний отчет на СКД "Ошибки и предупреждения журнала регистрации". Для любой типовой конфигурации 1С: Предприятие 8.3

Журнал регистрации v8 1cv8.cf Абонемент ($m)

20 мая 2021 года в онлайн формате пройдет Форум пользователей 1С:Документооборота. Когда, как не сейчас, намекнуть разработчикам на возможные улучшения в конфигурациях (если по-честному, просто совпало). Типовой отчет по журналу регистрации либо невозможно добавить в регламентную рассылку, либо невозможно настроить вариант (по крайней мере, я не знаю этих возможностей). Хотя очень неплохо иметь представление о происходящем в базе 1С именно на регулярной основе. Данная разработка исправляет это упущение. Интересующихся прошу под кат...

4 стартмани

19.04.2021    2258    2    capitan    6    

Однопальцевое преобразование "одинэсного" запроса в запрос на SQL

Производительность и оптимизация (HighLoad) Прочие инструменты разработчика v8 v8::Запросы 1cv8.cf Абонемент ($m)

Обработка предназначена для преобразования "одинэсных" запросов в запросы на SQL средствами встроенного языка. Разработка не претендует на то, чтобы на 100% повторить то, что разработчики видят при трассировке запросов в инструментах вроде Profiler. Но во многих случаях результат преобразования можно будет без дополнительной ручной обработки выполнить, например, в Managment studio. Актуальные ограничения и проблемы преобразователя описаны в статье. Работает с версией платформы не ниже 8.3.10.

2 стартмани

17.04.2021    2985    8    kser87    12    

Отладка обработок с плюшками

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Расширение для отладки внешних отчетов и обработок. Плюшки - отключение “отвлекающего” функционала, мешающего процессу разработки.

1 стартмани

14.04.2021    3325    9    pparshin    1    

Включение и выключение регистрации отказа в доступе если "У пользователя не достаточно прав над операцией с базой данных". Промо

Информационная безопасность Журнал регистрации v8 1cv8.cf Абонемент ($m)

Включает (выключает) регистрацию событий отказа доступа в журнале регистрации.

1 стартмани

12.01.2011    39606    368    nexts    32    

Универсальный "сравниватель" объектов

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Сравнение реквизитов и табличных частей двух объектов 1С (справочники, документы), чтобы увидеть разницу в значениях.

1 стартмани

03.03.2021    3218    14    pyrkin_vanya    13    

Вспомогательные таблицы - универсальный инструмент хранения таблиц любой структуры (константы, параметры обработок и т.д.)

Прочие инструменты разработчика v8 Россия Абонемент ($m)

Данный механизм позволит: - Избавиться от поиска по номеру или коду. - Создать таблицу настроек. - Создать таблицу маппинга. - и многое другое... Ограничение одно - ваша фантазия.

1 стартмани

24.02.2021    4149    6    xl_yaz    12    

Генератор кода схемы компоновки данных (СКД)

Прочие инструменты разработчика v8 v8::СКД 1cv8.cf Абонемент ($m)

Формирование кода для программного создания схемы компоновки данных (СКД)

1 стартмани

04.02.2021    7790    56    Sergspectr    39    

Статистика работы пользователя Промо

Журнал регистрации Управленческие Статистика базы данных Учет рабочего времени Учет рабочего времени v8 1cv8.cf Абонемент ($m)

Анализ работы сотрудников - важные составляющие функционирования компании. Безусловно, руководитель может самостоятельно оценивать труд работников, деятельность которых как на ладони, стоит лишь взглянуть на поступление денег на банковский счет фирмы. Сложнее оценить работу сотрудников, которые не имеют прямого влияния на бизнес-результат: это бухгалтеры, кадровые работники, менеджеры.

3 стартмани

17.07.2011    50991    430    imozg    63    

Консоль текстов модулей для управляемых форм

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

26.01.2021    3633    21    Reaper_1C    2    

DT2CF - Экстрактор конфигурации из дампа информационной базы

Сервисные утилиты Прочие инструменты разработчика v8 Абонемент ($m)

Инструмент для извлечения файла конфигурации из файла резервной копии информационной базы (без использования платформы).

10 стартмани

21.12.2020    3717    6    SerVer1C    5    

FormCodeGenerator Программная доработка форм. Часть 1 (Режим работы "Палитра")

Практика программирования Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Данная публикация является описанием функционирования обработки "FormCodeGenerator " в режиме генерирования кода "на лету", без особых заморочек, данный режим идеально подходит для того что бы запустить, потыкать и забыть :)

1 стартмани

14.12.2020    5756    76    huxuxuya    9    

Просмотр документов, измененных задним числом Промо

Журнал регистрации v8 УТ10 Россия Абонемент ($m)

Редактирование документов в 1С, проведенных задним числом, бывает необходимо для исправления ошибок в учете, но также является распространенным способом воровства в магазине. Поэтому важно максимально ограничить работу задним числом.

2 стартмани

12.08.2015    31160    55    ПерваяСистема    17    

Метаданные и их идентификаторы

Структура метаданных БСП (Библиотека стандартных подсистем) v8 Бесплатно (free)

Идентификаторы (GUID'ы) метаданных конфигурации. Немного о том, как их получить.

05.12.2020    11245    YPermitin    27    

Контекст всегда важен. История проблем производительности

Производительность и оптимизация (HighLoad) Бесплатно (free)

Небольшая история о проблемах производительности из-за нехватки процессорных мощностей. А также описание основных показателей работы CPU.

26.11.2020    7281    YPermitin    21    

Шаблон расширения с функцией сохранения настроек

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Удобный механизм для быстрого создания сохраняемых настроек в расширении.

1 стартмани

20.11.2020    2158    0    pm74    1    

Получение запросом данных журнала регистрации хранящегося в SQLite Промо

Практика программирования Журнал регистрации v8 1cv8.cf Абонемент ($m)

В статье показано как, используя новый функционал платформы, получать данные из журнала регистрации привычным запросом.

1 стартмани

17.09.2014    72973    240    rtnm    38    

Расширение для создания собственных подсистем БСП

БСП (Библиотека стандартных подсистем) Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

В этой статье поделюсь некоторыми изысканиями о внутреннем устройстве стандартной подсистемы "Обновление версии ИБ" и расскажу, как разработать свою подсистему, в которой будет работать отчёт с описанием изменений.

1 стартмани

20.11.2020    6881    20    stas_ganiev    4    

Подготовка к 1С:Совместимо. Инструментарий в помощь программисту

Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Инструментарий в помощь программисту для подготовки конфигурации к сертификации 1С:Совместимо.

1 стартмани

16.11.2020    2793    4    BrainAttack    0    

БСП - рабочие примеры асинхронного запуска функций и процедур

Практика программирования БСП (Библиотека стандартных подсистем) Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

В данной публикации я привожу рабочие примеры асинхронного использования функций и процедур конфигурации на БСП

2 стартмани

02.11.2020    7173    21    quazare    2    

Монитор журнала регистрации Промо

Журнал регистрации Администрирование данных 1С WEB v8 1cv8.cf Абонемент ($m)

Позволяет в режиме реального времени отслеживать активность пользователей, накапливать и оповещать о возникновении ошибок, которые попадают в журнал регистрации

2 стартмани

29.06.2015    43754    154    andy23    51    

Работа с формулой-шаблоном

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

"Работа с формулой-шаблоном" - внешняя обработка, в которой для "Идентификаторы объектов метаданных"/"Идентификаторы объектов расширений" рекурсивно строится дерево реквизитов/стандартных реквизитов, дополнительных реквизитов/сведений и можно с их помощью, используя операторов и функций слева с помощью перетаскивания мышью, построить формулу, которую потом применять к элементам справочника/документа и т.д. (например - задавать шаблоны наименований, имен файлов и т.п).

3 стартмани

02.11.2020    2820    4    kn    0    

История данных (Версионирование данных). Обычные и управляемые формы. Механизм платформы 1С

Журнал регистрации Структура метаданных Расширения v8 v8::УФ 1cv8.cf Абонемент ($m)

История данных - специальный механизм платформы 1С, который позволяет хранить в базе данных данные объектов конфигурации.

1 стартмани

30.09.2020    5106    39    yuryshestakov    0    

Просмотр структуры базы в СУБД, в том числе расширений

Структура метаданных Расширения Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Структура таблиц базы данных с учётом расширений.

1 стартмани

29.09.2020    8173    73    Yashazz    10    

Просмотр и анализ журнала регистрации (отчет на СКД) Промо

Журнал регистрации v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

Отчет на базе системы компоновки данных (СКД) для просмотра записей журнала регистрации. В отчете можно использовать возможности СКД для вывода отчета в различных вариантах (список, таблица, диаграмма). Поддерживаются все возможности журнала регистрации (фильтры, получаемые колонки, максимальное количество записей).

5 стартмани

25.07.2013    74824    1082    YPermitin    57    

Генератор внешних печатных форм

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Консоль запросов Прочие инструменты разработчика Универсальные печатные формы v8 1cv8.cf Абонемент ($m)

Генератор печатных форм - инструмент для создания внешних печатных форм в режиме предприятия с минимальным написанием кода

3 стартмани

18.09.2020    5630    18    andy_zhav    7    

Разбор областей и параметров печатной формы MXL и генерация кода заполнения. Обработка

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Назначение обработки - выделение областей и параметров из печатной формы и генерация кода заполнения печатных форм и отчетов на базе табличного документа 1С

1 стартмани

05.09.2020    4633    7    Ivon    0    

Полнотекстовый поиск в 1С. №2 Самое основное для разработчика

Поиск данных v8 1cv8.cf Бесплатно (free)

Полнотекстовый поиск в 1С и все что с этим связано. Часть №2: программное использование и некоторые нюансы при разработке.

02.09.2020    18450    YPermitin    5    

Подсистема: История изменений реквизитов объекта, в том числе табличных частей. 1с 8.2. Промо

Журнал регистрации Практика программирования v8 1cv8.cf Абонемент ($m)

Данная подсистема предназначена для хранения истории изменений реквизитов шапок и табличных частей документов и справочников. подсистема основана на записях изменений реквизитов в регистр сведений? с указанием автора и времени изменения.

1 стартмани

12.11.2012    42745    298    allert73    16    

Визуальный html WYSIWYG редактор без сторонних библиотек на управляемых формах

Прочие инструменты разработчика Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

Простой и удобный html редактор без сторонних библиотек.

1 стартмани

31.08.2020    7325    11    ivanov660    12    

Мастер создания копии информационной базы для отчетности

Производительность и оптимизация (HighLoad) Администрирование СУБД v8 1cv8.cf Абонемент ($m)

Прототип инструмента для подготовки реплики в режиме только для чтения к использованию. Позволяет использовать "read-only" реплики как обычные информационные базы 1С.

10 стартмани

28.08.2020    8741    5    YPermitin    12    

Регистры бухгалтерии. Виртуальная таблица остатков

Механизмы бухгалтерского учета v8::БУ 1cv8.cf БУ Бесплатно (free)

Принцип работы виртуальной таблицы остатков. А также некоторые особенности.

24.08.2020    10882    YPermitin    1    

Консоль Программиста 8.3. Управляемые формы, тонкий/толстый клиент Промо

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка в помощь программисту - тестировщику. Консоль позволяет выполнять код 1С на встроенном языка, по сути является универсальной внешней обработкой

2 стартмани

22.08.2013    49785    646    hmanubis    69    

Генератор кода COM-обмена

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Обработка предназначена для автоматического создания кода для загрузки данных из другой базы 1С через COM-соединение.

1 стартмани

20.08.2020    3804    11    ManyakRus    4    

Описание почти всех событий технологического журнала

Технологический журнал v8 Бесплатно (free)

Краткое описание событий технологического журнала с примерами. Все для быстрого старта.

19.08.2020    26717    YPermitin    38    

Регистры бухгалтерии. Еще одна таблица оборотов ДТ / КТ

Механизмы бухгалтерского учета v8::БУ 1cv8.cf Бесплатно (free)

Виртуальная таблица оборотов ДТ / КТ регистра бухгалтерии. Особенности и применение.

12.08.2020    6153    YPermitin    1    

Журнал регистрации на СКД (полностью программная реализация) Промо

Журнал регистрации v8 1cv8.cf Абонемент ($m)

Очередная вариация на тему отчет по журналу регистрации на СКД

1 стартмани

22.08.2013    26397    225    Жолтокнижниг    6    

Проверка ведения учета (универсальная)

Анализ учета Прочие инструменты разработчика v8 v8::Запросы Россия Абонемент ($m)

Универсальная проверка ведения учета, построенная на запросах. Выполнена в виде расширения, имеет функции подключения к другим информационным базам по технологии внешних соединений и отладчик, поддерживает конструктор запросов. Предназначена для использования как информационно-техническими специалистами, так и для самостоятельного использования конечными пользователями.

2 стартмани

11.08.2020    4966    25    vozhd    4    

Самый простой парсинг и обработка веб-страниц в 1С

WEB Универсальные функции v8 1cv8.cf Бесплатно (free)

Рассмотрим самый простой парсинг веб-страниц средствами платформы 1С и еще некоторые полезные приемы работы с веб-страницами.

07.08.2020    12311    YPermitin    22