Шедулер для 1С 7.7

30.09.16

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

Запуск отчетов и обработок по расписанию

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

Наименование Файл Версия Размер
Шедулер
.ert 546,00Kb
11
.ert 546,00Kb 11 Скачать

Мне, как и многим пользователям 1С 7.7, часто приходиться запускать разного рода обработки и отчеты, не требующие ответной реакции . Т.е., обработка запустилась, что-то сделала и на этом все. К примеру, надо выгрузить отчет поставщику или руководителю. Или открыть период в оперативном учете, особенно если база работает 24х7. Или запустить ночное восстановление последовательности в разделенном режиме. Каждому рано или поздно надоедает запускать все это добро в ручном режиме и начинаются мысли по автоматизации запуска этих обработок. После использования различных костылей собственной и сторонней разработки был сочинен означенный шедулер.

Строго говоря, уместнее назвать эту обработку "Очередь запуска отчетов и обработок", т.к. задания могут выполняться только последовательно и, соответственно, гарантировать, что задание будет выполнено строго в заданное время, нельзя. Т.е., если есть 2 задания с разницей в запуске в 1 минуту, а выполнение первого задания занимает, допустим, 5 минут, то второе задание выполнится только по завершении выполнения первого. Следовательно, эта обработка может гарантировать только последовательный запуск заданий не ранее заданного времени. Тем не менее, пусть будет шедулер. На этом прелюдию можно считать законченной и перейти к описанию.

Описание и принцип работы

Шедулер выполняет задания по следующему принципу:
1. Если задание активно (установлен флаг активности в колонке "А"), переходит к п.2, иначе - п.7.
2. Если задание сегодня уже выполнялось - п.7.
3. Если задание должно выполнятся по определенным дням месяца и текущая дата совпадает с графиком, то переходим к п.6, иначе - п.7.
4. Если задание должно выполнятся по определенным дням недели и текущий день совпадает с графиком, то переходим к п.6, иначе - п.7.
5. Если для задания не указаны конкретные дни, задание сегодня не выполнялось и текущее время >= заданному времени, то переходим к п.6, иначе - п.7.
6. Выполнение задания.
7. Переход к следующему заданию.

Работа с таблицей заданий.
Для добавления, удаления и очистки заданий используются кнопки "Х", "ХХ" и "+", расположенные под таблицей заданий.
Действие кнопок описано в подсказке при наведении курсора на кнопку.
Кроме того, существует контекстное меню, появляющееся при двойном клике по строке задания.
Возможны следующие действия:
- Изменить время. Позволяет изменить время выполнения задания.
- Снять отметку выполнения. Очищает дату последнего выполнения задания, что может понадобиться, если необходимо это задание повторно запустить, а оно сегодня уже выполнялось.
- Изменить дату выполнения. Вариация пред. пункта, но позволяет отложить выполнение до определенной даты, не отменяя активности и не изменяя настроенного расписания.
- Переименовать задание.
- Изменить путь. Позволяет изменить путь к внешней обработке.
- Изменить заголовок колонки. Можно изменить выводимое имя колонки.
- Удалить колонку. Удаляет из таблицы заданий заданную колонку.
- Добавить колонку. Добавляет в таблицу заданий колонку.
Последние два пункта требуются при модификации таблицы заданий и кода обработки. Необходимые обработчики новых колонок добавляются самостоятельно, а обработчики удаляемых колонок подлежат удалению из кода шедулера.

Работа с таблицей параметров.
Если для запуска обработки из задания необходимо передать некоторые параметры, то они добавляются в эту таблицу. Параметры передаются как список значений.
Возможные типы передаваемых параметров:
- Дата.
- Число (длина = 2, точность = 0, неотрицательное).
- Строка (макс. длина = 100).
- Шаблон (макс. длина = 100).
- Элемент или группа справочника.
- Документ.
- Список значений.

Тип "Число" предназначен для передачи целых неотрицательных чисел до 99 включительно. Если требуется передать другое число, необходимо воспользоваться типом "Шаблон".
Тип "Шаблон" используется, когда необходимо передать число, несовместимое с типом "Число" или значение параметра должно быть вычисляемым. Например, шаблон [Ч]1+1.1 передаст в задание число 2.1, а шаблон [Д]ТекущаяДата() - текущую дату. Предусмотрено только два вида шаблонов - "[Ч]" и "[Д]".

Кнопки управления:
- "+". Добавить новый параметр. Необходимо указать имя и тип параметра.
- "Х". Удаляет параметр под курсором.
- "ХХ". Удаляет все параметры текущего задания.
- "ХХХ". Удаляет все параметры всех заданий.
- "К". Копирует все параметры текущего задания в другое задание.
- "КК". Копирует все параметры текущего задания во все остальные задания.

Работа с таблицей "Дни месяцев".
Если задание необходимо выполнять по определенным числам определенных месяцев, надо заполнить эту таблицу. Состав таблицы: номер месяца, дни месяца.
Кнопки управления:
- "З". Заполняет таблицу номерами месяцев от 1 до 12.
- "+". Позволяет добавить дни для выбранного месяца. Номера дней вводятся через запятую, возможные значения от 1 до 31. Вводить можно в любом порядке, при окончании редактирования значения будут отсортированы по возрастанию, а некорректные и повторяющиеся значения будут удалены. Т.е., если была введена строка "5,2,32,6,1,1", то в таблицу попадет "1,2,5,6".
- Кнопка с иконкой редактирования дает возможность отредактировать дни месяца.
- "Х". Удаляет месяц под курсором.
- "ХХ". Очищает таблицу месяцев.
- "К". Позволяет скопировать таблицу месяцев текущего задания в другое задание.

