t alex

0
Рейтинг

alex t
alextalov



  •   Регистрация: 17.12.2008 (8 лет назад)

  •   Был(а) на сайте: 19.04.2017

Комментарии

DevПриемы обработки больших данных в 1С. На пути к big data...#18 25.05.16 23:19
Поздновато, но вставлю свои 5 копеек про многопоточность...

Пару лет назад реализовывал свертку базы, вот некоторые особенности.
На практике параллельность приходилось реализовывать внутри последовательных блоков в которых было несколько операций формирующих наборы данных для обработки, и затем непосредственно обработка этих данных распараллеливалась. Для свертки базы в первую очередь формировались срезы по регистрам, затем удалялись движения по ним, и затем удалялись документы.
Внутри блока сначала формируются наборы данных для обработки с изначально заданным количеством элементов. Например миллион документов разных видов можно раскидать на 1000 блоков, каждый блок содержит только набор определенных объектов.
Данные наборы выстраиваются в очередь (чередуясь по типам объектов) и начинают последовательно заданным количеством фоновых заданий обрабатываться, при таком подходе можно в любой момент изменить количество потоков (фоновых заданий) для обработки. Такой подход обусловлен тем, что при наличии нескольких баз для обработки с разным железом, приходится для каждой индивидуально подстраивать оптимальное число потоков, при этом для удаления документов это будет одним числом, а для пересчета итогов другим. Перебрав с числом потоков не просто не будет роста, а начнется явное замедление из-за эскалации блокировок - они легко ловятся без профайлера по очереди задач в мониторе активности. Еще плюс такого подхода в том что вы всегда можете управлять количеством потоков, а следовательно и нагрузкой на железо, по факту если свертка не успевала закончиться до утра, то просто убавлялось количество потоков до 1-3 и пользователи могли спокойно работать пока база чистилась.

p.s. авторы, спасибо, отличная статья
DevФиксация справочной информации#4 23.03.12 10:17
Если дело действительно в кэше - при каждом изменении справки создавайте новую обработку и копируйте в нее данные (формы, макеты, реквизиты, модуль объекта...) и цепляйте ее пользователям. Новая обработка будет иметь свой гуид и из кэша не подхватится.
WMSЗапрет на пробивку товара, если его нет на складе.#11 15.03.12 12:31
Настройки пользователя - Контролировать остатки товаров при оперативном проведении чеков ККМ.
Права поставьте "Пользователь" и "Кассир", и снимите в роли "кассир" флаг "Интерактивное проведение неоперативное"
БУКак печатать документ не записывая?#3 15.03.12 9:51
Все обработчики печати оперируют ссылками на объект, хотите печатать не записывая - ковыряйте код
WMSЗапрет на пробивку товара, если его нет на складе.#9 15.03.12 9:45
Торговля через реализацию или чек ККМ?
DevПривязка оборудования к 1с, требуется запускать его работу из 1с#2 12.03.12 15:31
КомандаСистемы();
ЗапуститьПриложение();
DevКД 2.0 Перенос справочника физические лица, данные о стаже ЗУП-УПП#4 12.03.12 15:07
Подозреваю выгружаете данные по второму и более кругу, при этом в ПКО стоит галка "Не замещать существующие объекты в приемнике...", соответсвенно уже загруженные физ лица без стажей изменяться не будут - попробуйте сделать выгрузку с нуля в чистую базу или снять эту галку. (КИ и воинский учет выгружаются абсолютно по другому принципу и сюда никаким боком не относятся)
DevКак изменить размер шрифта в штрихкоде? Изменения не сохраняются!#11 12.03.12 14:51
Штрихкод строится на основании шрифта, где 1 символ это и линии и цифры, так что без увеличения размеров самого шк размер цифр не увеличите. Как вариант - искать другой шрифт или другую компоненту которая рисует ШК по другому принципу.
DevБизнес процесы#3 12.03.12 14:45
Цитата
Создаю программно бизнес процесс и записываю, но задача по бизнес процессу не появляется, что нужно дописать что бы создавался? Интерактивно все нормально, бизнес процесс работает.
Кроме записи метод "Старт" вызывали?