1С: Программная установка пользовательских настроек при открытии отчёта СКД

Lazarus: чтение и разбор Json

Задача: прочитать Json с URL и распарсить его

Решение:

На неком удалённом ресурсе находится файл вида:

Сначала прочитаем файл в строку, а затем распарсим полученный json и переберем его в виде массива или выведем текст ошибки:

Lazarus: сворачиваем приложение в трей после запуска

Эх..давно я шашку в руки не брал (лет 10 точно уже с Lazarus/Delphi дела не имел), а тут снова пришлось.

За работу с треем, в Lazarus отвечает компонент TrayIcon, Перетащим её на форму. В процедуре создания формы разместим:

Далее добавим событие по клику на иконку трея:

Пишем плагин для WordPress

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

Получится структура папок вида:

Необходимо поместить все файлы в папку /wp_content/plugins..и собственно на этом моменте плагин уже будет доступен в админке для ативации.

Далее попробуем нарисовать страницу настроек в панели администрирования. Для этого добавим в /admin/class-ssk_read-admin.php в функцию конструкта класса хук добавления пункта меню:

И далее в основном теле плагина skk_read.php добавим функцию register_my_config_page, которая непосредственно регистрирует этот пункт меню к выводу на экран:

После этого в меню админки появится новый пункт меню, с выводом пустой страницы. Добавим в функцию DrawPage функционал вывода сохраненных настроек:

На этом этапе пока появится только кнопка «сохранить изменения», потому как мы еще не указали ядру, какие именно настройки мы хотим хранить. Для этого добавим в /admin/class-ssk_read-admin.php в функцию конструкта класса хук инициализации настроек:

И далее в основном классе ssk_read.php добавим функции регистрации полей и их вывода:

Получилось функционирующее сохранение:

Однако не хватает уведомления об успешном сохранении. Добавим хук:

И вывод сообщения:

1 2 3 4