Космическая Одиссея 2020 года

Публикация № 1756014 11.11.22

Интеграция - Периферийные устройства

Организация потокового обмена системы 1С с большим количеством разнородных устройств – нетривиальная задача. О том, как организовать архитектуру такого решения с учетом возможного масштабирования хранимых данных и поддерживаемых интерфейсов, на конференции Infostart Event 2021 Post-Apocalypse рассказал TeamLead и специалист по внедрению компании ИнфоСофт Григорий Шатров.

 

Меня зовут Григорий Шатров, я из компании «ИнфоСофт», город Новосибирск.

Хочу рассказать вам интересную историю, вдохновением и САСПЕНСом для которой послужило великое произведение режиссера Стенли Кубрика – фильм «Космическая Одиссея 2001 года».

 

 

Как вы помните, классическая история «Одиссеи» началась с того, что на нашу Землю приземлился большой черный монолит, который содержал в себе что-то неизведанное, но при этом – самое главное для наших землян.

В нашей истории этим «монолитом» стали тысячи внешних устройств с разнородными показателями, которые нужно было считывать и загружать в нашу систему. Для этого нужно было настроить потоковый обмен данными через доступные у этих устройств интерфейсы – с помощью CSD-модемов/опросников, а в некоторых случаях через TCP-соединения.

 

 

После нескольких мозговых штурмов было выработано достаточно интересное классическое решение с некоторыми особенностями.

  • Бэкендом у нас являлась учетная система 1С, которая была написана с нуля на основе БСП и БИП (библиотеки интернет-поддержки). Она у нас крутилась в облаке – внутри нее формировались все нужные данные, которые показывались пользователям.

  • Правой рукой, артерией служил веб-сервер Apache и самописные PHP-запросы – они помогали нашей системе 1С взаимодействовать с «Системой опросов устройств».

  • И на острие атаки у нас использовалась самописная программа на C# «Система опросов устройств» (MIS) – она опрашивала все эти устройства, получала от них нужные данные и записывала их в 1С. Для разработки этой программы мы специально использовали C#. Несмотря на то, что большинство разработок с нуля у нас в компании ведется на платформе 1С, наши внутренние хакатоны позволили нам расширить вектор во все стороны, и для данного проекта мы выбрали наиболее эффективные инструменты из имеющихся.

 

Используем гравитацию: строим экосистему с 1С-ным ядром

 

 

Давайте заглянем внутрь нашего «космического корабля». Процессы взаимодействия 1С и «Системы опросов» были разделены по принципу микросервисов, реализованных в виде регламентных заданий.

  • Первый микросервис запускал процесс «Формирование и отправка заданий для устройств». В данном процессе 1С дает устройству задание проинициализировать какое-то действие и отправляет это задание в «Систему опросов».

  • Когда задание попадает в наш космический корабль «Система опросов», оно может долететь до любой звезды и привести оттуда нужную нам информацию с данными устройств.

  • Эта информация фиксируется в нашей системе – как положительные, так и отрицательные результаты. Отрицательный результат по опросу – это тоже результат. Процесс получения данных JSON из этих устройств и разбор этих JSON по нужным аналитикам внутри системы 1С у нас также разделен по отдельным микросервисам – «Получение» и «Разбор».

Давайте рассмотрим все эти процессы по отдельности.

 

 

За первый процесс отвечает микросервис «Формирование и отправка». Ему нужно уделить отдельное внимание, так как в этом микросервисе для обмена с нашей «Системой опросов» все данные уже должны быть подготовлены в нужном формате.

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

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

  • Поэтому мы пришли к следующей логике по формированию данных заданий – это ежедневное формирование запросов, но уже периодичностью менее чем «День», с последней успешно загруженной информацией по данному устройству. При этом в системе копятся все последние опросы на текущую дату, и не возникает технологических «дыр» в полноте данных по всем устройствам.

 

Балансируем в невесомости: разрабатываем центр управления тысячами внешних устройств

 

 

Следующей составляющей системы стала «Система опросов» – наше C#-ное детище, которое и опрашивает разнородные устройства.

