gifts2017

Проведение документов для 7.7 SQL 2000 базы с фильтрами

Опубликовал Николай Гаврилов (ShootNICK) в раздел Администрирование - Сервисные утилиты

СПЕЦИАЛЬНО для SQL баз.
Обработка осуществляет выборочное проведение документов по видам и по фильтрам:
Фирмы, Контрагенты, Номенклатура. (под ТиС и подобные).
Использует 1С++

Обработка делалась под ТиС и самописные под SQL конфигурации.
Не секрет что скорость проведения документов в SQL базе значительно падает с нарастанием объема перепроводимого. Для обхода этой нехорошести был реализован метод в 1С++  ReconnectNative() за что DmitrO и остальным разрабам отдельное спасибо, а так же за кучу других вкусностей).


Собственно обработка формирует список документов к перепроведению по указанным фильтрам и наивозможно быстро перепроводит Wink

Для работы требуется 1С++ (у меня v 2.0.3.7) взять с оф. сайта

 

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Перепроведение SQL
.zip 14,26Kb
08.09.14
175
.zip 14,26Kb 175 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Епрст (Ёпрст) 20.04.10 10:21
Автор, ты явно не договариваешь:
для ReconnectNative() нужно:
1. чтоб были закрыты все открытые курсоры
2. актуально только для 2000 скуля.
3. перепровод не имеет смысла при сортировке по виду документа
4. для фильтра по номенклатуре, например, выгружать ТЧ документа в СЗ - вообще не комильфо..
5. каждый раз делать УстановитьТАна - это тоже ппц.

2. Алексей Плутенко (Noy) 20.04.10 12:54
(1) Справедливости ради замечу, что
1. у автора есть предупреждение об открытых окнах (читай курсорах) в 1С
3. перепровод делается в хронологическом порядке.

зато добавлю в список:
6. если балуешься с ТА, то его ее нужно возвращать на место, а не на последний док в базе (у меня такой документ Напоминание от 31.08.2012)
3. Епрст (Ёпрст) 20.04.10 13:33
(2) ну да , с сортировкаой там загнул - не досмотрел код..
4. Николай Гаврилов (ShootNICK) 20.04.10 13:34
(1)

1. отрабатывается. выдаст ошибку и предложить позакрывать все.
2. 7.7 на 2005 штатно не ставится.
3. сортировки такой в обработке и нету.
4. как комильфо ? :))
5. по тестам с "каждый раз установить" процентов на 30 быстрее. как быть ? сделать медленее ?

upd про возвращать на место (или последний проведенный оперативный - согласный). просто у меня они как то совпадают :)
5. Епрст (Ёпрст) 20.04.10 14:18
2. Штатно и реконнекта нет, это не означает, что на 2005 не работает
3. см (3)
4. Использовать запрос с фильтрами, и лучше прямой
5. Не верю, что в цикле, установ ТА на документ быстрее, чем 1 раз установить на первый документ.
6. Епрст (Ёпрст) 20.04.10 14:20
+ обновление формы за каждый проход - это тоже не комильфо.
7. Николай Гаврилов (ShootNICK) 20.04.10 14:29
(5)
2. хорошо. задам наводящий вопрос - что нуждно было напсать ? для MS SQL 2000 ? тогда бы было комильфо ? :D
5. вопросы веры я не рассматриваю :) статистка - вот такая. если есть другая статистика - с удовольствием погляжу замеры.
8. Алексей Плутенко (Noy) 20.04.10 16:10
(4),(5) Установка ТА в цикле нехило тормозит, но можно использовать"комбинированный" подход: перебираем доки - если док не подходит по условию, но участвует в опер учете, то выставляем флаг "подогнатьТА" и при следующем доке устанавливаем ТА программно. В этом случае ТА будет корректно переносится самой системой, если документы проводятся по порядку и переносится программно, если есть "пропуски". А вот быстродействие такого метода сильно зависит от данных конкретной базы.

В любом случае ReconnectNative() - это временный костыль. Нужно постепенно уходить на прямые запросы, либо отказывать от расчета остатков задним числом...
9. Николай Гаврилов (ShootNICK) 20.04.10 16:35
(8)
про костыль не соглашусь. к сожалению вне зависимости прямой или кривой запрос используется на ошибку SQL2000 это не влияет. в 2005 пофиксили, да.

