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

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

Администрирование - Производительность и оптимизация (HighLoad)

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

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

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

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

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

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

Однако если логика решаемой задачи позволяет распараллелить процессы обработки данных, то распараллеливание - это наиболее и эффективный способ кратного увеличения производительности системы. Многопоточная обработка данных – гармоничный путь развития современных систем учета и 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 и выше. В конфигурации используются управляемые формы.

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

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

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

Наименование Файл Версия Размер
Универсальные механизмы: пакеты данных (открытый код)
.cf 214,36Kb
03.09.19
19
.cf 2.1.1.8 214,36Kb 19 Скачать

Инструкция

Наименование Файл Версия Размер
Инструкция УМ - Пакеты данных v02.pdf
.pdf 1,84Mb
03.09.19
25
.pdf 02 1,84Mb 25 Скачать

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

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

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

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

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

То, что соотношение 840 (код закрыт) к 1 000 (код открыт) действительно странное, но автор вроде решил исправиться и это радует :)
11. rpgshnik 1680 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_ 82 05.03.19 05:50 Сейчас в теме
Время пришло. Хотел сделать разработку бесплатной, но не вышло... Минимум 1sm. Пусть будет так.
13. Serg O. 172 03.09.19 07:50 Сейчас в теме
хорошая идея... надо попробовать...
небольшая опечатка в тексте: Процедура СоздатьПакетыОбработки ...
сразу видно не подсвечено красным... ТекущаяПорция = НеопредеЛНо;
14. _ASZ_ 82 03.09.19 11:07 Сейчас в теме
Оставьте свое сообщение

См. также

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

Статья Системный администратор Архив с данными v8 Windows Абонемент ($m) Производительность и оптимизация (HighLoad)

Проработав 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    3924    7    ogidni    84       

Списание (корректировка) задолженности контрагентов УНФ 1.6 4

Инструменты и обработки Программист Бухгалтер Внешняя обработка (ert,epf) v8 УНФ Украина БУ Дебиторская и кредиторская задолженность Абонемент ($m) Закрытие периода Обработка документов

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

1 стартмани

24.07.2019    2058    3    DMon    1       

Регистрация документов с измененной суммой 2

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Обработка документов

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

1 стартмани

20.04.2019    3423    1    ryan    0       

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

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 Абонемент ($m) Сервисные утилиты

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

1 стартмани

08.04.2019    6365    10    slozhenikin_com    36       

Валовая прибыль для УПП 1.3, КА 1.1 в режиме РАУЗ (работа типового отчета без доработок конфигурации) 6

Инструменты и обработки Бухгалтер Пользователь Внешняя обработка (ert,epf) v8 КА1 УПП1 УУ Абонемент ($m) Обработка документов

Простое и мгновенное решение для использования типового отчета "Валовая прибыль" в конфигурациях "Управление производственным предприятием 1.3", "Комплексная автоматизация 1.1" (а также отраслевых решений на их базе) при включенном режиме РАУЗ (расширенная аналитика учета затрат). Не требует настройки или изменения конфигурации, либо может быть, для дополнительного удобства, интегрировано в нее с минимальными доработками.

2 стартмани

21.01.2019    5537    6    stvorl    3       

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

Инструменты и обработки Системный администратор Архив с данными v8 1cv8.cf Россия Windows Абонемент ($m) Стартеры 1С Сервисные утилиты Рабочее место

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

5 стартмани

05.12.2018    4577    7    RomikR    7       

Обнуление остатков регистров бухгалтерии и накопления 40

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::БУ v8::ОУ v8::УФ КА1 БП2.0 ЗУП2.5 УТ10 УПП1 УНФ БГУ ERP2 БП3.0 УТ11 УХ КА2 ЗУП3.x Россия Абонемент ($m) Универсальные обработки Чистка базы

Обработка позволяет обнулить остатки по регистру накопления или бухгалтерии на определенную дату. Поддерживается большинство типовых конфигураций (БП 3, БП 2, УТ 11, УТ 10, ЗУП 3, ЗУП 2, БГУ 2, БГУ 1, ERP, УПП, КА 2, КА 1, УХ 3, УХ 1, УНФ). Гибкая настройка (отборы, заполнение реквизитов и любых полей корр. счета, возможность обнулять ресурсы выборочно). Несколько режимов работы. Два интерфейса: простой и с расширенным набором настроек.

2 стартмани

19.11.2018    8701    162    morozov.sv    30       

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

Инструменты и обработки Системный администратор Компонента, плагин (dll, vbs,..) v8 1cv8.cf Россия Windows Абонемент ($m) Чистка базы Сервисные утилиты Администрирование данных 1С

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

1 стартмани

04.11.2018    18014    278    Eugen-S    33       

