Многопоточная обработка данных

Публикация № 947222 23.11.18

База данных - HighLoad оптимизация

HighLoad Параллельная обработка Многопоточная Фоновые задания Универсальные механизмы Пакеты данных

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

Производительность

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

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

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

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

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


Проблемы и решения

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

  • Организовывать хранение пакета данных для обработки в фоновом задании, а также организовывать хранение результата обработки пакета данных.
  • Каким-либо образом отслеживать динамику работы фоновых заданий. Зачастую обработка должна быть организована в фиксированное число потоков. Необходимо отслеживать момент завершения обработки одних пакетов данных и своевременно запускать фоновые задания для обработки еще не обработанных пакетов данных.
  • Реализовать способ управления многопоточной обработкой пакетов данных. Останавливать/запускать процесс, увеличивать/уменьшать количество потоков обработки и пр.
  • Следить за работоспособностью запущенных фоновых заданий. Фоновые задания могут завершаться аварийно, быть завершены кластером серверов 1С,  зависать и пр. Нужно каким-либо образом диагностировать эти ситуации и запускать повторную обработку пакетов данных, которые обрабатывались в аварийном фоновом задании. Также может потребоваться прервать работу фонового задания, если оно имеет признаки зависания.
  • Налаживать логирование процесса обработки пакета данных. Часто нужно хранить не только информацию о факте запуска/завершения обработки пакета, но и дополнительную информацию с описанием хода процесса обработки пакета данных.

Для решения этих и многих других (менее явных, но не менее важных) задач предназначена конфигурация «Универсальные механизмы: пакеты данных».

Конфигурация «Универсальные механизмы: пакеты данных» может быть внедрена в любую конфигурацию на платформе 1С 8.3 без доработок. Она полностью независима и самодостаточна.


Базовые понятия

В конфигурации есть 2 основных понятия, вокруг которых строится вся работа:

  • Пакет данных
  • Способ обработки пакетов данных

Пакет данных

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

У каждого пакета данных есть данные пакета – произвольный набор сведений (массив ссылок, двоичные данные, таблица значений, …), который используется при обработке этого пакета.

Пакет данных имеет статус, который зависит от результата его обработки:

  • К обработке – пакет еще не обработан.
  • В обработке – в данный момент пакет обрабатывается.
  • Обработан – пакет успешно обработан.
  • Ошибка – при обработке пакета возникла ошибка.

Для пакета данных ведется лог его обработки, а также хранится результат его обработки.

Ну и главное – пакет данных обязательно содержит ссылку на способ обработки пакетов.

Способ обработки пакетов

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

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

  • Количество параллельных рабочих потоков.
  • Максимальное время жизни рабочего ФЗ – это время, которое мы отводим на обработку нашего пакета данных. Если оно истекло – система автоматически прервет рабочее фоновое задание, в котором обрабатывается этот пакет.

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

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


Организация многопоточной обработки

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

  • Рабочее ФЗ – в этом фоновом задании выполняется написанный Разработчиком алгоритм по обработке пакета данных.
  • Управляющее ФЗ – данное фоновое задание занимается запуском рабочих ФЗ и отслеживанием их состояния.

Управляющее ФЗ запускается для каждого способа обработки отдельно в регламентном задании по обработке пакетов данных.

Укрупненно алгоритм работы системы следующий:

  • По расписанию запускается РЗ обработки пакетов. В нем выбираются необработанные пакеты с активным способом обработки.
  • Для каждого способа обработки запускается управляющее ФЗ, куда передается выборка необработанных пакетов по этому способу, а также параметры многопоточной обработки.
  • Управляющее ФЗ в течение времени своей жизни организует многопоточную обработку пакетов в рабочих ФЗ.

По истечении времени жизни управляющего ФЗ оно завершает свою работу, даже если не все пакеты были обработаны. Необработанные пакеты будут переданы в новое управляющее ФЗ при очередном запуске регламентного задания обработки пакетов.

Так как считывание параметров способа обработки пакетов производится каждый раз при запуске нового управляющего ФЗ, становится возможным управлять многопоточной обработкой, изменяя параметры способа обработки. Можно остановить/запустить обработку пакетов, изменить количество параллельных рабочих потоков и пр.


