Пример механизма параллельной обработки данных

Публикация № 542079 12.08.16

Разработка - Инструментарий разработчика

Параллельная обработка фоновые задания очередь

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

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

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

Итак, суть механизма заключается в использовании двух регламентных заданий - Диспетчера и Менеджера заданий очереди (Эта идея зацепила меня при прочтении замечательной заметки на Хабре - https://habrahabr.ru/post/255387/).

Первое из них, а именно Диспетчер, обеспечивает простую постановку в очередь заданий, которые должны выполниться, но которых нет в этой самой очереди. Второе задание, т.е. Менеджер, обеспечивает запуск заданий и соответствующее управление очередью. Здесь стоит остановиться подробнее, т.к. Менеджер обрабатывает задания очереди с учётом их приоритета и ограничений на количество одновременно выполняющихся фоновых заданий. Кроме того, он группирует задания определенного вида в своего рода "пакеты" и затем (так же с учётом приоритетов и ограничений по числу одновременно выполняющихся фоновых заданий) выполняет такие "пакеты" в рамках отдельных фоновых заданий.

Теперь по реализации.

1)В программе имеется справочник "Задания для обработки", в котором собственно и хранятся объекты обработки (т.е. задания). В принципе, такими объектами могут служить различные процедуры или программы загрузки/выгрузки, регламентные задания и прочее. Однако, поскольку это лишь основа механизма, то как таковых объектов обработки не задано, сейчас это вообще просто условный реквизит "Объект" строкового типа, а единственное действие, выполняемое при передаче программного кода такому объекту - минутное ожидание, т.е. пауза в 60 секунд. Понятное дело, если есть необходимость, чтобы задание при своём выполнении выполняло более изысканный код, то нужно соответствующим образом, в т.ч. используя реквизиты экземпляра элемента справочника "Задания для обработки", написать необходимый программный код. Тем не менее, для иллюстрации работы механизма, имеющихся сущностей вполне достаточно.

Каждый элемент справочника "Задания для обработки" имеет:

*флаг "Используется" (по сути это включение/выключение задания);

*флаг "Запускать в отдельном потоке" (задания с установленным флагом будут запускаться в отдельных фоновых заданиях, а задания со сброшенным могут запускаться последовательно по несколько штук в одном фоновом задании);

*поле "Приоритет выполнения" (чем меньше число (по умолчанию - 10), тем выше приоритет выполнения данного задания);

*поле "Идентификатор потока" (задания с одинаковыми идентификаторами потока будут выполняться в дном фоновом задании, при условии, что флаг запуска в отдельном потоке у таких заданий сброшен);

*поле "Объект" (Строка, но после небольших доработок, м.б. использован как идентификатор объекта, в который будет передаваться программный код для выполнения);

*поля "Наименование" и "Комментарий" (предназначение этих полей очевидно)

2)По расписанию, скажем каждые 5 минут, в системе запускается Диспетчер (регламентное задание "Диспетчер заданий"), который получает из справочника "Задания для обработки" все включенные задания, т.е. которые нужно выполнять, а затем, те из них, которых нет в очереди - туда и помещает. Более ничего Диспетчер не выполняет.