Помощник корректировки остатков ЕГАИС в небольшом магазине. Розница 2.2 12

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v8 Розница Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Россия УУ Розничная торговля Абонемент ($m) Обработка документов

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

5 стартмани

08.09.2018    13573    78    asdfgcom    45       

Очистка периодических регистров посредством T-SQL (удаление записей, кроме среза последних) 4

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 Абонемент ($m) Чистка базы

Обработка для ленивых. Составит вместо Вас запрос для SQL, который удалит все не актуальные записи (т.е все, кроме среза последних)

5 стартмани

22.06.2018    8156    14    Alexander.Shvets    9       

Автоматическое заполнение графиков в ЗУП 3.1 6

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

Данная разработка будет актуальна для организаций с большим количеством графиков (несколько десятков/сотен).

1 стартмани

05.05.2018    7906    14    notserioussam    1       

Добавление возможности в конфигурации ЗУП 3.1 работать с фотографиями сотрудников (Зарплата и Управление Персоналом, редакция 3.1) 17

Инструменты и обработки Бухгалтер Расширение (cfe) v8 v8::СПР ЗУП3.x БУ Управление персоналом (HRM) Абонемент ($m) Обработка справочников

Добавление возможности в ЗУП 3.1 работать с фотографиями сотрудников (физических лиц). Расширение тестировалось на релизе ЗУП 3.1.5.129.

1 стартмани

09.04.2018    14396    45    charivnick    3       

Повышение качества разработок и онлайн контроль ошибок 163

Статья no Расширение (cfe) v8 Абонемент ($m) Журнал регистрации

Анализ ошибок и сбор ошибок журнала регистраций из десятков и сотен баз в одном месте.

09.03.2018    19118    136    DitriX    47       

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

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Россия Платные (руб) Производительность и оптимизация (HighLoad) Инструментарий разработчика Математика и алгоритмы Универсальные функции

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

3000 руб.

07.02.2018    66618    167    52       

Корректировка остатков ЕГАИС, возврат из регистра 2, загрузка ТТН из файлов, другое для УТ10.3 15

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v8 v8::ОУ УТ10 Россия БУ Розничная торговля Абонемент ($m) Обработка документов

Набор обработок для автоматизации работы с ЕГАИС: Обработка корректировки остатков ЕГАИС для УТ 10.3, аналогичная имеющимся в УТ 11, Рознице 2.2. Автоматически формирует документы "Передача в торговый зал", "Акт постановки на баланс в торговом зале", "Акт списания в торговом зале". Обработка возврата из регистра 2 с подбором справок Б. Обработка формирования ТТН из файлов xml.

1 стартмани

24.01.2018    16763    5    biz-intel    3       

Расчет начисления зарплаты со сложной формулой, по данным из внешнего источника. ЗУП 3.1 35

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v8 v8::СПР ЗКГУ3.0 ЗУП3.x БУ Зарплата Абонемент ($m) Обработка документов Загрузка и выгрузка в Excel

Расчет начисления зарплаты со сложной формулой, по данным из внешнего источника по данным экономического отдела. ЗУП 3.1.

3 стартмани

20.12.2017    23725    29    mvv1975    5       

История формирования отчётов. (Используем новые возможности расширений в 8.3.11) 22

Инструменты и обработки Системный администратор Программист Расширение (cfe) v8::УФ v8::СКД УНФ ДО БП3.0 УТ11 ЗУП3.x Абонемент ($m) Журнал регистрации

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

1 стартмани

28.11.2017    10406    16    SeiOkami    1       

Копирование меню в Трактир Management 2

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v8 1cv8.cf Рестораны, кафе и фаст-фуд Россия УУ Производство готовой продукции (работ, услуг) Абонемент ($m) Обработка документов

Механизм копирования меню в Трактир Management. Данная обработка расширяет функционал типового решения Трактир Management, позволяя быстро вводить в эксплуатацию новую точку путём создания нового меню на основании имеющегося.

1 стартмани

28.11.2017    13279    1    integrator1983    0       

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

Инструменты и обработки Системный администратор Приложение (exe) v8 Windows Абонемент ($m) Сервисные утилиты

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

1 стартмани

14.11.2017    14379    85    bonv    15       

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

Инструменты и обработки no Приложение (exe) v8::УФ Windows Абонемент ($m) Сервисные утилиты

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

1 стартмани

10.11.2017    9153    14    RomaH    8       

Очистка регистрации обмена 4

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::ОУ УТ10 Абонемент ($m) Чистка базы

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

1 стартмани

19.09.2017    8985    4    serg-lom89    0       

Корректировка остатков регистров бухгалтерии (обычные и управляемые формы) 11

Инструменты и обработки Программист Бухгалтер Внешняя обработка (ert,epf) v8::БУ v8::УФ 1cv8.cf БУ НУ Абонемент ($m) Свертка базы Универсальные обработки Закрытие периода Чистка базы