Быстрый старт

Рассмотрим основные понятия и объекты, которые используются в конфигурации на простейшем примере – решении БОЛЬШОЙ ЗАДАЧИ.

БОЛЬШАЯ ЗАДАЧА: нужно заполнить поля и записать 100 тысяч элементов справочника. Каждый элемент может быть обработан независимо, но обработка трудоемка.

Для организации многопоточной обработки БОЛЬШОЙ ЗАДАЧИ её нужно разбить на маленькие порции – пакеты данных, которые могут быть выполнены параллельно. У каждого пакета данных есть свои входящие параметры – данные пакета, которые определяют, какая часть БОЛЬШОЙ ЗАДАЧИ будет выполнена при обработке этого пакета. При этом нам нужно указать способ обработки пакета, который будет хранить информацию о том, какая функция будет обрабатывать наши пакеты данных и сколько параллельных рабочих потоков будет запущено для обработки.

Создание обработчика пакета данных

Создадим в любом серверном модуле экспортную функцию – обработчик пакета данных. В качестве данных пакета выступает массив из нескольких элементов справочника из нашей БОЛЬШОЙ ЗАДАЧИ в 100 тысяч элементов.

Функция  ОбработчикПакетаДанных(Данные, ПараметрыПакетаДанных, ПараметрыСпособаОбработки) Экспорт	

	// Данные – это массив с порцией ссылок 
	// В ТЧРезультат мы будем хранить результат обработки наших данных
	ТЧРезультат = Новый ТаблицаЗначений;
	ТЧРезультат.Колонки.Добавить(«СсылкаЭлемент»);
	ТЧРезультат.Колонки.Добавить(«ОписаниеРезультата»);
	
	// Приступим к обработке данных пакета
	НачатьТранзакцию();	
	Для каждого СсылкаЭлемент из Данные Цикл
		// в этой функции происходит непосредственно обработка ссылки
		ОписаниеРезультата = ОбработатьЭлементСправочника(СсылкаЭлемент);
		СтрРезультат = ТЧРезультат.Добавить();
		СтрРезультат.СсылкаЭлемент = СсылкаЭлемент;
		СтрРезультат.ОписаниеРезультата = ОписаниеРезультата;
	КонецЦикла;
	ЗафиксироватьТранзакцию();

	// Пакет обработан – сообщим системе, как завершилась обработка. 
	РезультатОбработкиПакета = Новый Структура;
	РезультатОбработкиПакета.Вставить(«СостояниеПакетаДанных», Перечисления.ум_СостоянияПакетаДанных.Обработан);
	РезультатОбработкиПакета.Вставить(«Сообщение», «Обработано: »+Данные.Количество()+« элементов.»);
	РезультатОбработкиПакета.Вставить(«Результат», ТЧРезультат);

	Возврат РезультатОбработкиПакета;	
           	
КонецФункции

В функции ОбработатьЭлементСправочника происходит непосредственно обработка элемента справочника. Функция возвращает структуру с описанием результата обработки элемента.

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

Описание способа обработки пакета

Откроем справочник «Способы обработки пакетов» и создадим там новый элемент с наименованием «Большая задача». Заполним его следующим образом:

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

Создание пакетов данных

Теперь нам осталось создать пакеты данных, которые будут обработаны нашим способом обработки пакетов. Для этого выполним следующий код:

Процедура СоздатьПакетыОбработки(БольшойМассивСсылок)

	РазмерПорции = 10; // максимальный размер порции данных на пакет	

	// алгоритм ниже разбивает большую задачу на части и для каждой части создает пакет данных
	ТекущаяПорция = Неопределено;
	Для каждого СсылкаЭлемент из БольшойМассивСсылок Цикл

		Если ТекущаяПорция = Неопределено Тогда
			ТекущаяПорция = Новый Массив;
		КонецЕсли;
		ТекущаяПорция.Добавить(СсылкаЭлемент);

		Если ТекущаяПорция.Количество() >= РазмерПорции Тогда
			Результат = ум_ПакетыДанныхСерверПривелегированный.СоздатьНовыйПакетДанных(ТекущаяПорция, «Большая задача»);
			Если Резульатат.ОшибкаЗаписиПакета Тогда
				ВызватьИсключение Результат.ОписаниеОшибки;
			КонецЕсли;
			ТекущаяПорция = Неопределено;
		КонецЕсли;

	КонецЦикла;

	Если НЕ ТекущаяПорция = Неопределено Тогда
		ум_ПакетыДанныхСерверПривелегированный.СоздатьНовыйПакетДанных(ТекущаяПорция, «Большая задача»);
		Если Резульатат.ОшибкаЗаписиПакета Тогда
			ВызватьИсключение Результат.ОписаниеОшибки;
		КонецЕсли;
	КонецЕсли;