3)Как уже было отмечено выше, в механизме существует ещё и Менеджер (второе регламентное задание - "Менеджер заданий"), основной задачей которого является запуск заданий и очистка очереди (по окончанию выполнения заданий). Менеджер, как мне кажется, должен запускаться чаще, чем диспетчер, т.к. его работа напрямую влияет на скорость выполнения заданий очереди (у меня он запускается раз в минуту). Сразу после старта Менеджер получает параметры, определяющие количество потоков (одновременно выполняемых фоновых заданий) для выполнения разных видов заданий очереди. После этого, Менеджер удаляет из очереди отключенные задания (вдруг их кто-то выключил), а также удаляются (из очереди) выполняющиеся задания, по которым не найдено активных фоновых заданий. После корректировки очереди, Менеджер получает нераспределенные по потокам задания из очереди и распределяет их по потокам. Причем, распределив то, или иное задание, Менеджер сразу запускает его выполнение. Вначале распределяются задания, запускаемые в отдельных потоках. Делается это с учётом их приоритета и наличия вакантных ресурсов, т.е. лимита по количеству параллельно выполняющихся заданий данного вида (одно задание на один поток). Если такой лимит для старта задания отсутствует, то задание не распределяется (т.к. по сути в данный момент нет свободных ресурсов для его выполнения). Следом идёт очередь распределения заданий, которые могут быть объединены для выполнения в рамках одного фонового задания. Последовательность распределения таких заданий следующая - сначала распределяются задания с заполненными идентификаторами, а затем с пустыми. Распределение по потокам выполнения и в этом случае происходит с учётом приоритетов и наличия ресурсов. По окончании выполнения каждого из заданий, программа (точнее обработчик каждого из фоновых заданий) выполняет удаление соответствующего задания из очереди.      

В общем, это основные моменты, которые дают понимание моего "велосипеда".

На последок ещё раз отмечу, что это не готовое решение, а лишь пример, или если угодно - основа для построения более сложного механизма. Так, например, поскольку в регистр очереди довольно часто осуществляется запись, то для повышения производительности можно подумать об использовании при этом управляемых блокировок и транзакций. А если ещё и "запилить" к этому что-то вроде расписания выполнения заданий (из справочника "Задания для обработки"), а также систему логирования результатов их выполнения и сбора статистики(в т.ч. по загрузке ресурсов, времени ожидания и выполнения и т.п.), то можно получить интересное решение.

В добавление к указанной статье с Хабра, считаю необходимым указать ещё парочку:

//infostart.ru/public/306865/
http:// /news/2015-12-04-threads-data/

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

Наименование Файл Версия Размер
Демобаза

.dt 53,23Kb
5
.dt гма1 53,23Kb 5 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. starik-2005 2834 13.08.16 10:31 Сейчас в теме
А блокировку соседних заданий по критическому коду можно в 1С сделать?
2. Идальго 217 13.08.16 13:51 Сейчас в теме
(1) starik-2005, думаю, что реализовать паузу в запуске соседних заданий совсем просто, но вот для того, чтобы уже выполняющиеся задания стопарнуть на время - тут сложнее )))
3. starik-2005 2834 13.08.16 19:34 Сейчас в теме
(2) тогда Вам следует прочитать это.
4. Идальго 217 14.08.16 19:16 Сейчас в теме
(3) starik-2005, спасибо, я прочитал. Я подобные вещи тоже давно использую (и этого всегда 100% хватало). В вышеприведенном комментарии я немного другое имел в виду, ведь если делать так, как предложено у вас, то для того, чтобы метод стал универсальным, то нужно либо в каждом задании прописывать подобный код, либо делать вызов какой-то общей процедуры, которая будет проверять мьютекс. Однако это не совсем универсально и удобно, т.к. этот код проверки выполняется каждым из заданий, а я подразумевал использование более универсальной штуки, которая бы подключалась к каждому из заданий и получала текущий статус его выполнения, и в случае ошибки, как-то это дело переваривала. Ну и в целом, у меня же здесь просто пример - основа, на которую можно посложнее штучки навернуть (кому нужно).
5. artbear 1430 18.08.16 12:50 Сейчас в теме
(0) А почему не взял готовый пример подсистемы от автора статьи с Хабра?
Код реально рабочий, проверен на нескольких системах в разных организациях.
Код открыт на Гитхабе, есть поддержка продукта.

Тем более, что в подсистеме использованы приемы, позволяющие решить некоторые возникающие проблемы с фоновыми заданиями.

Зачем тратить время на написание велосипедов?