«Система опросов» состоит из нескольких компонент.

  • Первый компонент – это MQB, сам балансировщик заданий, тикетов и т.д. Балансировщик работает с каждым заданием, ни одно из них не будет им пропущено – при этом будут получены все нужные данные.

  • Второй компонент – MI. Но это не Xiaomi-телефон, а компонента MI MTI, которая по разным протоколам опрашивает каждое из устройств и получает данные. Т.е. это – рабочая лошадка, ядро самой системы опросов, которое непосредственно уже отправляет конкретные задания, опрашивая конкретные устройства.

  • И третий компонент – это MCT, такая метровая палка, с помощью которой можно «потыкать» устройство из системы 1С, если оно не работоспособное, вышло из строя или не отвечает некоторое время. Через эту компоненту данные от устройств можно получать практически в онлайне, даже несмотря на то, что система 1С и «Система опросов» работают асинхронно.

 

 

А как управлять большим количеством тикетов, и при этом не построить какой-то сложный пульт управления?

 

 

Как сделать управление максимально простым?

Тут нам на помощь приходит система Канбан-доски. В этом случае мы определяем каждое из заданий по аналитике или статусам данных заданий. И формируем нашу систему.

 

 

В нашем случае мы организовали данные на стороне «Системы опросов» в виде простой файловой системы из нескольких папок, где задания от 1С просто поделены по логическим предметам:

  • В папку IN у нас попадают все задания, нужные для опроса.

  • После этого, если балансировщик подхватил данное задание, он определяет его в папку IN PROGRESS.

  • После этого, если это устройство успешно опрошено, задание попадает в папку OUT.

  • И когда 1С успешно забирает данные через PHP-запрос, как лог перемещается в COMPLETE.

  • Но, как я говорил, не всегда наши устройства работоспособны. Поэтому часть заданий попадает в ERROR.

  • И после прохода N итераций, если устройство все-таки не выходит на связь, задание попадает в FAILED. Если выходит, в OUT.

  • И также у нас есть папка UNKNOW, куда попадают совсем неизведанные задания. За счет того, что наши устройства реально масштабируются и могут попасться абсолютно уникальные случаи.

 

Наблюдаем в иллюминатор из 1С: разбираем вопросы взаимодействия инфосистем

 

 

Для формирования панели мониторинга с данными заданиями была написана панель на основе графического движка chart.js с применением технологии AJAX. Она позволяет получать все нужные данные без обновления самой странички.

Так как наши пользователи работают в 1С, с помощью реквизита строкового типа и поля HTML-документа можно максимально просто поместить данную панель мониторинга в 1С.

Также можно скомпилировать ее в Android-приложение – это тоже прекрасно работает.

 

Подчиняем космические скорости: создаем балансировщик системы опросов

 

 

Но как сделать данные очереди максимально эффективными для самой «Системы опросов»?

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

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

  • Содержания, где содержится сам JSON запроса, с помощью чего уже опрашиватель собирает данный JSON и опрашивает соответствующее устройство.

 

 

После опроса нашей MIS все JSON-запросы попадают в 1С и разбираются по нужным аналитикам.

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

  • Плюсом, конечно же, является бесконечная масштабируемость данного подхода, несвязанность параметров.

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

 

Отображаем динамические показатели

 

 

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

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

 

 

Для этого взят динамический список. В обработчике «ПриСозданииНаСервере» формы, внутри которой нужно было показывать данные показатели, просто создавался динамический список с колонками всех показателей, которые есть вообще в системе.

Т.е. фиксировалась колонка под каждый показатель, типизировалась.

 

 

И после этого в обработчике «ПриПолученииДанныхНаСервере» для определенных строк просто определялось, какие колонки нужно показывать. Эти колонки заполнялись нужными данными, а для остальных убиралась видимость.

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

 

Тестируем связь с устройствами

 

 

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

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

После этого инженеры, которые могут проверить устройство и ответить, действительно ли оно неработоспособно, формируют команду «Тест связи». Эта команда имеет высокий приоритет, моментально обрабатывается устройством и позволяет понять – живое оно или нет. Если устройство реально работает, они включают обратно в стек всех очередей по данному заданию, и после этого оно заново начинает опрашиваться, не образуя дырок в полноте всех данных.

Крутая фича «из коробки» в платформе 1С, которую я советую всем использовать – это мобильный клиент. С его помощью выездным инженерам очень удобно с мобилки тестировать связь с этим устройством и после этого включать его в опрос, не теряя лишнего времени.

 

Реализуем многопоточность

 

 

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

