Восстановление последовательностей интервалами

15.11.11

Разработка - Инструментарий разработчика

Бывают ситуации, когда необходимо восстановить последовательность в рабочее время при работающих пользователях или запущенное на ночь восстановление последовательностей не завершилось и приходиться его отменять, и граница последовательностей остаётся там же, где и была, и приходится запускать всё сначала.
Восстановление выбранных последовательностей с помощью данной обработки выполняется интервалами, указанными в реквизите "Интервалы восстановления последовательностей" и при прерывании выполнения обработки границы последовательностей устанавливаются на начало последнего восстанавливаемого интервала.

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

Наименование Файл Версия Размер
Восстановление последовательностей
.epf 19,94Kb
434
.epf 19,94Kb 434 Скачать

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

Функция модуля обработки «ВыполнитьВосстановлениеПоследовательностей» разработана так, чтобы её можно было перенести в общий модуль и использовать на сервере в регламентных заданиях. Пример восстановления последовательностей с помощью регламентных заданий уже был описан в статье //infostart.ru/public/20592/

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

Добавил реквизит время запуска, теперь можно нажать кнопку и автоматическое восстановление запустится в указанное время.

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

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    121569    670    389    

710

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 15300 руб.

06.10.2023    7257    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8000 руб.

10.11.2023    3492    11    1    

33

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2520 руб.

14.01.2013    177720    1073    0    

849

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

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

5000 руб.

07.02.2018    99336    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18097    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28089    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23592    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. hanio 54 25.10.11 10:54 Сейчас в теме
Вот три недели назад бы ты обработину выложил, а так я уже свою аналогичную сделал, впрочем это не отменяет мой плюс ;)
2. hanio 54 25.10.11 11:29 Сейчас в теме
Кстати молодец отлично все учел и паузы и транзакцию, маленькое уточнение - паузу в своей обработке я повесил на расписание по одной той причине что в течении суток у меня есть пики работы операторов и ограничиться только одной паузой я не смог - как пример с 16 часов до 21 часа пауза составляет 15 секунд (проведение реализаций и прочих документов максимально в это время), с 21 часа по 3 ночи пауза 5 секунд (проверено что достаточно), с 3 ночи до 7 утра - паузы нет вообще, остальное время пауза 2 секунды. Все выверено экспериментально. Если сможешь допиши свою обработку и я тогда даже свою не буду выкладывать, потому что у тебя очень грамотно. И вопрос вдогонку - у меня почему то встречалось в последовательности реализации помеченные на удаление, у тебя не встречалось? Мне просто не понятно - движения нет, есть конечно документ-основание - проведенный заказ, но на этом у меня останавливалась граница последовательности.
5. hrip 214 25.10.11 11:56 Сейчас в теме
(2) hanio, У меня есть мысль сделать реквизит время запуска т.е. нажал кнопу и пошел, а обработка сама стартует в обозначенное время. А вообще планирую функцию(ВыполнитьВосстановлениеПоследовательностей), которая восстанавливает последовательность поместить в общий модуль и там уже запускать по расписанию регламентным заданием. Различные варианты запуска обработки можно сохранить в настройках
Про помеченные на удаление документы в последовательностях ничего не могу сказать, я же выборку документов из последовательностей не делаю - использую Последовательности.Восстановить()
16. a-novoselov 1155 27.10.11 15:37 Сейчас в теме
(5) А зачем переносить процедуру в общий модуль? что мешает добавить в общий модуль процедуру для фонового задания с единственной строчкой:
ВнешниеОбработки.Создать("С:\Путь до моей обработки\ВосстановлениеПоследовательности.epf").ВыполнитьВосстановлениеПоследовательностей();
17. hrip 214 27.10.11 16:05 Сейчас в теме
(16) a-novoselov, можно и так сделать. Программирование тем и хорошо что можно одну и ту же задачу выполнить разными способами. Главное чтобы в функции ВыполнитьВосстановлениеПоследовательностей() не было вызовов клиентских процедур (например Сообщить(), Состояние()).
А по моему мнению если изменять конфигурацию и создавать новое регламентное задание, то всё равно в каком то модуле придется создать процедуру которая запускает это задание, там же например можно разместить и ВыполнитьВосстановлениеПоследовательностей(), а не полагаться на наличие обработки где то на диске (ведь есть вариант что база может быть перенесена в другое место или на другой сервер, а про обработку можно элементарно забыть, ну или например удалит ее кто нибудь случайно).
6. kapustinag 25.10.11 11:59 Сейчас в теме
(2) hanio,
hanio пишет:

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