6. Идальго 217 18.08.16 17:48 Сейчас в теме
(5) artbear, Ну там немного по-другому сделано, но суть конечно та же самая. Вообще у всех подобных решений реализация очень похожа. Кроме того, в той статье сделано вроде на УФ, а мне нужно было на обычных. Да и Господи там писать то на пару-тройку часов, когда логику представляешь (собственно её я и подглядел на гитхабе, хотя потом ещё кучу мест нашел). Мучиться с разбором чужого кода не хотелось, да и просто интересно было))) Плюс, у меня же раскидывание по приоритетам и свободным потокам и т.п. есть, а на гитхабе не было (точно не помню уже). Да и вообще моя для понимания механизма, или как основа для более сложного продукта попроще и поудобнее будет, как мне кажется.
8. artbear 1430 19.08.16 17:47 Сейчас в теме
(6) (7)
Если организовывать гарантированную доставку/выполнение, то пятью/двадцатью минутами не обойдешься.

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

ЗЫ напомню, что я не автор продукта/статьи на Гитхабе/Хабре.
10. Идальго 217 19.08.16 21:05 Сейчас в теме
(8) artbear, Да никаких в той обработке (на гитхабе) особых штучек в плане работы с нагруженностью и гарантированностью нет. Как и в моей обработке, там есть ограничение на количество потоков и, вроде была удалялка зависших заданий. У меня же по части распределения задач - больше настроек. Работа по разруливанию блокировок(н-р регистров) и т.п., как я полагаю, также должна осуществляться со стороны кода запущенной обработки (т.е. это не менеджер очереди делает). Что касается сложности кода и времени разработки - обработки почти одинаковые, хотя мне мой код конечно понятнее))) Давайте закончим уже про ту обработку (обработки конечно похожи, но отличия тем не менее есть и я их описывал выше)?
9. artbear 1430 19.08.16 17:49 Сейчас в теме
(6)
Кроме того, в той статье сделано вроде на УФ, а мне нужно было на обычных

В "той статье" на УФ сделано буквально 2 простые формы, практически без кода или только вызов серверных методов. Весь остальной код - это серверный код, работающий как в ОФ, так и в УФ.
7. starik-2005 2834 18.08.16 20:22 Сейчас в теме
Я как-то многопоточный код замутил через произвольный алгоритм и функцию общего модуля "ВыполнитьАлгоритм". Если разобраться в механизме, то никаких подсистем не надо - все делается на коленке за двадцать минут.
11. MikeLetto 78 21.03.17 14:08 Сейчас в теме
Выходит ошибка: {ВнешняяОбработка.ФоновоеЗаданиеСИндикацией.Форма.Форма.Форма(58)}: Метод объекта не обнаружен (ВыгрузитьОстатки)
ОбработкаОбъект.ВыгрузитьОстатки(СтруктураПараметров, АдресРезультата);

Версия БСП: "2.1.1.18"
12. Идальго 217 23.03.17 07:09 Сейчас в теме
(11)
Выходит ошибка: {ВнешняяОбработка.ФоновоеЗаданиеСИндикацией.Форма.Форма.Форма(58)}: Метод объекта не обнаружен (ВыгрузитьОстатки)
ОбработкаОбъект.ВыгрузитьОстатки(СтруктураПараметров, АдресРезультата);

Версия БСП: "2.1.1.18"


Эта ошибка у вас к моей программке, вроде, не имеет никакого отношения. В моей программе нет ВыгрузитьОстатки и т.п.
Оставьте свое сообщение

См. также

Infostart Toolkit

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

Простые и удобные инструменты: Консоль запросов, СКД, Редактор объекта, Поиск ссылок и другие. Редактор запросов и кода с раскраской и контекстной подсказкой. Улучшенный конструктор тонкого клиента и др.

10000 руб.

02.09.2020    81176    396    366    

471

SALE! %

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

2400 1920 руб.

14.01.2013    164905    1013    0    

770

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    93740    229    95    

276

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

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

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

2400 руб.

24.09.2019    20017    11    14    

19

Универсальная обработка создания связанных документов (универсальный "ввод на основании")

Инструментарий разработчика Обработка документов Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

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

2500 руб.

02.04.2017    42265    72    27    

128

