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

29.04.25

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

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

Платные

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

Наименование Скачано Купить файл
(только для физ. лиц)
Горыныч (групповое многопоточное проведение)
.epf 287,42Kb
7 4 550 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний за 2430 руб. в месяц

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

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

Документы

 

 

Выбор организации (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 час 43 минуты.

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

 

 

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

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

 

 

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

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

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

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

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

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


 

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

 

Пропущенные

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

 

 

Перезапуски

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

 

 

Блокировки

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

 

 

История

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

 

 

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

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

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

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

См. также

ККМ Кассовые операции Подбор и обработка объектов 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Модуль, ускоряющий подбор номенклатуры в 1С в чек ККМ и Заказе клиента. Оптимизированная форма подбора товаров с многократно ускоренным процессом поиска товаров в 1С в чек ККМ и Заказе клиента для конфигураций 1C:Управление торговлей 11.5, 1С:Комплексная Автоматизации 2.5 и 1С:ERP Управление предприятием 2.5

18000 руб.

30.10.2024    1039    2    0    

4

SALE! 50%

Журналы и реестры данных Подбор и обработка объектов Бухгалтер Пользователь 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Библиотека стандартных подсистем 1С:ERP Управление предприятием 2 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 2 1С:Розница 3.0 Платные (руб)

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

4800 2400 руб.

07.02.2025    1923    51    35    

9

Поиск данных ЭДО и ОФД Подбор и обработка объектов 1С v8.3 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Поиск номенклатуры при сопоставлении в ЭДО не интуитивный, не настраиваемый и просто неудобный. Данное решение - это альтернативный вариант расширенного поиска и сопоставления номенклатуры для 1С, который подключается в качестве расширения и решает эту проблему.

10000 руб.

10.04.2025    469    1    1    

1

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

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

6000 руб.

29.06.2015    46143    91    18    

106

Подбор и обработка объектов Пользователь 1С v8.3 1С:Управление торговлей 11 Россия Платные (руб)

Решение реализовано посредством расширения, предназначено для дополнительного контроля объектов (документов и справочников) от несанкционированного доступа и изменения. При этом используется не штатный механизм 1С, требующий зачастую достаточного опыта, а предельно упрощенный для пользователя - установить/снять галку «Проверен» для регулировки доступа к объекту.

3600 руб.

13.09.2024    664    1    0    

3

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

Данная обработка предлагается для случаев, когда бывает необходимо изменить какой-либо реквизит в группе проводок, отобранных по определенному набору полей, за определенный период, с определенным типом документа-регистратора. Предлагается четыре варианта обработки для конфигураций: БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0.

2400 руб.

30.05.2016    29451    30    0    

50

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

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

1 стартмани

09.05.2025    641    24    Rafael-87    5    

6

Подбор и обработка объектов Бухгалтер Пользователь 1С v8.3 1С:Управление нашей фирмой 3.0 Управленческий учет Абонемент ($m)

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

1 стартмани

21.02.2025    562    4    andrey7617    0    

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