Горыныч (групповое многопоточное проведение)

16.03.26

Задачи пользователя - Подбор и обработка объектов

Горыныч - универсальная внешняя обработка группового многопоточного проведения (УФ). Работает в одном потоке в любой конфигурации, многопоточный режим доступен при наличии справочника «Склады».

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Горыныч (групповое многопоточное проведение)
.epf 290,21Kb ver:10.09.26
10 6 200 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Документы

Выбор организации (1)

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

 

 

Создавать остатки (2)

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

Останавливаться по ошибке (3)

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

Кнопка «Еще» (4)

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

Пункт «Установить таймер» устанавливает время запуска проведения.

 

 

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

Потоки (5)

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

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

Отбор по номенклатуре (6)

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

 

 

Отбор по периоду (7)

Тут все стандартно, влияет на заполнение по кнопке (9) и при выборе документов (20)

Режим (8)

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

 

 

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

Найти ссылки на документы (9)

Формирует список документов с учетом отборов.

Выбор типов документов (10)

С этой кнопки следует начать настройку. Каких-то особых пояснений думаю не требуется.

 

 

Сохранить настройки (11)

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

Выбор документов для проведения (12)

После кнопки (9) и поиска ссылок на документы можно исключить не нужные. Общее время проведения и общее количество будут скорректированы.

Среднее время проведения (13)

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

Количество документов (14)

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

Вводы остатков (15)

Аналогично предыдущему пункту (14), но нельзя удалить. Остаток из таблицы уберется автоматически, как только будет удален документ, связанный с остатком.

Контекстное меню документы (16)

 

 

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

Скопировать условие относится к пункту (18).

Добавить из буфера ищет ссылки на документы из текста. Например, можно сформировать ОСВ, выделить все и скопировать.

Признак участия документа в разных потоках (17)

Иконка отображается напротив документа синхронизации потоков.

Условие в запросе выборки (18)

«Док» будет заменен на имя документа, в данном примере в запрос подставится:

ГДЕ
   ПоступлениеТоваровУслуг.Комментарий ПОДОБНО "Загружен%"

Место в общем времени проведения (19)

Клик по полю показывает график в окне (25).

Выбор документов вручную (20)

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

Общее время проведения (21)

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

Общее количество документов (22)

Учитываются только выбранные документы (с галочкой).

Дополнительные свойства проведения (23, 24)

Добавляются в момент проведения документа в реквизит «ДополнительныеСвойства». По умолчанию «ГрупповоеПерепроведение», используется во многих конфигурациях. 
(24) Если выбрать тип строка и ввести более одной строки, то будет восприниматься как код. Инициализируется на сервере перед проведением.


 

Поле дополнительной информации (25)

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

 

Прогресс

Появляется после старта проведения.

Время проведения (1)

Показывает общее время проведения. Не учитывает паузы проведения.

Количество документов (2)

Документ перемещения считается и в потоке отправителе, и в потоке получателе. Клик по количеству показывает график по документам. 

Текущий проводимый документ (3)

На самом деле это не всегда так, потому что информация приходит с интервалом 2 сек. В случае падения фонового задания, стартует именно с этого документа.

Оставшееся время проведения потока (4)

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

Статус ожидания (5, 6)

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

 

Прерывание проведения

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

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

Что делать если программа была закрыта, а фоновые задания "висят"? Просто запустите проведение повторно, Горыныч предложит завершить фоновые задания.

 

Ввод остатков

Работает только в бухгалтерии.

 

 

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

Документ проводится повторно. И вуаля… все довольны и счастливы. Ну а если серьезно, это временное решение чтобы провести все, а потом разбираться что пошло не так. Откуда берется партия и себестоимость? Методика такая:

Если есть остаток, но не хватает количества, берем ту же партию.

Если нет остатка, ищем последний документ поступления.

Если не найден документ поступления, ищем документ «Партия» с той же организацией и счетом учета 76.09.3, ставим сумму равной количеству.