Внешняя обработка, предназначенная для удобного исправления остатков по регистрам бухгалтерии (Хозрасчетный, Налоговый или любой другой) посредством автоматизации ввода корректировочного документа ("Операция", "Корректировка записей регистров"), приводящего регистр в нужное состояние остатков от текущего. Удобна для массовых правок остатков по бухгалтерскому и налоговому учету на какую-то дату (обычно перед реорганизацией учета, сверткой базы и т.п.)

2 стартмани

03.06.2017    21434    126    stvorl    20       

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

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

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

26.05.2017    38256    166    DarkAn    86       

Упрощение работы с актами сверки в УТ/КА/УПП - вывод номеров счетов в документе и печатной форме 3

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v8 КА1 УТ10 УПП1 БУ УУ Дебиторская и кредиторская задолженность Абонемент ($m) Обработка документов Печатные формы документов

Обычно акт сверки с клиентами содержат информацию о документах реализации товаров (накладных) и выполненных платежах. Но платежи делаются на основании счетов, номера которых отсутствуют в актах, что затрудняет собственно сверку. Данная обработка находит соответствующие расходным накладным счета/заказы, показывает их в форме документа и выводит в печатную форму акта.

2 стартмани

12.05.2017    11474    2    denmax    2       

Автокликер для 1С 70

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Сервисные утилиты

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

1 стартмани

03.04.2017    23429    69    slava_1c    49       

Загрузка номенклатуры по штрихкоду: Управление Торговлей 11.3; Розница 2.2; Розница для Казахстана 2.2 99

Инструменты и обработки Системный администратор Программист Бухгалтер Внешняя обработка (ert,epf) v8 v8::ОУ v8::УФ Розница УТ11 Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Россия УУ Оптовая торговля Розничная торговля Ценообразование, анализ цен Абонемент ($m) Обработка справочников Ценообразование, прайсы

Розница 2.2, Управление Торговлей 11.3. Создание номенклатуры из интернета с помощью сканера штрихкодов либо терминала сбора данных. Варианты создания, автовыбор наилучшей позиции, источники, цены, загрузка картинки - всё это очень гибко и просто настраивается. Текущие открытые источники: barcode-list.ru(на текущий момент не работает); goodsmatrix.ru; ean13.info(может не работать капча); barcodes.olegon.ru. Автор программы не несёт ответственность за информацию, предоставляемую перечисленными выше открытыми источниками, так же не отвечает за их работоспособность. Данные источники принадлежат не автору программы. Данная программа нужна лишь для автоматизированного поиска информации на них.

10 стартмани

30.03.2017    39829    49    myALKleon    37       

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

Инструменты и обработки Системный администратор Приложение (apk) v8 1cv8.cf Android Абонемент ($m) Администрирование данных 1С

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

1 стартмани

24.02.2017    14379    12    user700211_a.straltsou    11       

Статистика базы данных с отбором по подсистемам (кол-во и открытие списков: документов, справочников, регистров) и анализ наличия основных реквизитов: универсальная обработка (два файла - обычный и управляемый режим) 5

Инструменты и обработки Системный администратор Программист Архив с данными v8 v8::УФ 1cv8.cf Россия Windows Абонемент ($m) Статистика базы данных

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

1 стартмани

20.02.2017    12672    46    strelec13    11       

Корректировка остатков по акцизным маркам ЕГАИС для Розницы 2.2 33

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v8::ОУ v8::УФ Розница Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд УУ Розничная торговля Абонемент ($m) Обработка документов

Розница 2.2. Корректировка остатков ЕГАИС. Пользователю необходимо считать все акцизные марки каждой бутылки, это даёт 100% точность инвентаризации (корректировки). Обработка приведёт остатки ЕГАИС к тем, которые вы занесёте (к фактическим). Останавливать продажи и работу кассиров не требуется, ведь есть функция удаления марки из нашего документа. Обработка по акцизной марке понимает, что это за бутылка. Если данных по бутылке нет, они запрашиваются в ЕГАИС. Если акцизную марку уже считывали, она не даст считать её повторно.

10 стартмани

26.12.2016    24418    43    myALKleon    61       

Удаление помеченных объектов, замена ссылок. Обычное и управляемое приложение. Не монопольно, включая рекурсивные ссылки, с отбором по метаданным и произвольным запросом 90

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Чистка базы

Обработка удаления помеченных объектов с расширенным функционалом. Работает в обычном и управляемом приложении. Монопольный и разделенный режим работы. Отображение и отбор по структуре метаданных. Отборы данных произвольными запросами. Копирование и сохранение отборов. Удаление циклических ссылок (рекурсия). Представление циклических в виде дерева с отображением ключевых ссылок, не позволяющих удалить текущий объект информационной базы. Удаление записей связанных независимых регистров сведений. Групповая замена ссылок. Индикатор прогресса при поиске и контроле ссылочности.