Кейс обработки нескольких потоков я разделяю на два типа:

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

  • И второй кейс – это пополняемый стек каких-то данных. В нашем случае, JSON-запросов. Т.е. в момент, когда вы запустили много потоков, может прилететь еще столько же, либо большее количество JSON-запросов. Это непрогнозируемый объем данных. В этом же случае к нам приходит на помощь метод «ОжидатьЗавершения(<Таймаут>)» управляющего фонового задания. Этот метод образует паузу, которая нужна всем 1С-никам, чтобы не грузить ЦП на 100% в бесконечном цикле. И после этого мы проверяем – есть ли сейчас вообще, чему опрашиваться. Есть ли неопрошенный JSON. Если он есть, мы формируем фоновое задание – если оно не превышает количество необходимых нам потоков. Если оно превышает, то мы ждем дальше через «ОжидатьЗавершения(<Таймаут>)». И точкой выхода из этого бесконечного цикла с паузами, конечно, является то, что уже нет JSON-запросов для разбора. Мы выходим их этого управляющего фонового задания и после этого по регламенту заново пробуждаем это управляющее задание.

 

Обманываем оптимизатор запросов СКД

 

 

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

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

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

При этом конструктор запросов внутри СКД максимально правильно это обработает, ничего не допишет, не уберет из группировок – таким образом мы оптимизатор «обманываем».

 

Время историй

 

 

Расскажу об особенностях, с которыми мы столкнулись в нашей истории.

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

  • Следующий момент – все наши устройства тесно связаны с реальным адресом в городе – улица, дом, и т.д. У нас используются стандартные веб-сервисы из «Библиотеки интернет-поддержки» по загрузке адресов через веб-сервис. Но некоторые из адресов через этот веб-сервис не «пробиваются». Помогает загрузка непосредственно файла нужного классификатора и загрузка его в саму 1С – просто нужно знать о том, что есть такие адреса.

  • Следующее, с чем мы столкнулись – это то, что при группировке реквизитов строкового типа внутри объекта «Запрос» сама 1С не смотрит на регистр данных строк. Допустим, «а» и «А» будут сгруппированы в одну строку. То же самое – «Иванов» и «иванов». Возможно, это известный факт, но я выделил его здесь для тех, кто с этим не сталкивался, чтобы в дальнейшем вы у себя в системе это учитывали.

  • У нас в системе для каждого из устройств хранился уникальный номер – в реквизите строкового типа справочника по этим устройствам. При этом заранее не было известно, что должно было быть внутри этих номеров. Сейчас мы определились, что туда попадают только числа – заложили это в алгоритмы по опросу данных устройств. Потому что в какой-то момент одно из устройств реально украли с адреса, где оно находилось. И мы в качестве значения реквизита этого устройства мы записали «123_Украден», чтобы исключить его из общего пула всех заданий.

  • Также мы столкнулись с особенностями работы присоединенных файлов в режиме мобильного клиента. Как я говорил ранее, мы использовали крутую возможность мобильного клиента фотографировать устройство через камеру телефона. При этом БСП очень классно обрабатывает – файл сразу же прикрепляется к нужному объекту из системы. Но в БСП 3.0.3 мы столкнулись с проблемой, что при переключении с мобильного клиента на десктопную версию рабочий каталог, куда сохранялись временные файлы по этим присоединенным файлам, не переключался обратно. Тем самым, при работе на компьютере просто не было возможности вообще работать с присоединенными файлами – он пытался обратиться в нужную ему папку на Android. В этом случае помогала очистка рабочего каталога.

 

Полезные инструменты не-1С-ника

 

 

При работе с не-1С-ными системами мы наткнулись на интересные моменты:

  • Например, оказалось, что разработчики устройств придумали максимально новую для меня систему счисления (не десятичную и не шестнадцатеричную). Дело в том, что показатели данных устройств всегда получаются с учетом дробной части – какое-то целое число и какая-то часть дробная. Но для конкретных типов устройств нужно было заранее определить, сколько в принципе у нас длина дробной части, исходя из ширины значимых цифр внутри экранчика данного устройства. Допустим, у них есть 7 значимых цифр внутри этого экранчика, если туда попадает целое число, которое занимает 7 символов, оно 7 символов туда переводит без дробной части. Если в целой части 6 символов, тогда показывается 6 символов целых и один символ – в дробной части. Получается, что при работе с двоичными или шестнадцатеричными данными нужно было заранее знать, сколько символов есть – эта неизведанная для нас система счисления тоже была для нас интересным моментом. Инструменты, приведенные по ссылкам https://crccalc.com/ и https://www.h-schmidt.net/FloatConverter/IEEE754.html помогают рассчитывать все эти моменты.

  • Также нам пригодились слушатели всех COM-портов и всех TCP-соединений, чтобы правильно получать от всех этих устройств двоичные, десятеричные и шестнадцатеричные данные.

  • И мы постоянно использовали всеми любимый GIT. В мире 1С его люди тоже все чаще и чаще начинают использовать. Но внутри мира C# GIT дает возможность попробовать подтвердить либо не подтвердить гипотезы, а также может быть крутым источником для бэкапирования.

 