КонецПроцедуры

У функции СоздатьНовыйПакет() два обязательных параметра:

  • Данные – произвольное значение. Данные пакета.
  • ИмяСпособаОбработки – наименование способа обработки, которым созданный пакет должен быть обработан.

Функция СоздатьНовыйПакет()  возвращает структуру данных, которая содержит:

  • идентификатор созданного пакета данных;
  • флаг ошибки записи пакета;
  • описание ошибки записи нового пакета (если она произошла).

В результате вызова функции СоздатьНовыйПакет() в системе будет зарегистрирован новый пакет в статусе «К обработке».

ГОТОВО!!!

При установке флага «Активность» в способе обработки пакетов «Большая задача» система автоматически запустит многопоточную обработку пакетов.


Особенности работы

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

Лог работы с пакетом данных

Система автоматически ведет полный лог работы с пакетом. Когда и каким ФЗ пакет был взят в работу, сколько времени обрабатывался. Сколько попыток обработать пакет было предпринято и пр.

Если при обработке пакета пользователь в структуре результата указал какое-либо значение как результат обработки пакета – его можно также просмотреть в логе обработки пакетов.

Повторная обработка пакетов

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

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

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

К примеру, пакет «Загрузка счет-фактуры» может ожидать появления в системе ссылки на свой документ-основание «Поступление ТМЦ» в течение заданного периода. Для этого при обработке пакета, если документ основание не найден, достаточно вернуть статус обработки пакета «К обработке», а если найден – создать счет-фактуру и вернуть статус «Обработан».

Администрирование пакетов

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

Средства отладки

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

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

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

Отказоустойчивость

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

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


Дополнительные возможности

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

 
 Обработка «Администрирование многопоточной обработки»
 
 Обработка «Групповое редактирование данных»

Примеры использования

 
 Отложенная «тяжелая» обработка данных
 
 Пошаговые алгоритмы обработки данных

Кроме описанных выше примеров, пакеты данных успешно используются для:

  • Автоматическое фоновое восстановление последовательностей.
  • Многопоточное отражение документов в регламентированном учете (для ERP 2, КА 2).
  • Реализации обменов между базами данных.
  • Обслуживания web-сервисов. При получении данных через web-сервис создается новый пакет данных. Это работает очень быстро и позволяет сократить время жизни web-сессии, а также получить полноценное логирование работы web-интерфейса базы данных.

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

Также в последующих публикациях попробую рассказать о некоторых приемах при работе в HiLoad системах:

  • Способ блокировки данных, блокировка которых не предусмотрена платформой. Организация ожидания блокировки и DeadLock в пакетах данных.
  • Способы распараллеливания «не распараллеливаемых» алгоритмов.

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

К онфигурация длительное время находится в промышленной эксплуатации на многих крупнейших предприятиях Сибирского федерального округа. Гарантирована работоспособность на платформе 8.3.6 и выше. В конфигурации используются управляемые формы.

Для скачивания доступна конфигурация с открытым кодом.

 
 Информация об обновлениях версий конфигурации

Комплекты поставки

Наименование Файл Версия Размер
Универсальные механизмы: пакеты данных (открытый код)

.cf 214,36Kb
101
.cf 2.1.1.8 214,36Kb 101 Скачать

Инструкция

Наименование Файл Версия Размер
Инструкция УМ - Пакеты данных v02.pdf

.pdf 1,84Mb
66
.pdf 02 1,84Mb 66 Скачать

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