10 стартмани

31.10.2016    39661    520    m..adm    184       

Редактор движений документа. Сохранение в XML, обмен между базами, замена регистратора. 23

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 Абонемент ($m) Обработка документов Универсальные обработки Обмен через XML

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

1 стартмани

07.09.2016    27445    146    Aphanas    4       

Универсальный поиск объектов по глобальному уникальному идентификатору (ГУИД, GUID) 8

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Поиск данных Универсальные обработки

Универсальная обработка поиска объектов информационной базы по глобальному уникальному идентификатору (ГУИД, GUID) или по его части.

1 стартмани

06.09.2016    23116    101    Dzenn    8       

Лекарство на случай, если перестала работать форма списка для сделок. (ERP). 1

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 ERP2 Абонемент ($m) Тестирование и исправление

Форма списка справочник сделки стала выпадать с ошибкой?  Или все еще в порядке, но хочется спокойно съездить в отпуск, без паники, что менеджеры устроят бунт.

1 стартмани

28.07.2016    16241    milkers    2       

Многопоточное удаление объектов 9

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Чистка базы

Обработка предназначена для ускорения процедуры удаления объектов

2 стартмани

02.06.2016    19085    49    zzz_natali    20       

Загрузка Счета покупателя из PDF 7

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v8 v8::БУ БП3.0 Windows Оптовая торговля Абонемент ($m) Обработка документов Файловые протоколы обмена, FTP

Обработка позволяет загрузить счет покупателя из pdf-файла в документ Счет на оплату покупателю (Бухгалтерия 3.0)

2 стартмани

23.05.2016    4297    10    John_d    0       

Инструкция по установке и настройке SQL Server и 1С 250

Инструменты и обработки Системный администратор Архив с данными v8 Россия Windows Абонемент ($m) Администрирование данных 1С

Данный мануал позволит практически каждому пользователю пошагово установить и произвести первоначальную настройку SQL Server и 1С (клиент-серверный вариант). Основой для данной инструкции послужил SQL Server 2014 и 1С Предприятие 8.3, также данная инструкция может работать и для других версий SQL Server и 1С Предприятия.

1 стартмани

06.04.2016    76373    1111    LastSoldier    48       

Удаление помеченных объектов с отбором по метаданным 10

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Чистка базы

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

1 стартмани

06.04.2016    18783    136    endym    7       

Управление доставкой розничным покупателям 2

Инструменты и обработки Руководитель проекта Конфигурация (md, cf) v8 УТ10 Розничная и сетевая торговля (FMCG) Россия УУ Windows Розничная торговля Абонемент ($m) Обработка документов

Дополнение для УТ 11.1, оформление доставки для розничного покупателя на основании кассового чека в связке с мягким чеком покупателя.

5 стартмани

10.03.2016    16805    6    Denis_Viktorovich    5       

Ночное восстановление последовательности документов (фоновым заданием) для БП 3.0 17

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 v8::БУ БП3.0 Россия Windows Абонемент ($m) Обработка документов

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

5 стартмани

25.02.2016    24186    83    SmArtist    8       

Чистка регистров накопления {остатки и обороты} по закрытым движениям (обычные формы) 7

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Чистка базы

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

1 стартмани

22.02.2016    20438    44    endym    13       

Перечисление НДФЛ в бюджет РФ (13%, 30%) 11

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v8 v8::СПР ЗУП2.5 БУ НУ Windows Зарплата НДФЛ Абонемент ($m) Обработка документов

Внешняя обработка (табличных частей), предназначенная для корректного заполнения документа "Перечисление НДФЛ в бюджет РФ". Конфигурация: Зарплата и Управление Персоналом, редакция 2.5

1 стартмани

27.01.2016    21997    239    1kashak    16       

Начисление процентов по кредитам и займам для 1С:Бухгалтерии 3.0 15

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v8 БП2.0 Россия БУ Windows Займы, кредит, лизинг Абонемент ($m) Обработка документов

Универсальная обработка по начислению процентов по кредитам и займам для 1С:Бухгалтерии 3.0 без изменения конфигурации

1 стартмани

22.01.2016    47963    156    algora    27       

Пакетная замена номенклатуры с учетом характеристик 6

Инструменты и обработки Бухгалтер Руководитель проекта Внешняя обработка (ert,epf) v8 КА1 УТ10 УПП1 УУ Оптовая торговля Учет ТМЦ Абонемент ($m) Обработка документов

Обработка "Пакетная замена номенклатуры" в Заказе покупателя, Реализации и Поступлении товаров с использованием отбора по значениям характеристик

1 стартмани

22.01.2016    9333    trendy    1