Заключение

 

 

Все наши собранные знания по архитектуре, по инструментам, подходам дают возможность без проблем серфить по космическому океану навстречу нашему новому «монолиту». Айда вместе с нами!

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

 

*************

Данная статья написана по итогам доклада (видео), прочитанного на конференции Infostart Event 2021 Post-Apocalypse.

Больше статей можно прочитать здесь.

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. starik-2005 2808 11.11.22 22:50 Сейчас в теме
Но наши стандарты разработки считают формирование вложенных запросов неправильным
Т.е. не люди считают, а стандарты считают. Отлично!
https://www.google.com/teapot
G.Shatrov; awk; +2 Ответить
Оставьте свое сообщение

См. также

Независимая разработка совместимых компонент на ORM 1С – миф или истина где-то в аннотациях Java?

Языки и среды Платформа 1С v8.3 Бесплатно (free)

При работе с 1С ORM (object relation mapping) все время преследует ощущение постоянного создания монолитного приложения — один раз привязался к какой либо сущности (например, справочник Контрагенты), и весь код заполнен ссылками на эту конкретную реализацию. Можно ли независимо разрабатывать в ORM совместимые между собой справочник «Контрагентов» и использующий его документ «Платежное поручение», но при этом избежать жестких зависимостей? Спасут ли нас микросервисы? Пример на аннотациях Java демонстрирует, как это возможно делать.

13.03.2023    234    1CUnlimited    0    

2

xPath в 1С

Файловый обмен (TXT, XML, DBF), FTP Языки и среды Платформа 1С v8.3 Бесплатно (free)

Опыт работы методами языка xPath в 1С.

04.03.2023    2843    DemetrKlim    39    

40

Печать из Андроид

Периферийные устройства Мобильная платформа Бесплатно (free)

Печать этикеток на принтер WiFi без драйвера.

20.01.2023    634    aldar    0    

4

Data science. Скажи мне, брат, трансформер...

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

Какой же data science без нейросетей! Тема чрезвычайно большая и местами сложная. Но в данной статье сложностей не будет. То, что я вам расскажу сейчас, можно охарактеризовать следующими словами: Никогда еще столь доступное не было столь важным.

11.12.2022    988    mkalimulin    15    

11

Data science. 1С и Python

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

Это вторая статья из серии Data science. Почему Python? Зачем он может понадобиться 1С-нику.

27.11.2022    9126    mkalimulin    61    

56

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Опыт использования 1С: Исполнитель (версия 2.0)

Инструментарий разработчика Языки и среды Платформа 1С v8.3 Бесплатно (free)

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

26.09.2022    3759    vandalsvq    21    

28

О цикле обратном замолвите слово...

Механизмы платформы 1С Языки и среды Платформа 1С v8.3 Платформа 1C v8.2 Бесплатно (free)

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

08.09.2022    5260    DrAku1a    69    

30

Группировка проблем в Sentry

Мониторинг Бесплатно (free)

Перевод блока документации Sentry, описывающий подходы к группировке проблем (issue).

20.06.2022    835    malikov_pro    1    

7

Использование Sentry в контексте розничной сети

Мониторинг Платформа 1С v8.3 Бесплатно (free)

В статье опишу свой опыт использования sentry.

17.06.2022    1790    malikov_pro    23    

20

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Осваиваем протокол gRPC по HTTP/2 в 1С

Языки и среды Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

24.05.2022    1620    JetBrain    8    

4

Познавательный PowerShell

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

Еще немного PowerShell нам в помощь.

13.05.2022    4715    Infostart    17    

108

Что делать, если принтер этикеток не печатает?

Периферийные устройства Россия Бесплатно (free)

Учимся устранять основные проблемы с принтером этикеток, если он отказывается печатать и нормально работать. В статье приведены самые частые и рассмотрены методы их решения.

03.12.2021    9626    VachKirp    2    

3

Yandex Cloud Managed Service: мониторинг, планы обслуживания, бэкапы и выводы

Облачные сервисы, хостинг Мониторинг Бесплатно (free)

Давайте поговорим о средствах мониторинга, планах обслуживания и, как ни странно, о бэкапах.

31.10.2021    1161    dsdred    0    