Работа с днями недели.
Если задание необходимо выполнять по конкретным дням недели, то заполняется строка "Дни недели". Значения вводятся аналогично дням месяца, возможные значения от 1 до 7, где 1 соответсвует понедельнику, 2 - вторнику и т.д.
Кнопка с иконкой редактирования служит для ввода или редактирования списка дней. Кнопка "К" копирует список дней в другое задание.

Группа "Журнал заданий".
Если установлен флажок "Вести журнал", то действия по запуску заданий будут записываться в лог-файл. Просмотреть его можно, нажав кнопку "Показать". Кнопка "Очистить" очищает журнал.
В журнал записываются события начала и результат (выполнено, не выполнено) окончания выполнения каждого задания.

Под таблицей заданий расположены кнопки "Сохранить", "Закрыть", "Выполнить" и флаг "Выполнять пропущенные".

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

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

Кнопка "Закрыть" закрывает шедулер.

Если установлен флаг "Выполнять пропущенные", то будут выполнены задания, которые по какой-либо причине сегодня не отработали (напр., забыли сделать задание активным). Задание должно быть активным.

Кнопка "Старт" служит для перевода шедулера в автоматический режим, при котором периодически опрашивается таблица заданий и запускаются задания, для которых подошло время. При этом в заголовок шедулера добавляется текст "Ожидание выполнения заданий". Кнопка "Стоп", соответственно, отключает этот режим.

Можно создать пользователя 1С, у которого в "ПриНачалеРаботыСистемы" прописать:   

Параметры = СоздатьОбъект("СписокЗначений");        
Параметры.ДобавитьЗначение("1","Автозапуск");
ОткрытьФорму("Отчет",Параметры,"Путь\Шедулер.ert");

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

шедулер запуск расписание

См. также

Консоль запросов

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Консоль запросов к базе SQL, не требующая внешних компонент

10 стартмани

29.04.2015    21563    54    Gvozdod    8    

14

StartManager 1.4 - Развитие альтернативного стартера

Инструментарий разработчика Платформа 1С v7.7 Платформа 1С v8.3 Абонемент ($m)

Очередная редакция альтернативного стартера, являющегося продолжением StartManager 1.3. Спасибо всем, кто присылал свои замечания и пожелания, и тем, кто перечислял финансы на поддержку проекта. С учетом накопленного опыта, стартер был достаточно сильно переработан в плане архитектуры. В основном сделан упор на масштабируемость, для способности программы быстро адаптироваться к расширению предъявляемых требований (т.к. довольно часто просят добавить ту или иную хотелку). Было пересмотрено внешнее оформление, переработан существующий и добавлен новый функционал. В общем можно сказать, что стартер эволюционировал, по сравнению с предыдущей редакцией. Однако пока не всё реализовано, что планировалось, поэтому еще есть куда развиваться в плане функциональности.

1 стартмани

23.04.2014    165738    1864    Alexoniq    1596    

496

Tray Informer

Инструментарий разработчика Платформа 1С v7.7 Платформа 1С v8.3 Россия Абонемент ($m)

Согласитесь, что окно стандартное сообщений в 1С иногда приносит больше неудобств, чем пользы. И тем более разные "Предупредить"... Что с этим окном только не делают! Его отцепают от формы, делают маленьким, умудряются спрятать за границы экрана. А потом звонят программистам с претензией, что документ почему-то не проводится, отя ничего и не пишет. У вас такого не было? А вот у нас было и не раз )))

1 стартмани

04.09.2013    32885    61    O-Planet    78    

49

Изменение структуры баз 1С 7.7 без долгой реструктуризации. Часть 1. Справочники

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

На днях встретил вопрос на форуме про возможность внесения изменений в конфигурацию без долгого сохранения в рабочей базе большого объема. Вот решил поделиться опытом, как это делал я. База у нас была объемом порядка 120 Гб. К базе обращался сайт в режиме 24/7, поэтому важно было быстро сохранять изменения и желательно без последующего монопольного запуска для восстановления индексов и процедур и без отключения пользователей от базы. Это первая часть статьи и посвящена она справочникам. С одной стороны - это самый простой объект, с другой стороны, именно про справочник спрашивалось на форуме. Если статья будет востребована, то я напишу аналогичные про документы, регистры и может еще что.

1 стартмани

13.08.2013    21202    Reptile    5    

35

v7.7 1CDialogControls: Инструмент в помощь разработчику на 7.7.

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

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

1 стартмани

21.02.2013    18031    35    MarSeN    14    

16

[Разработчику] Любая таблица значений в OLAP

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Анализируем различные данные в 1С, используя OLAP-технологии со всеми прелестями. Т.е. наглядное отображение данных, быстрые расчеты, горизонтальные и вертикальные группировки любой вложенности, удобная фильтрация, Drag'n'Drop и ещё много приятных вещей от MS. Обработка на входе принимает практически любую таблицу значений (ТЗ в которой колонкам указаны типы значений, строка, число и т.п.), на выходе имеем на форме 1С сводную таблицу и график по этой ТЗ, с которой работаем, как и в Excel со сводной таблицей и диаграммой. Взял за основу разработку «OLAP Анализ счёта» ( http://infostart.ru/public/14964/ ) от JohnyDeath и переделал под любую ТЗ. Опционально используется «Прогресс бар для 1С 77» (http://infostart.ru/public/14061/ ) от Gmix.

1 стартмани

21.12.2012    36106    51    venger    7    

23

Библиотека кода 1С 7.7 (накопленная за 8 лет)

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Весь код на 1С 7.7, собранный для повторного использования за 8 лет работы.

10 стартмани

25.11.2012    34960    248    adhocprog    51    

70
Оставьте свое сообщение