Это, возможно, известный баг в УПП, до сих пор не устраненный (по крайней мере, в 1.2.39.1 он все еще наблюдается):
- если пометить на удаление проведенный документ (т.е. не отменять проведение, а сразу пометить на удаление), то в некоторых ситуациях движения остаются.
Кроме того, если конфигурация с исправлениями, то могут быть и другие причины.
7. hanio 54 25.10.11 12:31 Сейчас в теме
в регламентах так то можно но тогда надо делать дополнительные телодвижения а так было бы удобно прямо тут настроить паузы. И кстати я немного по другому реализовал - я запросом вытягивал те документы которые есть в последовательности и начинал их перепроводить, здесь понимаешь какой плюс есть - четко можно видеть весь список документов последовательности и ручками в случае некорректной ситуации ставить на следующий документ ГП.
(6) А насчет бага что помеченный на удаление лезет в последовательность то у меня УТ 10.3.12.3 а платформа 1С:Предприятие 8.2 (8.2.11.236). В ней наблюдается такое? и еще если бы такой косяк имел место то это бы всплыло ведь в регистрах раз движения не ушли...
8. hrip 214 25.10.11 13:40 Сейчас в теме
(7) hanio, Последовательности.Восстановить() блокирует для пользователей возможность проведения документов которые входят в последовательность, поэтому некорректной ситуации не будет (ну а для уверенности можно дату запрета поставить :-)), может ошибкой завершиться только попытка запуска восстановления нового интервала, поэтому и нужен перезапуск, и ручками не надо ничего править.
А насчет регламентных заданий. Раньше мне приходилось запускать постоянно ручками различные обработки, после того как сделал вместо них регламентные задания я уже и забыл что такие обработки существуют.
А про баг с помеченными на удаление не знал - надо будет проверить.
9. hrip 214 25.10.11 13:41 Сейчас в теме
(7) hanio, Будет время попробую расписание сделать
3. hanio 54 25.10.11 11:32 Сейчас в теме
Да и вставь Обработку прерывания - это уже норма в программировании ;)
4. hrip 214 25.10.11 11:46 Сейчас в теме
(3) hanio, ОбработкаПрерыванияПользователя() там стоит аж в нескольких местах :-)
10. hanio 54 25.10.11 14:45 Сейчас в теме
именно дата запрета редактирования и отследит за тем что не получится у пользователей влезть в последовательность. У меня была задача с января протащить границу последовательности, а как протащил там и твой вариант будет нормально работать.
11. Evgeny2009 55 26.10.11 14:52 Сейчас в теме
Супер!!! Просто находка!! Можно мне на sotikom@bk.ru отправить а то плюсиков не хватает (. За реализацию идеи "+"!!
12. adeich 203 26.10.11 17:05 Сейчас в теме
Во, блин........... Сидел вчера сам ваял, так была нужна........... Но однозначно "ПЛЮС"
13. hrip 214 27.10.11 08:21 Сейчас в теме
Добавил реквизит время запуска, теперь можно нажать кнопку и автоматическое восстановление запустится в указанное время.
14. curys 27.10.11 11:40 Сейчас в теме
Огромное спасибо за грамотную разработку и грамотный код!
15. hrip 214 27.10.11 11:54 Сейчас в теме
18. пользователь 06.11.11 11:51
Сообщение было скрыто модератором.
...
19. vartos 16.11.11 09:10 Сейчас в теме
очень полезная обработка, спасибо автору. Только вопрос - как она отработает, если в базе ведется учет в разрезе нескольких организаций?
20. hrip 214 16.11.11 09:28 Сейчас в теме
(19) vartos, Восстанавливает последовательности по всем организациям сразу. Мысль была сделать отбор по организациям, но потребности у меня такой небыло. Попробую сделать.
43. SAshock 11.06.14 16:59 Сейчас в теме
(20)hrip, по организациям не получилось сделать? очень надо )
21. irapronira 07.02.12 15:45 Сейчас в теме
подскажите, как установить определенный период для расчетов НУ УСН, допустим, только за январь 2012 (при установленной дате актуальности 01.01.0001.
22. hrip 214 07.02.12 15:59 Сейчас в теме
(21) irapronira, Не совсем понял вопрос насчет периода расчетов. Если имеется ввиду граница последовательности, то надо либо перепровести все документы, или скачать обработку которая может установить произвольную границу последовательности.
23. irapronira 08.02.12 08:43 Сейчас в теме
А не подскажите ссылку, где есть обработка с установкой произвольной границы последовательности?
24. hrip 214 08.02.12 09:20 Сейчас в теме
(23) irapronira, Здесь же на инфостарте
напрмер
http://infostart.ru/public/16525/
http://infostart.ru/public/20953/
ну или поиском воспользуйся
25. irapronira 08.02.12 09:31 Сейчас в теме
26. OlegrVasil 16.02.12 16:01 Сейчас в теме
Всё прекрасно отрабатывает. Спасибо большое разработчику.
27. jack_kkm 35 20.02.12 14:27 Сейчас в теме
Автор, спасибо тебе, прям от души! Прям ваще! :)
Очень полезная обработка оказалась, днем ставлю запуск на вечер и спокойно иду домой.
28. hrip 214 20.02.12 14:56 Сейчас в теме
29. jack_kkm 35 21.02.12 06:39 Сейчас в теме
hrip, скажи пожалуйста, где найти сообщение об ошибке списания по партионному учету, кроме окна сообщений? В логе нет, а хотелось бы. Получается, очистил окно и все ошибки потеряны?
30. hrip 214 22.02.12 13:20 Сейчас в теме
y(29) jack_kkm, насколько я знаю, то нигде
31. 1cinfo1 7 01.03.12 18:03 Сейчас в теме
Уже пару дней мучаюсь над тем, как запустить автоматически перепроведение в час ночи. Надеюсь ваша обработка поможет в этом
32. 1cinfo1 7 01.03.12 18:45 Сейчас в теме
Вот тоже интересный вариант http://infostart.ru/public/20238/
Буду пробовать допиливать под КОРП бухгалтерию
33. a1ex4ndr 5 16.05.12 13:06 Сейчас в теме
Под 8.1 никому не попадалась такая обработка?
34. ssvetusik 9 28.08.12 04:16 Сейчас в теме
Хорошая обработка, как я поняла если будут транзакции то она остановиться?
35. hrip 214 28.08.12 08:16 Сейчас в теме
(34) ssvetusik, Остановиться только если вручную ограничить количество попыток запуска
36. dyak84 26.09.13 10:56 Сейчас в теме
Автор работа клнечно зачетная слов нет но как быть с таким дело как последовательности. при работе твоей обработки все потом не будет красным.второй вопрос могу ли я выбрать 3 типадокументов и устанавить отбор по табличной части номенклатура.Зарание спасибо за ответ
37. hrip 214 26.09.13 11:23 Сейчас в теме
(36) dyak84, так обработка как раз и занимается тем что восстанавливает последовательности.
а как можно восстановить последовательность с отбором по типу документа(ов), если другие виды документов не перепроводить? Тогда в ней просто весь смысл теряется.
38. nikser 17.01.14 11:39 Сейчас в теме
Ваша обработка не работает .Ставлю время когда начинать и когда заканчивать. Прихожу .База закрыта . Последовательность не восстановлена. какая причина .
1С:Предприятие 8.2 (8.2.18.82)
"Управление торговлей", редакция 10.3 (10.3.18.3) (http://v8.1c.ru/trade/)
Copyright (С) ООО "1C", 2003-2012. Все права защищены
(http://www.1c.ru)
39. hrip 214 17.01.14 12:18 Сейчас в теме
(38) nikser, Вашу проблему вероятно надо искать не в обработке т.к. в ней нигде не предусмотрено закрытие информационной базы. Да и описание проблемы никакое "Прихожу .База закрыта ." Попробуйте проследить что происходит во время запуска и выполнения обработки.
40. nikser 20.01.14 18:05 Сейчас в теме
Спасибо за ответ . Проследить невозможно -по причине того, что прога просто закрывается .
Зашёл в монопольном режиме. Запустил. Результат на скрине вы видите . Что может быть ???
Везде ставил разное время - результат тот же.
Прикрепленные файлы:
41. nikser 20.01.14 18:07 Сейчас в теме
Спасибо за ответ . Проследить невозможно -по причине того, что прога просто закрывается .
Зашёл в монопольном режиме. Запустил. Результат на скрине вы видите . Что может быть ???
Везде ставил разное время - результат тот же.
Прикрепленные файлы:
42. ewqewqewq 28.05.14 17:29 Сейчас в теме
Огромное спасибо.

Такой вопрос отменить обработку нельзя корректно? Только ждать окончание по времени?
Уточните что значит "запустить обработку в" при этом в это время должна быть открыта программа 1с или достаточно включенного компьютера ? спасибо.
44. jo0506 19 08.08.14 07:48 Сейчас в теме
Допилить еще время окончания, если чек бокс не стоит на времени окончания, обработка не стартует...
WellMaster; +1 Ответить
45. WellMaster 104 28.01.15 09:25 Сейчас в теме
(44) jo0506,
кстати, да.
Скачал, запустил - не работает.
Прочитал коммент, поставил время окончания - запустилась.
46. fixin 4252 27.12.15 23:12 Сейчас в теме
Скачал сегодня в надежде, что за ночь отработает.
Ибо обычное восстановление вылетает по ошибке "Конфликт блокировок" и не делает повторных попыток.
Посмотрим, если эта софтина отработает до утра, то большое человеческое спасибо.
47. WWWolfy 132 25.04.16 22:41 Сейчас в теме
Если не установить дату "Завершить выполнение обработки после", то берёт дефолтное "мДатаЗавершения = Дата(1, 1, 1, 0, 0, 0)"
и всегда срабатывает условие:
Если ТекущаяДата() >= ДатаЗавершенияВосстановления Тогда


т.е. сразу выходит из проведения.

Косячок..

исправить можно так:
дефолтДата = Дата(1, 1, 1, 0, 0, 0);
	
	// ■ Восстановление последовательностей
	// ■ периодами укаазанными шагом восстановления (в секундах)
	Пока ВосстанавливатьПоследовательность Цикл
		
		Если ТекущаяДата() >= ДатаЗавершенияВосстановления И (ДатаЗавершенияВосстановления<>дефолтДата) Тогда
Оставьте свое сообщение