6

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Мониторинг сервера 1С:Предприятия на GNU/Linux с помощью Zabbix

Мониторинг Бесплатно (free)

Специалист по информационным системам в компании «Камин-Софт» Алексей Федотов выступил на митапе Инфостарта, посвященном работе 1С и Linux. Алексей поделился с коллегами, как контролировать работу 1С на Linux с помощью Zabbix.

06.10.2021    3856    Sloth    1    

31

1С, Linux, облака…

Облачные сервисы, хостинг Мониторинг Платформа 1С v8.3 Бесплатно (free)

Архитектор проекта ENOTE Александр Кирилюк выступил на Infostart Meetup «1С и Linux». Александр поделился с коллегами, как начать жить в облаках, выбрать для этого подходящие ЦОДы и ПО и справиться как с распространенными, так и редкими проблемами Linux-систем.

05.10.2021    2644    ArtfulCrom    3    

20

С конфигуратора на EDT. Привычки, которые придется поменять

EDT Языки и среды Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Решил перейти на EDT, чтобы повысить эффективность разработки? А теперь приостановись и выдохни! Я расскажу сейчас о том, из-за чего многие новички в EDT (будучи матёрыми кодерами в конфигураторе) воспринимают встречу с новшествами так, будто их с велосипеда пересадили за штурвал Боинга.

16.09.2021    11920    stas_ganiev    19    

88

Ферма ОДИНа или как управлять множеством Серверов 1С: Предприятие из одной точки

Мониторинг Сервера Платформа 1С v8.3 Бесплатно (free)

У Вас много серверов приложений 1С Предприятие разных версий и их надо мониторить и администрировать. Новое приложение для управления фермой ОДИНа как раз для тебя.

26.08.2021    2213    khorevaa    8    

31

Мониторинг свободного места на диске с помощью OneScript

OneScript Мониторинг Бесплатно (free)

Скрипт, который проверяет объем свободного места на каждом диске и оповещает на почту о нехватке места.

30.05.2021    3157    info1i    19    

16

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

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

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

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

16.05.2021    14849    Infostart    31    

161

Чем воспользоваться для распознавания котиков в 1С?

Математика и алгоритмы Языки и среды Платформа 1С v8.3 Бесплатно (free)

На митапе по инструментам для расширения возможностей 1С выступил Олег Филиппов. Он сравнил подходы Native API, COM, Docker и Serverless, и рассказал, как упростить использование в 1С алгоритмов, реализованных на других языках, с помощью облачной технологии «Функция как сервис».

12.04.2021    4634    comol    10    

29

Использование системы мониторинга Zabbix с 1С для мониторинга ключевых показателей бизнеса

Мониторинг Бесплатно (free)

Мониторинг бизнес-показателей в базе 1С помогает руководителям оперативно принимать решения, реагировать на сбои, видеть реальное состояние каждого из этапов бизнес-процесса. О том, как использовать Zabbix для построения дашбордов и мониторинга ключевых показателей бизнеса, на митапе Infostart Saint Petersburg.Online рассказал Алексей Орловский.

17.02.2021    10375    orlovskiy-a    1    

48

Использование JavaScript для обработки данных в 1с

Языки и среды Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В статье мы передадим данные в JavaScript и получим результат обратно в 1С-объекты средствами JSON. Также "поиграем" с переданными данными.

02.01.2021    11787    John_d    21    

124

Приложение двенадцати факторов

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

Тенденции современности - это SaaS и микросервисы. Про SaaS не слышал только ленивый, но на всякий случай, Ленивый, это для тебя: SaaS это облачная модель работы с сервисами по подписке. У 1С это технология 1С:Фреш. Но мы поговорим не о SaaS и не об 1С:Фреш, а о методологии "Приложение двенадцати факторов", которая родилась для облегчения жизни разработчикам SaaS приложений. Вы спросите: "А где здесь про 1С?". Давайте разберемся.

19.11.2020    1222    Lars Ulrich    0    

2

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Перепрошивка BIOS'а материнской платы под NVMe M.2 (ASUS)

Периферийные устройства Россия Бесплатно (free)

Встала задача апгрейда пк сервера, из-за жалоб пользователей, что 1С тормозит, все плохо, все висит, работать невозможно (1С отраслевая). Покупка нового сервера выходила в кругленькую сумму (процессор, память, SSD улучшать было уже некуда, установлено максимальное поддерживаемое), решили попробовать диски SSD.M2, как бюджетное решение проблем нежели новый сервак, но в материнской плате нет разъема под M2, да и BIOS'ом он не поддерживается.

