Строим графы средствами 1С (без GraphViz)
Множество статей на Инфостарте описывают, как работать с компонентой GraphViz, чтобы построить ориентированный граф. Но практически нет материалов, как работать с такими графами средствами 1С. Сегодня я расскажу, как красиво строить графы с минимальным пересечением.
Нам этот метод пригодился для отрисовки алгоритмов в БИТ.Финансе, т.к. типовой механизм не устраивал. Еще это может быть полезно для визуализации различных зависимостей: расчета себестоимости, графы аффилированности компаний и т.д.
Надеюсь, эта статья поможет сделать мир 1С красивее и гармоничней:)
Итак, поехали…
Методика оптимизации программного кода 1С: проведение документов
Описание простого метода анализа производительности программного кода 1С, способов его оптимизации и оценки результатов в виде числовых показателей прироста производительности. Не требует сторонних программных продуктов, используются только типовые возможности платформ 1С.
Методика проверена на линейке платформ начиная с 1С:Предприятие 8.2 (обычные формы, управляемые формы). Позволяет ускорить проведение проблемных документов в 3 и более раз, провести проверку корректности формирования проводок оптимизированным кодом и подтвердить результаты оптимизации реальными замерами производительности в режиме предприятия.
К публикации приложены демонстрационные базы для режимов обычного и управляемого приложения на платформе 1С:Предприятие 8.3 (8.3.9.2033).
1 стартмани
StartManager 1.4 — Развитие альтернативного стартера Промо
Очередная редакция альтернативного стартера, являющегося продолжением StartManager 1.3. Спасибо всем, кто присылал свои замечания и пожелания, и тем, кто перечислял финансы на поддержку проекта. С учетом накопленного опыта, стартер был достаточно сильно переработан в плане архитектуры. В основном сделан упор на масштабируемость, для способности программы быстро адаптироваться к расширению предъявляемых требований (т.к. довольно часто просят добавить ту или иную хотелку). Было пересмотрено внешнее оформление, переработан существующий и добавлен новый функционал. В общем можно сказать, что стартер эволюционировал, по сравнению с предыдущей редакцией. Однако пока не всё реализовано, что планировалось, поэтому еще есть куда развиваться в плане функциональности.
1 стартмани
Как работает Apache
Основная
роль Apache связана с коммуникацией по сетям и использует протокол TCP / IP
(протокол управления передачей / интернет-протокол, который позволяет
устройствам с IP-адресами в одной сети взаимодействовать друг с другом).
Сервер
Apache настроен для работы через файлы конфигурации, в которые добавляются
директивы для управления его поведением. В
своем состоянии ожидания Apache прослушивает IP-адреса, указанные в его файле
конфигурации (HTTPd.conf). Всякий раз, когда он получает запрос, он анализирует
заголовки, применяет правила, указанные для него в файле Config, и принимает
меры.
Но на
одном сервере может размещаться множество веб-сайтов, а не только один, но для внешнего
мира они кажутся отделенными друг от друга. Чтобы достичь этого, каждому из этих сайтов должно быть присвоено другое имя,
даже если все они будут отображаться в конечном итоге на одном и том же
компьютере. Это
достигается за счет использования так называемых виртуальных хостов.
Поскольку
IP-адреса трудно запомнить, мы, как посетители определенных сайтов, обычно
вводим соответствующие им имена доменов в поле URL-адреса в наших браузерах. Затем
браузер подключается к DNS-серверу, который переводит имена доменов на их
IP-адреса. Затем
браузер берет возвращаемый IP-адрес и подключается к нему. Браузер
также отправляет Host header с запросом, чтобы, если сервер размещает несколько сайтов, он будет знать, какой из них должен обслуживать.
Например, ввод текста на www.google.com в поле адреса вашего
браузера может отправить следующий запрос на сервер по этому IP-адресу:
Первая
строка содержит несколько фрагментов информации. Во-первых, существует метод (в данном случае это GET), URI,
который указывает, какую страницу нужно извлечь или какую программу нужно
запустить (в этом случае это корневой каталог, обозначенный /), и, наконец,
есть HTTP-версия (которая в данном случае является HTTP 1.1).
HTTP —
это протокол без ответа. Это
набор правил, регулирующих связь между клиентом и сервером. Клиент
(обычно, но не обязательно веб-браузер) делает запрос, сервер отправляет ответ,
а связь прекращается. Сервер
не ожидает дополнительной связи, как в случае с другими протоколами, которые
остаются в состоянии ожидания после завершения запроса.
Если
запрос выполнен успешно, сервер возвращает код состояния 200 (что означает, что
страница найдена), заголовки ответов вместе с запрошенными данными. .
Заголовок ответа сервера Apache может выглядеть примерно так:
Первая
строка в заголовке ответа — это строка состояния. Он
содержит версию HTTP и код состояния. Далее следует дата, а затем некоторая информация о хост-сервере и извлеченных
данных. Заголовок позволяет клиенту узнать тип извлеченных данных, чтобы он знал, как его обрабатывать. клиент знает размер тела ответа. Если
запрос не пошел, клиент получит код ошибки и сообщение, например, следующий
заголовок ответа в случае ошибки страницы, не найденной:
Git + 1С. Часть 1. Как подключиться к команде разработки и начать использовать Git
Первая статья из цикла инструкций по работе с Git в 1С-разработке. Рассмотрим, как настроить рабочее место, как получить свою «копию» проекта для разработки и приступить к полезным действиям. Все примеры будут изложены в рамках трёх практических кейсов: 1. Моя команда дорабатывает типовую конфигурацию, использует приватный репозиторий на BitBucket, в котором версионируются внешние отчеты/обработки, расширения конфигураций и правила обмена; 2. Я участвую в стартап-команде, которая разрабатывает свою конфигурацию с использованием Git и GitLab; 3. Я принимаю участие в развитии OpenSource-продукта на GitHub как заинтересованный разработчик (контрибьютор).
Зачем нужна Кафка в Big Data
Поскольку сообщения скапливаются в топике до их обработки подписчиками, Apache Kafka также называют брокером сообщений и средством для управления очередями в Big Data системах с высокой пропускной способностью сети (сотни тысяч сообщений в секунду). Однако, в отличие от RabbitMQ, другой популярной системы управления очередью сообщений, Apache Kafka является, прежде всего, распределенным реплицированным журналом фиксации изменений . Чем еще отличаются эти брокеры сообщений, читайте в нашей новой статье. Именно с журналированием связаны ключевые сценарии использования Kafka (use-cases) и особенности программной реализации этой системы.
В частности, если необходимо сформировать общий журнал поведения всех пользователей приложения, Кафка поможет собрать и агрегировать логи каждого сеанса от каждого клиента в потоковом режиме (онлайн) . Эта информация, в свою очередь, может использоваться в ETL-процессах (Extract, Transform, Load) для использования в дэшбордах систем интеллектуальной бизнес-аналитики (BI, Business Intelligence) .
Администрирование кластера Kafka
Код курса
KAFKA
Ближайшая дата курса
24 января, 2022
Длительность обучения
24 ак.часов
Стоимость обучения
54 000 руб.
Еще один типичный пример Apache Kafka в процессах обработки логов – это сбор и агрегация физических файлов журналов с серверов и помещение их в одном месте, например, в HDFS – файловой системе Apache Hadoop. При этом Кафка обеспечивает чистую абстракцию журнала или событий данных в потоке сообщений. Это значительно снижает задержку обработки Big Data, поддерживая горизонтальное масштабирование с множеством источников данных и распределенными потребителями .
Источники и получатели сообщений в Апач Кафка
Пример использования файла .htaccess
Вкратце рассмотрим и упомянутый выше конфигурационный файл. Он помещается в разных директориях веб-сервера, от чего и зависит область его действия. Соответственно, сохраненный в корне файл применяет свои правила на весь веб-сервер. Однако учтите, что если вы используете виртуальный хостинг для обслуживания нескольких сайтов на одном сервере, возможно появление проблем при наличии нескольких директив .htaccess, то есть при их наследовании от подкаталогов до корня.
Самая простая строка кода, вводимая в этот файл выглядит так:
AddType "text/html; charset=utf-8" .html .htm .shtml
Ее основное предназначение – указать Apache кодировку, в которой нужно возвращать текст пользователю. Такое изменение делается в тех случаях, когда стандартный вывод вас не устраивает.
Благодаря .htaccess вы можете закрывать директории паролями, переопределять индексы файлов, запрещать доступ к ним и выполнять множество других настроек. Лучше всего использовать открытые источники и официальную документацию, если возникла надобность редактировать файл под себя.
Если вы нуждаетесь в получении дополнительной информации о виртуальном хостинге с этим веб-сервером, ознакомьтесь с документацией Virtual Apache Host на официальном сайте разработчика ПО.
Подробнее: Apache Virtual Host documentation
ШАГ 3 ручной запуск Apache
Основным исполняемым файлом WEB сервера Apache является файл Apache24\bin\httpd.exe. Соответственно, Apache можно запустить на исполнение как процесс, кликнув по файлу httpd.exe или выполнить команду запуска этого файла в консоли, что будет равнозначно.
Для того, что бы запустить Apache из командной строки на Windows, перейдите в проводнике в директорию с файлом Apache24\bin\httpd.exe и, зажав клавишу Shift, нажмите правую кнопку мыши и в контекстовом меню выберите пункт «Открыть окно команд». Тогда командная строка Windows cmd.exe будет запущена уже в этом каталоге с бинарниками сервера и вам не нужно будет в команду включать полный путь до файла httpd.exe, а достаточно будет указать только сам файл с расширением. Если же вы запустил консоль в другом расположении, то включите, в приведенную ниже команду, полный путь к файлу httpd.exe.
Для запуска Apache необходимо набрать в консоли команду
-если вы находитесь в папке с исполняемым файлом apache httpd.exe:
>httpd.exe
или, если вы находитесь вне папки с исполняемым файлом apache httpd.exe, то укажите в команде полный путь исполняемому файлу apache:
>Z:\WebDevelopment\Apache24\bin\httpd.exe
Данная команда приведет к запуску WEB сервера Apache, при этом, консоль останется запущенной и в окне командной строки исчезнет приглашение на ввод команды в виде знака >. Если при выполнении этих команд командная строка закроется, значит apache не запустился по причине каких либо ошибок в его конфигурации, для этого смотрите основной файл лога apache.
Что бы запускать Apache вручную в окне командной строки из любого места файловой системы простой командой:
> httpd
,т.е. без привязки к каталогу инсталяции Apache и при этом не указывать полный путь к файлу httpd.exe, то нужно прописать в системную переменную PATH путь до каталога с исполняемым файлом apache, т.е. добавить в переменную path строку вида:
Как добавить в переменную path путь к папке с исполняемым файлом детально расписано в статье на примере PHP.
Если Apache запустился, то в диспетчере задач Windows появятся два активных процесса с именами файлов httpd.exe и описанием для них «Apache HTP Server». Это,собственно, и есть работающий WEB сервер Apache. То, что мы видим два процесса httpd.exe — это нормально. Это Apache модуль Multi-Processing (MPM) по умолчанию для операционных систем Windows. Он использует единый процесс управления, который запускает дочерний процесс, который, в свою очередь, создает потоки для обработки запросов.
Если же что то пошло не так и сервер не запускается, то читайте его журналы ошибок, которые расположены в каталоге: Apache24\logs
Для остановки Apache, запущенного вручную, вышеописанным способом, необходимо вернуться в консоль (в окно открытой командной строки) и нажать комбинацию клавиш Ctrl+C, и через несколько секунд сервер будет остановлен, о чем будет свидетельствовать отсутствие httpd.exe процессов в Диспетчере задач Windows и в окне командной строки снова появится курсор (знак >) ожидания ввода команды. Иногда бывает, что командная строка «виснет», в этом случае повторно нажмите Ctrl+C и если курсор ввода команды не появится, то нажмите Enter. Если с использованием комбинаций клавиш Ctrl+C не получается остановить Apache в консоли, то просто закройте окно командной строки и сервер будет остановлен. Так же можно остановить Apache, выполнив завершение процессов httpd.exe в Диспетчере задач Windows, если предыдущие способы остановки не сработают.
htdocs\index.html
Теперь когда web сервер Apache запущен можно обратиться к его дефолтовый html странице, которая настроена в httpd.conf как хост по умолчанию и физически располагается в каталоге Apache24\htdocs\index.html.
Для проверки работы Apache наберите в адресной строке браузера адрес:
http://localhost
Если сервер работает, то вы увидите стартовую дефолтового страницу web сервера Apache от Apache Haus с надписью IT WORKS, что будет говорить о том, что все прошло успешно и Apache полноценно функционирует.
Для проверки HTTPS соединения обратитесь в браузере по адресу:
https://localhost
Браузер запросит ваше подтверждение на использование данного сертификата. Нужно будет вручную разрешить использование этого сертификата, т.к. входящий в сборку сертификат предназначен только для тестирования https соединения и является самоподписным, поэтому он будет отклоняться браузером в начале и требовать вашего одобрения на использование. После добавления сертификата в разрешенные для браузера, откроется снова стартовая страница Apache, но соединение уже будет защищенное по https протоколу с использованием SSL шифрования.
Набор подсистем «Умные таблицы»
Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.
1 стартмани
Как снять конфигурацию 1С 8 с поддержки (включить возможность редактирования)
Для примера снимем с поддержки типовую конфигурацию 1С Бухгалтерия предприятия 2.0. Для этого заходим в конфигуратор. Видим замочек напротив названия конфигурации, он означает что конфигурация находится на полной поддержке 1С, т.е. в нее не были внесены изменения и она соответствует конфигурации поставщика, т.е. 1С:
Выбираем пункт Настройка поддержки из меню Конфигурация => Поддержка:
Нажимаем Включить возможность изменения:
Программа предупреждает о том, что изменение режима приведет к невозоможности выполнять обновление конфигурации полностью автоматически. Мы это понимаем, и нажимаем Да:
Выставляем правила для изменения объектов : Редактируется с сохранением поддержки, если нет необходимости полностью снимать конфигурацию с поддержки и нажимаем ОК:
Ждем принятия изменений, это может занять продолжительное время. Далее видим что замочек напротив названия конфигурации пропал. Теперь в нее можно вносить изменения:
Видео по снятию с поддержки:
Как поставить конфигурацию 1С 8 на поддержку (отключить возможность редактирования)
Чтобы поставить на поддержку конфигурацию, необходимо убедиться, что в конфигурацию информационной базы не были внесены изменения затрагивающие структуру данных, потому что если это так то ДАННЫЕ БУДУТ ПОТЕРЯНЫ И ТАКУЮ КОНФИГУРАЦИЮ СТАВИТЬ НА ПОДДЕРЖКУ ТАКИМ МЕТОДОМ НИКАК НЕЛЬЗЯ!!!! А НЕКОТОРЫЕ ИЗМЕНЕНИЯ ТРЕБУЮТ СЕРЬЕЗНОГО ВМЕШАТЕЛЬСТВА СПЕЦИАЛИСТОВ.
Если вы не знаете какие изменения были внесены в конфигурацию, лучше обратиться к специалистам для оценки. Мы рассмотрим случай когда в конфигурацию были внесены незначительные изменения, к примеру изменили макет печатной формы, добавили отчет, обработку и т.д.
Перед тем как вы будете вносить изменения, рекомендуется сделать резервную копию информационной базы.
Для примера поставим на поддержку конфигурацию 1С Бухгалтерия предприятия 2.0, которую выше мы сняли с поддержки. Дело в том что в базе 1С хранится одновременно три конфигурации:
- основная кофнигурация (та, которую мы видим в конфигураторе)
- конфигурация поставщика (типовая конфигурация 1С, релиз которой соответствует релизу вашей конфигурации при правильном обновлении)
- конфигурация информационной базы
Типовой механизм обновления конфигураций 1С такой:
- обновляется конфигурация поставщика.
- если ваша конфигурация на полной поддержке то конфигурация поставщика заменяет основную конфигурацию.
- если в вашей конфигурации включена возможность редактирования то включается режим сравнения и объединения основной конфигурации и конфигурации поставщика, чтобы вы могли выбрать какие объекты заменять а какие нет.
- обновляется конфигурация информационной базы.
Для начала нужно убедиться что версия вашей конфигурации соответствует версии конфигурации поставщика. Заходим Справка => О программе и смотрим текущий релиз конфигурации информационной базы:
Заходим Конфигурация => Поддержка => Настройка поддержки:
Видим что релиз конфигурации поставщика совпадает с релизом вашей конфигурации. Выгрузим конфигурацию поставщика в файл, нажимаем Сохранить в файл и выбираем путь для сохранения:
Заходим Конфигурация => Загрузить конфигурацию из файла:
Программа предупреждает о том что это приведет к полной замене вашей основной конфигурации, соглашаемся. Если выходит сообщение о том что объекты заблокированы, необходимо полностью снять с поддержки конфигурацию, заходим Конфигурация=>Поддержка=>Настройка поддержки выбираем Снять с поддержки.
Программа предлагает обновить конфигурацию базы данных, нажимаем да:
Видим что замочек напротив конфигурации снова появился. Полная поддержка конфигурации восстановлена.
Видео инструкция по возврату к типовой версии программы: