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

Публикация № 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
102
.cf 2.1.1.8 214,36Kb 102 Скачать

Инструкция

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

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

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

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

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

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

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

То, что соотношение 840 (код закрыт) к 1 000 (код открыт) действительно странное, но автор вроде решил исправиться и это радует :)
11. rpgshnik 3363 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_ 150 05.03.19 05:50 Сейчас в теме
Время пришло. Хотел сделать разработку бесплатной, но не вышло... Минимум 1sm. Пусть будет так.
FilatovRA; +1 Ответить
15. k1rs 14.12.19 15:34 Сейчас в теме
(12) Как вариант можно выложить в гитхаб и оставить ссылку в публикации. Как например здесь: https://infostart.ru/public/709325/
13. Serg O. 208 03.09.19 07:50 Сейчас в теме
хорошая идея... надо попробовать...
небольшая опечатка в тексте: Процедура СоздатьПакетыОбработки ...
сразу видно не подсвечено красным... ТекущаяПорция = НеопредеЛНо;
14. _ASZ_ 150 03.09.19 11:07 Сейчас в теме
16. Skif1989 24.04.21 16:03 Сейчас в теме
Тупой вопрос мне для бухгалтерии подойдет? Перечитал много статей разных, мне необходимо ускоренное восстановление последовательности документов.
17. _ASZ_ 150 26.04.21 07:20 Сейчас в теме
(16) Добрый день.

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

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

См. также

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Обработка документов Инструменты администратора БД Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    19958    62    140    

46

SALE! %

PowerTools

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

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

2400 1920 руб.

14.01.2013    164575    1010    0    

769

Подсистема хранения картинок во внешних файлах для УТ 10.3

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

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

21600 руб.

11.08.2021    7086    2    6    

1

Брандмауэр для сервера 1С Предприятие 8 - внешнее управление сеансами

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

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

3600 руб.

06.02.2017    28431    28    17    

41

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

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

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

5000 руб.

07.02.2018    93504    227    95    

276

Система хранения присоединенных файлов в томах на диске

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

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    58381    81    53    

69

Хранилище файлов на SQL

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

Привязка файлов / сканов к объектам 1С с сохранением их на SQL-сервере

7200 руб.

09.10.2019    8752    4    8    

7

Конфигурация Session Monitor

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

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

1500 руб.

01.12.2020    10927    22    0    

35

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

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

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

13.02.2023    6121    5    echo77    8    

76

Утилита тестирования сервера 1С от HADGEHOGs

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

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

21.09.2022    13278    1018    Hadgehogs    56    

131

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

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

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

10 стартмани

14.06.2022    7541    13    alfanika    11    

22

Пример пошагового решения проблемы производительности на базе Postgres SQL с картинками

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

Рассмотрим по шагам процесс обнаружения, анализа и решения проблемы производительности на примере базы ERP, сравним отличия в работе Postgres и MS SQL.

28.02.2022    13619    ivanov660    18    

147

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

HighLoad оптимизация Рефакторинг и качество кода Платформа 1С v8.3 Бесплатно (free)

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

02.08.2021    16528    ivanov660    77    

142

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

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

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

1 стартмани

24.06.2021    19010    167    sapervodichka    72    

164

Контекст всегда важен. История проблем производительности

HighLoad оптимизация Бесплатно (free)

Небольшая история о проблемах производительности из-за нехватки процессорных мощностей. А также описание основных показателей работы CPU.

26.11.2020    10190    Infostart    21    

133

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

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

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

5 стартмани

10.07.2020    18276    30    Neti    6    

17

Эти занимательные временные таблицы

HighLoad оптимизация Администрирование СУБД Платформа 1С v8.3 Бесплатно (free)

Кое-что интересное о временных таблицах и работе платформы 1С с ними.

06.04.2020    27314    Infostart    0    

191

Как я собрал для себя высокопроизводительный и бесплатный облачный бекенд для 1С на PosgreSQL + PostgREST

HighLoad оптимизация WEB-интеграция Мобильная разработка Администрирование веб-серверов Платформа 1С v8.3 Бесплатно (free)

В этой статье я расскажу о проблемах бека для мобильных приложений или другого фронта, который требует производительности, быстрой реакции и отказоустойчивости, и как я решил это благодаря opensource проекту PostgREST и СУБД Postgre SQL 12. Проведу простой тест производительности для сравнения 1С с данным решением. Это может быть полезно всем, кто разрабатывает мобильные приложения либо фронтсайд-приложения для 1С на чем угодно - на мобильной платформе или на нативном языке или на Simple UI. И также обзор новых функций SimpleUI для связи с этим бекендом.

31.03.2020    18565    informa1555    35    

150

Планы запросов - это просто! Разбор оптимизаций запросов PostgreSQL на живых примерах

HighLoad оптимизация Запросы Бесплатно (free)

Проблема быстродействия 1С напрямую зависит от производительности запросов. Но как понять механику работы СУБД с помощью плана запроса? Андрей Овсянкин и Никита Грызлов на конференции Infostart Event 2019 Inception подробно рассмотрели алгоритм работы с планом запроса СУБД PostgreSQL, полученным из технологического журнала, и рассказали, на что обратить внимание, чтобы оптимизировать работу системы.

17.02.2020    22452    Evil Beaver    14    

145

Держи данные в тепле, транзакции в холоде, а VACUUM в голоде

HighLoad оптимизация Бесплатно (free)

Чтобы база работала быстро – в ней нужен порядок. Это касается как MS SQL, так и PostgreSQL. Как настроить базу, чтобы в ней поддерживался порядок, какие регламентные операции нужно проводить, чтобы данные чистились, индексы перестраивались и оперативная память высвобождалась в своём выступлении на конференции Infostart Event 2019 Inception поделился руководитель ИТ в компании «ИнфоСофт» Антон Дорошкевич. 

07.02.2020    33050    a.doroshkevich    24    

168

Самые распространенные заблуждения об индексах в мире 1С

Инструменты администратора БД Администрирование СУБД Бесплатно (free)

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

28.11.2019    50369    Infostart    53    

334

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

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

Считаете, что обслуживание индексов и статистик дело простое? Что ж, это не всегда так.

14.10.2019    26960    Infostart    32    

196

Набор скриптов для знакомства с SQL Server

HighLoad оптимизация Администрирование СУБД Бесплатно (free)

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

30.09.2019    48526    Infostart    16    

340

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

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

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

10.09.2019    28132    Sloth    81    

131

Еще один тест 1C: Postgres SQL 11 Pro Enterpise против MSSQL 14 под Windows 2012 Server R2

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

Проработав 15 лет с MSSQL в 2017 начал активно СУБД Postgres SQL. За два года успел поработать в 9 версии Postgres и в 10-ой. И пришел к выводу, что существуют реальное замедление работы баз после перехода на Postgres. Недавно вышла 11 версия Postgres Pro Enterpise, которая обещает почти 2-х кратное ускорение над 11 Pro Standart и 10-ой версией. Закупив лицензию Postgres 11 Pro Enterpise Это я и решил проверить на 1С.

1 стартмани

05.09.2019    21047    Indgo    107    

19

Как работают управляемые блокировки

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

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

29.04.2019    37993    comol    200    

152

Диспетчер Хранилища Запросов в SQL Server 2016+ (он же Query Store)

HighLoad оптимизация Бесплатно (free)

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

26.04.2019    16749    Aleksey.Bochkov    8    

67

Практика перехода на Linux и Postgres в небольшой компании (10 пользователей)

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

Почему я решил поставить давнему клиенту Linux + Postgres вместо Windows + MS SQL? Что меня останавливало раньше?

22.04.2019    39650    starik-2005    183    

122

5 простых шагов и 15 минут на разворачивание инструмента мониторинга проблем производительности базы 1С

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

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

18.04.2019    45337    ivanov660    92    

286

Как одно изменение конфигурации PostgreSQL улучшило производительность медленных запросов в 50 раз

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

В связи с санкциями и другими событиями сейчас все более и более актуальна тема перевода ПО компаний на отечественное и свободное программное обеспечение. Одной из самых востребанных СУБД на рынке на данный момент является PostgreSQL - надежная, высокопроизводительная и хорошо масштабируемая СУБД, которая является прямым конкуретном таким крупным компаниям с их топовыми продуктами, как Oracle, IBM и Microsoft. Однако каждый, кто переходит на PostgreSQL, сталкивается с трудностями, прежде всего с настройкой и производительностью. Не обошли проблемы с производительностью "слоника" и меня. Предлагаю вашему вниманию перевод статьи "How a single PostgreSQL config change improved slow query performance by 50x" автора Pavan Patibandla, которая мне помогла улучшить производительность PostgreSQL.

18.03.2019    21221    w.r.    25    

136

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

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

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

1 стартмани

10.02.2019    74266    675    GeraltSnow    77    

144

Копирование числовых ячеек из 1С в Excel

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

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

15.01.2019    44774    itriot11    27    

33

Семь рекомендуемых бесплатных курсов Microsoft для ИТ-администраторов

Инструменты администратора БД Бесплатно (free)

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

28.12.2018    19371    VKuser24342747    2    

34

Сервер 1С:Предприятие на Ubuntu 16.04 и PostgreSQL 9.6, для тех, кто хочет узнать его вкус. Рецепт от Капитана

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

Если кратко описать мое отношение к Postgres: Использовал до того, как это стало мейнстримом. Конкретнее: Собирал на нем сервера для компаний среднего размера (до 50 активных пользователей 1С). На настоящий момент их набирается уже больше, чем пальцев рук пары человек (нормальных, а не фрезеровщиков). Следуя этой статье вы сможете себе собрать такой же и начать спокойную легальную жизнь, максимально легко сделать первый шаг в мир Linux и Postgres. А я побороться за 1. Лучший бизнес-кейс (лучший опыт автоматизации предприятия на базе PostgreSQL). Если, конечно, статья придется вам по вкусу.

25.12.2018    49727    capitan    150    

210

Чем PostgreSQL может быть полезен разработчику 1С

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

В статье будут рассмотрены примеры, которые могут оказаться полезными в повседневной работе разработчика 1С и не только: как можно сделать снимок рабочей базы без файла резервной копии, как можно эффективно использовать табличные пространства СУБД PostgreSQL, а также как организовать простой и удобный доступ к админке СУБД посредством мобильных устройств.

20.12.2018    26832    Shmell    40    

183

Заметки про лицензии 1С

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

Решил собрать шпаргалку по лицензиями 1С о разных нюансах, с которыми успел столкнуться.

15.12.2018    28302    MrWonder    24    

122

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

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

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

05.12.2018    17309    _ASZ_    33    

53