25.10.2020    25034    ClickUp    50    

14

Управление соляриями из 1С через Arduino

Периферийные устройства Платформа 1С v8.3 Конфигурации 1cv8 Здравоохранение, медицина, стоматология Управленческий учет Бесплатно (free)

Мой опыт автоматизации сети соляриев с интеграцией 1С и оборудования соляриев с помощью платформы Arduino.

01.10.2020    3757    impextr    32    

24

Мониторинг факта выполнения обмена с помощью сервиса healthchecks.io

Мониторинг Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

В статье опишу вариант простого мониторинга обработчиков, запускаемых по расписанию.

30.06.2020    4054    malikov_pro    7    

18

Hello, Executor! Познакомимся с языком 1С:Исполнитель и сразу попытаемся его усовершенствовать

Языки и среды Платформа 1С v8.3 Бесплатно (free)

На прошлой неделе произошел долгожданный громкий релиз в мире 1С: вышла бета версия 1С:Исполнителя. И пусть не оправдались все ожидания после анонса, пусть язык еще сырой, что-то сделать на нем очень интересно. Посмотрим, что это такое, и даже произведем небольшую модернизацию языка (Velocity-pad Costilization).

23.06.2020    17003    CyberCerber    294    

47

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

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

Часовой на страже логов

Мониторинг Анализ и проектирование ИТ-систем Бесплатно (free)

При поддержке решений, которые установлены у большого количества пользователей на различных системах, очень важно вовремя получать подробную информацию о возникших проблемах. О том, как собирать логи и анализировать полученные данные в трекере ошибок Sentry на конференции Infostart Event 2019 Inception рассказал Андрей Крапивин.

13.01.2020    12419    Scorpion4eg    8    

63

Мониторим производительность с помощью 1С RAS

Мониторинг Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Подключаемся и анализируем данные через 1С RAS. Необходимо выполнить 5 пунктов и серьезный инструмент мониторинга будет у вас в руках.

19.12.2019    18683    ivanov660    55    

141

Как подключить сканер штрихкода

Сканер штрих-кода Периферийные устройства Платформа 1С v8.3 1С:Розница Розничная и сетевая торговля (FMCG) Россия Бесплатно (free)

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

11.11.2019    115678    VachKirp    55    

48

Мониторинг высоконагруженной системы

Мониторинг Платформа 1С v8.3 Бесплатно (free)

Высоконагруженной системе (более 8000 клиентских сессий) мониторинг необходим. Про опыт использования инструментов для мониторинга – самописной системы информирования, написанной на C#, и конфигурации «Центр контроля качества» в связке с системой отображения данных Grafana, на конференции Infostart Event 2018 Education рассказал Олег Репников.

13.09.2019    11290    Repich    6    

48

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

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

3 500 рублей

Использование Zabbix для сбора информации о серверных вызовах и управляемых блокировках с сервера 1С Предприятия, работающего на платформе GNU/Linux

Инструменты администратора БД Мониторинг Платформа 1С v8.3 Бесплатно (free)

Описанные в данном опусе механизмы ни в коей мере не противопоставляются тому, что реализует КИП от 1С или какие-либо другие инструменты (решения)! Это всего лишь еще один взгляд на "проблему", который может быть полезен в некоторых ситуациях.

10.09.2019    27206    Sloth    80    

126

Логируй больше! 1С + UPD + GELF + Graylog

Мониторинг Платформа 1С v8.3 Бесплатно (free)

Наличие производительной платформы управления логами - это жизненно важный элемент в ландшафте систем с высокой активностью. Рассмотрим один из подходов логирования активности систем на платформе 1С в Graylog.

26.02.2019    14284    Lars Ulrich    16    

32

Про js и 1С или как я ужа с ежом скрещивал

Языки и среды Платформа 1С v8.3 Бесплатно (free)

Опыт создания динамического списка для обычной формы на js в html и подводных камнях, которые обязательно встретятся при написании оного.

20.02.2019    8000    ntemny    31    

46

Библиотека печати на PDF принтер Bullzip для 1С 7.7

Периферийные устройства Платформа 1С v7.7 Бесплатно (free)

В данной статье приведено несколько методов, которые позволят подключить PDF принтер Bullzip к своему проекту на платформе 1С Предприятие 7.7. Используя PDF принтер, вы сможете сохранять ваши табличные документы в формате PDF. Вы программно можете задавать имя PDF файла и его расположение на диске.

11.12.2018    10178    infosoft-v    15    

11