Если не устраивает такой механизм, создаем свой. В функции «ДобавитьОстаткиБухгалтерия» сначала ищется общий модуль "Горыныч", если найден, выполняется код из модуля, иначе из обработки.

 


 

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

 

Пропущенные

Здесь добавляется информация о документах, которые не провелись.

 

Перезапуски

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

 

Блокировки

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

История

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

 

 

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

 

 

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

 

 

P.S. Обновил файл, в истории добавлен график "самые ожидаемые склады в потоке", исправлены небольшие ошибки.

Проверено на следующих конфигурациях и релизах:

  • Бухгалтерия предприятия КОРП, редакция 3.0, релизы 3.0.174.25

Вступайте в нашу телеграмм-группу Инфостарт

групповое многопоточное проведение

См. также

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5. Работает на возможностях платформы, внешние компоненты не используются.

6000 руб.

25.02.2026    6656    23    1    

25

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

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

6100 руб.

29.06.2015    48662    96    18    

110

Подбор и обработка объектов Корректировка данных Пользователь 1С 8.3 1С:Управление торговлей 11 Абонемент ($m)

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

1 стартмани

30.10.2026    415    14    sqr4    0    

5

Подбор и обработка объектов Разработчик 1С 8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

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

1 стартмани

17.07.2026    1308    2    VKuser233196182    2    

5

Учетные задачи Поиск данных Подбор и обработка объектов 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

1.обработка позволяет автоматически вычислить дубли и привести их к единому наименованию во всех документах. 2.так же есть возможность в документах поменять счета учета для номенклатуры. Например разные бухгалтера оформляют поступление одного и того же товара - один занес на 10.01, второй на 41.01 в результате в ОСВ у нас минусы. В обработке есть возможность наглядно увидеть такие ошибки и тут же их поправить не бегая по всем документам. Достаточно поставить галочку у номенклатуры и указать счет учета который надо найти и счет учета на который надо его заменить. Обработка сама вычислит документы в которых номенклатура с галочкой была задействована и заменит счета учета. Что бы не было излишнего изменения документов, в обработке указываются типы документов, где операция замены счета разрешена (например Поступление ТМЦ, Реализация, Отчет о розничных продажах, возврат покупателю итд.)

7320 руб.

05.06.2026    926    2    0    

4

Перенос данных 1C Учет документов Подбор и обработка объектов Разработчик Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Платные (руб)

Обработка «Сравнение документов» — это мощный инструмент для синхронизации и контроля данных между базами 1С:УНФ – 1С:БП, 1С:УТ – 1С:БП. Она позволяет сравнивать документы в двух базах, выявлять расхождения и загружать недостающие документы из одной базы в другую.

12200 руб.

06.08.2025    2934    4    0    

5

Подбор и обработка объектов Бухгалтер Пользователь 1С 8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

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

1 стартмани