Программное формирование существующих печатных форм

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Получение списка печатных форм, формирование выбранной печатной формы и сохранение ее в файл.

1 стартмани

17.12.2021    12834    32    RocKeR_13    5    

42

Бустер Конвертации данных 3 (Infostart Toolkit)

Инструментарий разработчика 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 руб.

07.10.2021    11697    2    12    

36

Универсальный редактор данных (УРД)

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Универсальный редактор данных (УРД) - это лучший инструмент в своем классе, который позволяет редактировать реквизиты и движения объектов

1 стартмани

27.08.2021    16052    206    Adeptus    57    

92

Автоматизация труда программиста. Библиотека прикладных функций

Инструментарий разработчика Платформа 1С v8.3 Платформа 1C v8.2 Платформа 1С v8.1 Конфигурации 1cv8 Платные (руб)

Программист - это человек, непрерывно принимающий решения. Написание кода не является процессом принятия решения - это всего лишь трансляция ваших желаний. Если вас периодически тяготит написание сотен строк кода ради решения задач, то прошу обратить внимание. Данный продукт позволит существенно сократить время на рутинные операции при разработке. За счет библиотечной реализации сокращается объём кода, а его читаемость повышается. К библиотеке прилагается документация API и шаблоны кода для наиболее популярных методов.

4200 руб.

16.04.2021    10719    2    9    

7

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

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

2 стартмани

06.03.2021    14527    8    pila86    17    

29

Чтение метаданных 1С из SQL Server и PostgreSQL

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

Описание файла DBNames таблицы Params и файлов объектов метаданных таблицы Config.

16.02.2021    11821    zhichkin    74    

79

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

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

5 стартмани

21.12.2020    19674    32    huxuxuya    11    

36

DaJet Studio: расширенный язык запросов 1С, очереди сообщений и web сервисы

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

DaJet Studio - разработка и управление скриптами, хранимыми процедурами и функциями, написанными на расширенном языке запросов 1С, а также очередями сообщений и web сервисами, основанными на использовании Microsoft SQL Server.

10.11.2020    12881    126    zhichkin    14    

25

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

Инструментарий разработчика Анализ учета Платформа 1С v8.3 Запросы Абонемент ($m)

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

2 стартмани

11.08.2020    11670    61    vozhd    4    

19

Глобальное меню разработчика для управляемых форм

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

Подсистема "Инструменты разработчика". Глобальное контекстное меню разработчика для управляемых форм в толстом клиенте.

03.08.2020    9071    tormozit    29    

94

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

Инструментарий разработчика Платформа 1С v8.3 Россия Абонемент ($m)

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

1 стартмани

05.03.2020    17453    14    moolex    13    

15

[ЕХТ] Фреймворк для Расширений 1С

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

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    15202    3    6    

32

Markdown-editor в 1С (с сохранением в HTML)

Инструментарий разработчика Управляемые формы Конфигурации 1cv8 Абонемент ($m)

В этой обработке вы пишете свой текст, используя синтаксис Markdown, а на выходе получаете чистый HTML-код, избавленный от JS-библиотеки, которая его сформировала. Совместим с Webkit и IE.

1 стартмани

04.07.2019    19926    34    riposte    6    

52

Модель объекта

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

1 стартмани

30.06.2019    24910    3    vadim1980    5    

17

CFU & CFE - reader (версия 3.1).

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка для анализа файлов обновлений (.cfu) и расширений (.cfe) в режиме предприятия в любой конфигурации для 1С 8.3.+. Основана на разработке https://infostart.ru/public/97194/.

2 стартмани

21.06.2019    17513    48    vandalsvq    12    

28

Блин, мы забыли включить регламентные задания…

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

08.04.2019    35077    23    slozhenikin_com    37    

61

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8

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

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

31.01.2019    105860    bonv    262    

875

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019)

Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Инструментарий разработчика Платформа 1С v8.3 Мобильная платформа Бухгалтерский учет Управленческий учет Абонемент ($m)

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    78079    286    informa1555    246    

207