Отзывы
3. pashamak 236 23.11.18 16:48 Сейчас в теме
Здорово, ранее приходилось изобретать свой велосипед - теперь можно использовать готовое решение.
10. HavtorinM 27.11.18 05:39 Сейчас в теме
Инструментарий очень даже порадовал. На данный момент накрутили на него очень много процессов:
1) Изменение данных в ИБ (корректировка/создание данных, перепроведение документов).
2) Загрузка данных из сторонних систем (Документооборот, ЗУП).
3) Рассылка сообщений пользователям (при создании/изменении пароля), общие уведомления.
4) Отправка данных на веб-сервис.
Коротко о том, что получили:
Значительное увеличение скорости обработки данных.
Быстро и наглядно можно увидеть состояние обработки необходимых данных и отреагировать на появление ошибок (некорректная загрузка, неудачное внесение доработок в конфигурацию и др.)
Ввиду архитектуры данной разработки, после калибровки настроек способов обработки, удалось очень равномерно распределить нагрузку на сервер.
Гибкость настройки. В момент запуска блока или после исправления ошибки для ускорения скорости обработки нужного способа обработки, отключали все способы, кроме одного нужного.
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. herfis 468 23.11.18 13:38 Сейчас в теме
1. При отслеживании сбоев анализируется журнал регистрации или технологический журнал?
2. Доступ к журналу - это обязательное условие нормального функционирования системы или опциональное для улучшения качества анализа причин сбоев и принятия решений?
2. _ASZ_ 145 23.11.18 14:03 Сейчас в теме
Если речь идет о нарушении работоспособности в связи с аварийным завершением работы ФЗ, то это выясняется не анализом журнала регистрации (его могут же вообще отключить) и не тех. журнала (включать его на продуктивных системах - не лучшее решение), а путем опроса кластера серверов 1С на предмет состояния ФЗ по ключу. При старте рабочего ФЗ или управляющего ФЗ запоминается его ключ и опрашивается сервер 1С по состоянию потока с этим ключом.
3. pashamak 236 23.11.18 16:48 Сейчас в теме
Здорово, ранее приходилось изобретать свой велосипед - теперь можно использовать готовое решение.
4. DarkAn 1046 26.11.18 10:06 Сейчас в теме
Добрый день!
Из предложенного описания не совсем понятно как реализуется "Автоматическое фоновое восстановление последовательностей."?

Из того, что было представлено - это обычное разделение данных на блоки и их обработка.
5. _ASZ_ 145 26.11.18 10:32 Сейчас в теме
(4) Все верно. Здесь описан инструмент для организации отказоустойчивой многопоточной обработки данных. Способ автоматического фонового восстановления последовательностей с использованием пакетов данных я постараюсь описать в ближайшее время в другой статье. Много людей обращаются с этим вопросом, проблема актуальная.
Maks_Alexey13; +1 Ответить
6. rpgshnik 3318 26.11.18 15:35 Сейчас в теме
10sm больше чем 1000р, по этому крайне странно, что за 10sm, код закрытый.
7. _ASZ_ 145 26.11.18 15:59 Сейчас в теме
(6) Действительно ситуация странная. Не вы первый обращаетесь. Честно говоря я только сейчас разобрался с местным ценообразованием. Выложу ка я везде открытый код...
Maks_Alexey13; DarkAn; rpgshnik; +3 Ответить
8. DarkAn 1046 26.11.18 16:57 Сейчас в теме
(7) В итоге я к такой же мысли пришел :)
Многопоточность. Универсальный «Менеджер потоков» 2.0

Радует, что движемся в одном направлении :)
9. DarkAn 1046 26.11.18 17:01 Сейчас в теме
(6) Почему дороже? Вроде текущий курс 84 руб * 10$m = 840 руб. Разве нет?

Вот разработчик вместо 10$m - получает только 8$m - это точно :)

То, что соотношение 840 (код закрыт) к 1 000 (код открыт) действительно странное, но автор вроде решил исправиться и это радует :)
11. rpgshnik 3318 27.11.18 07:37 Сейчас в теме
(9) 840 это вы со стороны авторов оцениваете (кто заработал стартмани на инфостарте), посмотрите сколько 1sm стоит для пользователей, которые их приобретают через инфостарт (https://infostart.ru/journal/news/mir-1s/infostart-novye-tarify-na-abonement-s-01-12-2018_942295/), по этому цена 10sm в эквиваленте в рубли для них становится от 4500р до 1050р. Возьмём грубо средне 2775р, что явно больше 1000р.

Кстати забавно посмотреть разницу. 840 ведь не чистая прибыл автора, а лишь будет 672 (хоть скачка и 10см, автору падает только 8см). Затем с них он ещё при выводе заплатит, итого 672-87,36-100(обычно 3%, но не меньше 100р)=484,64р. Веселая математика 4500-484,64=4015,36р разница :)
Прикрепленные файлы:
Interrupted; +1 Ответить
10. HavtorinM 27.11.18 05:39 Сейчас в теме
Инструментарий очень даже порадовал. На данный момент накрутили на него очень много процессов:
1) Изменение данных в ИБ (корректировка/создание данных, перепроведение документов).
2) Загрузка данных из сторонних систем (Документооборот, ЗУП).
3) Рассылка сообщений пользователям (при создании/изменении пароля), общие уведомления.
4) Отправка данных на веб-сервис.
Коротко о том, что получили:
Значительное увеличение скорости обработки данных.
Быстро и наглядно можно увидеть состояние обработки необходимых данных и отреагировать на появление ошибок (некорректная загрузка, неудачное внесение доработок в конфигурацию и др.)
Ввиду архитектуры данной разработки, после калибровки настроек способов обработки, удалось очень равномерно распределить нагрузку на сервер.
Гибкость настройки. В момент запуска блока или после исправления ошибки для ускорения скорости обработки нужного способа обработки, отключали все способы, кроме одного нужного.
12. _ASZ_ 145 05.03.19 05:50 Сейчас в теме
Время пришло. Хотел сделать разработку бесплатной, но не вышло... Минимум 1sm. Пусть будет так.
FilatovRA; +1 Ответить
15. k1rs 14.12.19 15:34 Сейчас в теме
(12) Как вариант можно выложить в гитхаб и оставить ссылку в публикации. Как например здесь: https://infostart.ru/public/709325/
13. Serg O. 205 03.09.19 07:50 Сейчас в теме
хорошая идея... надо попробовать...
небольшая опечатка в тексте: Процедура СоздатьПакетыОбработки ...
сразу видно не подсвечено красным... ТекущаяПорция = НеопредеЛНо;
14. _ASZ_ 145 03.09.19 11:07 Сейчас в теме
16. Skif1989 24.04.21 16:03 Сейчас в теме
Тупой вопрос мне для бухгалтерии подойдет? Перечитал много статей разных, мне необходимо ускоренное восстановление последовательности документов.
17. _ASZ_ 145 26.04.21 07:20 Сейчас в теме
(16) Добрый день.

Подойти то подойдет, главное не упереться в блокировки на регистре бухгалтерии и чтобы данные позволяли распараллелить процесс.
18. user737574 12.08.22 17:44 Сейчас в теме
Добрый день

А могли бы вы выложить эту прекрасную доработку на yandex disk ?
19. kostya_whiskas 92 25.03.23 21:00 Сейчас в теме
Расскажите, пожалуйста, как настроить обмен между базами через планы обмена между базами с помощью этой обработки
Оставьте свое сообщение

См. также

Пример многопоточной обработки (БСП)

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

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

13.02.2023    3808    3    echo77    8    

68

Подсистема оповещений об изменении объектов

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

27.07.2022    4723    28    Sirruf    28    

26

Решение проблем подвисания 1С “в онлайне”. Инструмент - консоль управления блокировками и процессами 1С и PostgreSQL (MS SQL - тестируется)

HighLoad оптимизация Администрирование СУБД Платформа 1С v8.3 Управляемые формы 8.3.14 Конфигурации 1cv8 Абонемент ($m)

Обработка-консоль, улучшенная версия консоли администрирования 1С для решения проблем с производительностью, поиска и устранения блокировок и длительных запросов. Тестировалось на платформе 8.3.14, 8.3.17, 8.3.20 УФ.

1 стартмани

04.07.2022    6109    57    victor_goodwill    23    

36

Обслуживание баз данных 1C на Postgresql под Astra Linux

Администрирование СУБД Инструменты администратора БД Linux Платформа 1С v8.3 Абонемент ($m)

Эта публикация для тех специалистов 1С, которые развернули сервер 1С и сервер PostgreSQL под Astra Linux и которым не интересно работать в командной строке, выполняя «шаманские» скрипты для автоматического сохранения и восстановления баз. Возможно вам тоже будет удобно обслуживать базы данных PostgreSQL решением на платформе 1С.

10 стартмани

14.06.2022    5848    11    alfanika    11    

21

Консоль запросов SQL (управляемые формы)

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

Иногда требуется подключиться к другим базам данных для обменов, например: MySQL (сайты, интернет магазины), MS SQL, PostgreSQL (базы данных такие как 1С, WMS, других приложений) и т.д. Данная консоль поможет настроить и проверить подключение, выполнить любые запросы на языке SQL, а также если подключить обработку в конфигуратор использовать для обменов между базами данных с помощью языка SQL.

2 стартмани

04.05.2022    6079    34    nikolasx    7    

28

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

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

от 11 рублей

Привилегированные отчеты

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

Расширение позволяет настроить для пользователей выполнение отчетов в привилегированном режиме. 1) Убирает тормоза формирования отчета, возникающие при наложении прав пользователя на запросы отчета; 2) Позволяет обойти ошибки формирования отчета из-за отсутствия прав на часть объектов у пользователя.

4 стартмани

24.01.2022    9802    26    sapervodichka    36    

101

Изыскания на тему записи в регистр сведений

HighLoad оптимизация Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

21.09.2021    12389    0    METAL    57    

103

Просмотр файлов технологических журналов 1С (WinAPI)

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

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

1 стартмани

24.08.2021    5958    22    sdf1979    17    

23

Универсальная выгрузка, загрузка и резервное копирование настроек программы

Универсальные обработки Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Универсальная обработка позволяет выгрузить настройки практически любой современной конфигурации на базе БСП в файл, а при загрузке из файла сравнить с текущими значениями в информационной базе.

1 стартмани

23.08.2021    6952    26    Nicholas    11    

24

Доп. панель Alt+Z

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Панель, вызываемая для объекта комбинацией клавиш Alt+Z (для документа, справочника, плана вида характеристик, плана счетов и т.д.). Возможности: Редактор всех реквизитов, таблиц и движений, Анализ прав к объекту, Поиск ссылок на объект с фильтрами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Подключается как Расширение.

1 стартмани

24.06.2021    17135    162    sapervodichka    72    

164

Работа с 1С:Аналитика Промо

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

4500 рублей

Оптимизация размера изображений из присоединенных файлов УТ 11.4

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

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

5 стартмани

10.07.2020    16475    28    Neti    5    

15

Быстрая реструктуризация базы данных

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

Внешняя обработка для быстрой реструктуризации клиент-серверной базы данных. Способ ускорения реструктуризации - замена таблиц большого объема пустыми копиями перед проведением обновления БД и возврат к исходным таблицам после обновления с предварительной корректировкой их структуры. Полностью автоматизировано создание и выполнение всех требуемых скриптов SQL. Представлены версии обработки для обычных форм (1С:Предприятие 8.2 (8.2.19.130)) и управляемого приложения (1С:Предприятие 8.3 (8.3.9.1818)).

1 стартмани

05.11.2019    33850    155    dmitrydemenew    40    

76

Конфигурация для администраторов "Центр управления базами" для 8.3 УФ

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

Конфигурация предназначена для централизованного управления информационными базами предприятия. Разработана на БСП версии 2.4.4.76. В работе использует COM-соединение.

3 стартмани

09.10.2019    17043    60    WhiteOwl    19    

43

Оптимизация прав ролей

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

Решение вопроса по неоптимальной настройке (избыточной) ролей, влияющей на производительность системы (потребление оперативной памяти). Алгоритм работы следующий: Выгрузка конфигурации в файлы - Обработка (изменение) файлов прав ролей - Загрузка измененных прав в конфигурацию. Проверено на платформе начиная с 8.3.12.

1 стартмани

09.09.2019    53790    14    toxilamer    11    

21

Обновление конфигурации 1С из cf по расписанию

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

09.09.2019    8490    3    sivin-alexey    2    

28

Подборка программ для взаимодействия с ЕГАИС Промо

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

Кто уложил 1С, или мониторинг загрузки кластера в разрезе пользователей с помощью Grafana

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Мониторингом различных параметров работы кластера 1С в zabbix сейчас уже никого не удивишь. Собственно потребление памяти, процов и места на серверах обычно настраивают первыми. Потом идет мониторинг в разрезе rphost'ов и различные метрики функционирования SQL сервера. Но вот когда уже все это есть, то временами возникает вопрос - какой же конкретно нехороший человек пытается съесть все (ну не все, но много) ресурсы сервера? Можно смотреть в консоль кластера и ловить редиску там. Можно анализировать журнал регистраций, включать технологический журнал или накапливать статистку в специализированных базах 1С. Но, "настоящим" сисадминам проще как-то с внешними скриптами, базами данных и, например, Grafana. Расскажу что у нас получилось.

1 стартмани

02.09.2019    23325    60    DonAlPatino    31    

49

Установка 1C на Ubuntu 19.04

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Установка платформы на примере (8.3.15.1565) на Ubuntu 19.04

1 стартмани

28.08.2019    23204    8    gubar    33    

33

Удаленный доступ к 1С используя SSH Тунель

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

04.08.2019    16505    12    Sedaiko    9    

41

Конфигурация: IT Unit

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

03.07.2019    16700    82    riposte    15    

42

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

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

3 500 рублей

LicDataDecoder - расшифровка файла программной лицензии 1С

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Представляю вашему вниманию утилиту, предназначенную для работы с файлами программных лицензий 1С (*.lic).

1 стартмани

10.02.2019    70355    636    GeraltSnow    76    

143

Решение проблемы быстродействия в ERP на рабочем примере

HighLoad оптимизация Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

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

3 стартмани

18.12.2018    33632    282    ivanov660    24    

107

Многопоточное восстановление последовательностей

HighLoad оптимизация Математика и алгоритмы Универсальные функции Платформа 1С v8.3 Бесплатно (free)

Универсальный алгоритм многопоточного фонового восстановления любой последовательности.

05.12.2018    17070    _ASZ_    33    

52

1С в Windows docker контейнерах

Инструменты администратора БД DevOps и автоматизация разработки Платформа 1С v8.3 Абонемент ($m)

Создаем Docker-контейнер для windows-версии 1C. Контейнеры позволяют подготовить рабочую среду на любой актуальной версии windows. Благодаря данной технологии можно беспрепятственно запускать требуемую версию сервера 1С или несколько серверов различных версий на одном сервере.

1 стартмани

02.10.2018    42066    46    lishniy    42    

133

Веб приложение для управления сервером 1С в Linux.

Инструменты администратора БД Платформа 1С v8.3 Казахстан Абонемент ($m)

Статья о том как комфортно администрировать сервер 1С:Предприятие 8.3 используя Linux. А именно дистрибутив ClearOS.

1 стартмани

25.08.2018    19223    24    held88    84    

47

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

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

Установка/снятие блокировки регламентных заданий (клиент-серверный вариант)

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Небольшая обработка для программного изменения свойств текущей информационной базы (клиент-сервер), в частности свойства ScheduledJobsDenied - признака блокировки выполнения регламентных заданий информационной базы. Тестировал в 8.3.10.2667 (OS Windows, MS SQL 2008).

1 стартмани

13.03.2018    16757    41    jwslavin    7    

24

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

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

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

5000 руб.

07.02.2018    91441    224    95    

273

Оптимизация настроек планировщика запросов в PostgreSQL

Инструменты администратора БД Платформа 1С v8.3 Абонемент ($m)

Хочу сказать несколько слов о своем опыте настройки PostgreSQL для работы с 1С. А поскольку в сети уже достаточно много хороших мануалов о настройке Postgres, ограничусь тем, как я поборол неоптимальное использование плана nestloop.

1 стартмани

30.01.2018    21957    6    Gorus    8    

38

Вывод в windows-проводнике названия баз в каталоге кластера 1С и каталогах локального кэша и настроек пользователя

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Вывод в windows-проводнике названия баз в каталоге кластера 1С и каталогов локального кэша и настроек пользователя. Используется создание файла desktop.ini, который автоматически размещается в подкаталогах кластера 1С. Теперь станет немного проще определить прямо в windows-проводнике, что, к примеру, каталог fd531400-428c-41c0-954f-b910bb5cc552 это именно база ERP.

1 стартмани

15.11.2017    20050    58    Alias    23    

119

Скрипт сбора параметров текущих сеансов 1С с отправкой в Elastic search

Инструменты администратора БД Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

30.10.2017    21144    28    sergey.novikov    47    

55

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

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

Многопоточные фоновые задания

Инструменты администратора БД Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

02.08.2017    20909    21    m-rv    12    

30

Установка подключения к MySQL через ODBC connector

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Руководство, облегчающее жизнь при очередной настройке подключения MySQL к 1С через ODBC connector (driver). Оставлю это хотя бы для себя на память :)

1 стартмани

21.07.2017    37554    9    primara    2    

25

Автоматическое отключение неактивных веб-клиентов

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

У вас организован доступ в базу через веб-клиент для посторонних лиц (веб-портал, веб-витрина, и т.д.), и вы испытываете проблему нехватки лицензий 1С из-за того, что пользователи оставляют открытыми вкладки с 1С, не работая в них? Есть решение!

1 стартмани

20.07.2017    27910    35    VitaliyCeban    18    

97

DroidRAC2 - консоль администрирования кластера серверов 1С:Предприятие 8.3 под Android

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

DroidRAC2 - клиент для RAS-сервиса кластера серверов платформы 1С:Предприятие 8.3 под Android.

1 стартмани

24.02.2017    34459    14    user700211_a.straltsou    20    

41

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

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

Автоматическое отключение сеансов на сервере 8.3 (управляемые формы)

Инструменты администратора БД Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

Обработка предназначена для автоматического завершения неактивных и зависших сеансов на кластере сервера 1С. Есть возможность настроек.

1 стартмани

19.12.2016    28425    206    Pilokarpios    28    

38

Просмотр заблокированных строк в 1С

HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

25.10.2016    55411    1003    Andreynikus    71    

192

Настройка PostgreSQL для работы в связке с 1С 8.х на платформе Windows Server 2012, объём БД более 200 Гб

HighLoad оптимизация Инструменты администратора БД Платформа 1С v8.3 Россия Абонемент ($m)

Настройка бесплатной СУБД PostgreSQL для работы в связке с 1С 8.х на платформе Windows Server 2012 х64. Объём БД более 380 Гб для мощного сервака. Конфигурация КА 1.1.108.2, 50 пользователей. Более 1 млн. проводок при закрытии месяца. Время закрытия месяца сравнимо с MSSQL и составляет в среднем 2 часа. Время отмены закрытия месяца - всего 10 минут! Ликвидированы зависания PostgreSQL. Всё за счет настроек файла postgesql.conf.

1 стартмани

11.10.2016    115681    90    vsasav    48    

232

Блокировка повторного запуска комплексного процесса в 1С: Документооборот 2

Инструменты администратора БД Документооборот и делопроизводство (СЭД) Платформа 1С v8.3 1С:Документооборот Абонемент ($m)

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

2 стартмани

04.10.2016    35472    114    zabaluev    25    

24

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

Инструменты администратора БД Платформа 1С v8.3 Абонемент ($m)

Тема не новая, вариантов найти можно массу. Последнее время появляются статьи с очень подробным описанием, что-то из этого не встречал за всю практику работы с 1С. Фактически эта публикация как памятка основной части 1С-ников, что не имеют глубоких знаний по SQL и 1С. Это готовая инструкция по настройке обслуживания БД на сервере ля большинства мелких и средних компаний\баз. Но бывают случаи поломок баз данных, поэтому приложен материал и для таких случаев, например, восстановление БД после обновления не очень удачного, и некоторые другие плюшки.

1 стартмани

12.09.2016    31340    30    izidakg    19    

53