10.06.2025    2993    41    Rafael-87    13    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. akR00b 26 29.04.25 11:45 Сейчас в теме
Выглядит круто +
2. DmitryKSL 187 29.04.25 11:49 Сейчас в теме
Извиняюсь за качество скриншотов. Инфостарт замылил картинки. Как получится решить проблему с помощью поддержки, исправлю.
8. DmitryKSL 187 16.10.25 10:06 Сейчас в теме
(2) Обновил скриншоты на 1024, инфостарту удобство видимо до одного места.
3. Umix 134 30.04.25 06:35 Сейчас в теме
Уже много лет как в 1С:ЕРП разработал и успешно работает многопоточное создание + проведение цепочки документов.
Цепочка в зависимости от этапов может состоять из 8 - 15 документов (может и больше).
Каждое изделие - 1 цепочка с расчетами, наполнениями проверками и тд
При этом параллельно обрабатываются другие сильнонагружающие систему документы с проведением.
Работают пользователи причем вся эта махина и пользователи не мешают друг другу до определенной нагрузки.
В моем случае при одновременно выполняемых > 4 цепочек (напомню про количество документов в цепочке) блокировки начинают мешать друг другу, поэтому ограничил количество одновременно выполняемых параллелей + установил приоритетность обрабатываемых документов.
Если будет интересно, приложу скрины для наглядности)
4. ls600 30.04.25 08:53 Сейчас в теме
(3) Если не затруднит, интересно.
5. DmitryKSL 187 30.04.25 09:54 Сейчас в теме
(3) Не знаю о чем идет речь (нет ссылки на обработку), но судя по описанию, логика как и у других. Т.е. в потоке проводите 8-15 документов, потом заново формируете список и снова проводите в новом фоновом? Такой подход имеет огромный недостаток. Надо запускать очень много раз фоновые задания. Учитывая время запуска 1-2 секунды, в моем случае получаем неприемлемые задержки. Например, на первом скриншоте можно обратить внимание что перемещений более 45 тысяч. И в основном, это перемещения между потоками. На 3 потоках придется запускать фоновые задания более 100 тысяч раз, или практически сутки реального времени только на запуск. У меня на проведение хоть 1 тысячи, хоть 200 тысяч документов будет запущено фоновых заданий равное количеству потоков, т.е. три раза. Ну максимум еще несколько раз при падении фонового задания, такое бывает иногда.
6. RustIG 1990 04.05.25 14:57 Сейчас в теме
(3) если блокировки мешают, то нельзя называть "параллельным" потоком/обработкой/процессом
7. mrsmrv 129 04.05.25 19:33 Сейчас в теме
Эх, если бы брались документы и для них просто готовая таблица движений формировалась и просто в доки записывалась бы, то можно и распараллелить формирование такой таблицы. А запись результата в регистры одним потоком.
9. nemec 33 04.11.25 13:59 Сейчас в теме
Указано в совместимости конфигураций "Универсальная", при том что работает только в Бухгалтерии, под остальные надо крепко переписывать. Т.е. предполагается что будем исправлять последствия, а не причину в управляющей программе?

Скрытый текст
10. DmitryKSL 187 04.11.25 21:26 Сейчас в теме
(9)
Указано в совместимости конфигураций "Универсальная", при том что работает только в Бухгалтерии

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

Обработка проверялась на УТ11, ЗУП3.1 и нескольких самописках. Я не отрицаю что где-то действительно будет проблема. Все-таки столь сложный механизм написан исключительно одним человеком, то бишь мной. И боевое крещение происходило действительно в бухгалтерии. Ресурсов на повсеместное тестирование у меня нет.
Открыт к сотрудничеству, явные баги готов исправить абсолютно безвозмездно (ух... слово-то какое).

Т.е. предполагается что будем исправлять последствия, а не причину в управляющей программе?

Тут я не совсем понял в чей огород камень и о чем речь. Но все-равно спасибо, любой комментарий продвигает статью.
11. nemec 33 06.11.25 15:35 Сейчас в теме
В коде запросов присутствует обращение к предопределенным значениям плана счетов, что уже сразу должно отметать "универсальность", как и обращение к документу "Поступление", который так называется только в БП. Понадобилось тут поработать с УНФ с нестандартным планом счетов (не РФ) и ничего не получилось с ходу. Падает на этапе получения ссылок документов - посмотрел код и понятно что там всё очень специфично, а не универсально
12. DmitryKSL 187 06.11.25 15:54 Сейчас в теме
Ну естественно, вы ожидали что ввод остатков будет работать в другой конфигурации? Он даже у меня используется не тот что в обработке, т.к. я по http сервису подключаюсь к базе УТ11 чтобы гарантированно понять кто поставщик.
Именно поэтому предусмотрен вызов стороннего кода:
В функции «ДобавитьОстаткиБухгалтерия» сначала ищется общий модуль "Горыныч", если найден, выполняется код из модуля, иначе из обработки


Если вы мне скинете dt базы, с примером что проводите, я посмотрю на выходных. И возможно мир станет чище, ввод остатков заработает на УНФ.
УНФ с нестандартным планом счетов (не РФ)
Для отправки сообщения требуется регистрация/авторизация