я использовал оба метода : прямые запросы в документах + если надо чего то выборочно провести - эта обработка.

без установки ТА итоги будут рассчитываться по 2 таблицам, а не браться из акутальных. практика показывает что расчет на ТА даже с учетом сдвига быстрее :)
Если есть другая статистка - велкам.

опять же - не нравится сдвиг ТА - используйте 1 алгоритм "без сдвига" :)
10. Епрст (Ёпрст) 20.04.10 16:38
(9) есть... Штатное перепроведение. Через Операции-проведение.. быстрее.
11. Николай Гаврилов (ShootNICK) 20.04.10 16:46
(10)
1. и к чему спич ? в штатном проведении есть мультифильтр ? :)
2. у меня другая статистика : на ТиС было на 30% быстрее штатного. как быть ?
кроме того на немаленькой базе как то проводили год - так вот начиная с 5го или 6го месяца штатное проведение месяца занимало около суток. С RN - увеличения длительности не было.

и pls если есть что по обработке сказать - велкам. отвлеченные беседы на тему взаимодействия 77 и sql они тут лишние. хочется - создай тему на форуме, хотя вопросы эти 100 раз обсужены и разрешены.
данная обработка (данная обработка) несет дополнительный довольно удобный функционал. не является ноу хау и откровением и успешно используется со времен написания ДмитрОм метода RN()
12. Епрст (Ёпрст) 20.04.10 16:55
(11)
1. ну , за такой "мультифильтр" нужно <нужное подчеркнуть>
2. при правильном переписывании модуля проведения ( чтоб и останочки и запись в регистры +толкание файла итогов делал прямой запрос) достаточно штатного перепроведения, гда проведение всегда в ТА..
вот тогда и скорость будет в разы быстрее..
а так, костыль он и в африке костыль.

ЗЫ: да и при офрмлении темы, желательно указывать, для какого формата базы костыль - не все же здесь кодеры, тут иногда и бухи/обычные пользователи заходят.. если что.
13. Николай Гаврилов (ShootNICK) 20.04.10 17:08
(12)
1. мультифильтр - обычный. поставленную задачу - решает. не нравится - напиши под себя. болтать - не мешки ворочать.
2. еще раз: в штатном проведении мультифильтра нет , в обработке - есть. понятно ли это ?
3. при оформлении темы формат УКАЗАН.

зы на мерянье органами меня не разведешь :) не старайся.
14. Епрст (Ёпрст) 20.04.10 17:11

офф
блин.. достало, что не посмотришь каменты, пока сообщение не отправишь
:evil:
15. Епрст (Ёпрст) 20.04.10 17:12
(13)
да не переживай,всё уже написано..

>>>СПЕЦИАЛЬНО для SQL баз.

У меня 2005 скуль, мне ваша обработка поможет ?
16. Николай Гаврилов (ShootNICK) 20.04.10 17:17
(15) - не поверишь. проведет по фильтру :)
заголовок темы погляди %)

ты зачем все это пишешь, поделись ?
я конструктива не вижу.
Разговор ведется на отвлеченные темы и о том что ты умешь писать мультифильтры (который взят с типовой кстати).
По теме то есть что сказать ?
17. Епрст (Ёпрст) 20.04.10 17:45
18. Епрст (Ёпрст) 20.04.10 17:52
(16) А чего, уже и попостить нельзя ?

А так, надоело - выкладывают одни баяны, ни одной новой идеии, в лучшем случае -"обертка" другая и всё...
Да хоть в этой обработки - ни описани проблемы перепроведения в скуле, ни откуда ReconnectNative взялся, ни описания хотя бы, что он делает... Нате люди добрые и пользуйтесь. А то что даже сдесь, на инфостарте такого добра полна коробка...ээх.
Было бы внятное описание - не было бы придирок.



19. Николай Гаврилов (ShootNICK) 20.04.10 17:59
(18) смысла не вижу.
поиском прошелся не нашел.

стесняюсь спросить - читал ли ты описание кроме анонса ?
что делает - написано, зачем написана - написано, даже как делает (про реконнект) - написано.
поделись, зачем ты пишешь не читая о чем обработка ?


наверное у нас разное понимание зачем нужны обработки.
мне и моим клиентам - чтоб работало хорошо.

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