Легкое и гибкое управление списком доступных баз 1С у пользователей

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Когда в локальной сети много пользователей, а еще большое количество различных баз и при этом каждому нужны свои, то администрирование этого зоопарка превращается в АД! Этот комплекс позволяет централизованно управлять списком доступных баз в разрезе пользователей. За пару кликов можно добавить или убрать базу у всех пользователей.

7 стартмани

05.12.2018    30556    30    RomikR    11    

18

Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек.

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний. Wsf-скрипт, созданный на стандартном языке автоматизации Windows - "WSH JScript", очищает кэш 1С просто, быстро и безопасно. Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.

1 стартмани

04.11.2018    68424    648    Eugen-S    36    

52

Навигатор по конфигурации базы 1С 8.3

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

Универсальная внешняя обработка для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Платформа 8.3, управляемые формы. Версия 1.1.0.95 от 07.05.2023

3 стартмани

28.10.2018    60058    537    ROL32    72    

183

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

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

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

10 стартмани

14.08.2018    159905    3533    Evg-Lylyk    802    

624

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    46581    35    informa1555    30    

77

Работа со схемой запроса

Инструментарий разработчика Платформа 1С v8.3 Запросы Абонемент ($m)

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

1 стартмани

24.04.2018    59414    kalyaka    40    

212

Регистры правил [Расширение]

Инструментарий разработчика Платформа 1С v8.3 Управление правами 1С:Управление торговлей 11 Абонемент ($m)

Регистры правил - права доступа, запрет редактирования, автоподстановка реквизитов и т.д.

10 стартмани

15.03.2018    32516    33    33lab    5    

18

Заполняем по шаблону (по умолчанию)

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

08.02.2018    44390    25    mvxyz    17    

79

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

2040 руб.

27.12.2017    26272    2    10    

9

Программное формирование форматированной строки в стиле html+inline CSS

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Если вам приходилось работать с форматированными строками программно, то вы знаете, какая это боль. Данное решение облегчает программное формирование таких строк.

1 стартмани

18.11.2017    58887    61    bonv    13    

74

Быстрое удаление неиспользуемых версий 1С:Предприятие 8, кэша метаданных и информационных баз

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

14.11.2017    39245    109    bonv    17    

48

Закрываем всплывающие сообщения платформы

Инструментарий разработчика Управляемые формы Абонемент ($m)

Принудительное закрывание сообщений платформы 8.3.10.

1 стартмани

10.11.2017    20880    13    RomaH    8    

12

DataReducer — R-консоль для «1С:Предприятия»

Инструментарий разработчика Платформа 1С v8.3 Анализ и прогнозирование Абонемент ($m)

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

10 стартмани

10.07.2017    33637    3    DataReducer    13    

47

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов

Универсальные функции HighLoad оптимизация Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    54050    DarkAn    87    

197

Набор подсистем "Умные таблицы"

Инструментарий разработчика Платформа 1С v8.3 Беларусь Россия Казахстан Абонемент ($m)

Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.

1 стартмани

22.05.2017    49010    119    Silenser    34    

75

Консоль запросов с графом (Анализатор сложных запросов)

Инструментарий разработчика Запросы Управляемые формы Запросы Конфигурации 1cv8 Абонемент ($m)

Консоль запросов для анализа запросов с большим количеством временных таблиц и вложенных запросов. Отображает структуру взаимосвязей временных таблиц в виде графа. Позволяет быстро передвигаться по тексту запроса и получать результат выполнения подзапросов. Единственная консоль запросов, которая позволяет выводить результат выполнения вложенных запросов и любой части объединения запроса. Удобное получение данных запроса из отладчика включая временные таблицы. Текст запроса в структурированном виде (можно свернуть, развернуть текст подзапроса). И еще много другого, чего вы не найдете в других консолях запросов. Поддержка УФ и ОФ. Версия 1.1 от 11.04.2023 (просмотр значений типа "ТаблицаЗначений" в строках результата запроса).

10 стартмани

03.05.2017    119013    585    manuel    304    

399