Как сделать планирование в 1с
Работа предприятия и пользователя практически всегда нуждается в организации и планировании. Многие для этих целей пользуются сторонними органайзерами и календарями. В 8 версии программы, начиная с релиза 8.3.6.1977, реализована возможность самостоятельного создания планировщика заданий в 1С.
Что такое планировщик
Как любой объект встроенного языка, Планировщик заданий в 1С имеет некоторый набор свойств, позволяющий произвести его программное заполнение:
- Текущие периоды отображения (по умолчанию программа устанавливает в качестве этого параметра текущую дату компьютера);
- Измерения (здесь можно указать разбиение работ по подразделениям, расписания по университетским группам, время работы и обеда по магазинам);
- Элементы (объекты, представляющие собой задачи к выполнению, предметы и т.д.).
На этом этапе важно понять: Планировщик не является объектом метаданных и никакой информации не хранит. Это всего лишь инструмент, позволяющий отобразить и упорядочить информацию, хранящуюся в других местах (чаще всего в справочниках, однако можно его синхронизировать и с внешними таблицами).
При добавлении события в окно планировщика необходимо записывать соответствующий элемент справочника. Открытие формы, должно перечитывать актуальные данные.
Элементы планировщика обладают следующим набором характеристик:
- Начало и конец временного периода события;
- Текстовое наполнение;
- Картинка;
- Хранимое значение (чаще всего это ссылка на элемент соответствующего справочника, но могут быть и документы).
Важно! Главным условием для хранимых данных является наличие двух полей с типом значения ДАТА, для установки начальной и конечной точки события.
Основные действия с планировщиком
Имея окно (рис.1) можно добавить новое событие. Для этого:
Настройка параметров отображения планировщика заданий в 1С
В зависимости от потребностей пользователя, окно календаря можно настраивать различным образом. Для этого существуют несколько параметров:
- Единица периодического варианта;
- Кратность периодического варианта;
- Положение шкалы времени.
На выше представленном примере первый реквизит имеет значение 1 час, второй -7, третий параметр принимает значение вверху.
Комбинируя и экспериментируя с этими реквизитами можно добиться отображения, наиболее четко выражающего стоящую задачу.
Следует отметить, что в случае, когда задаваемый программой интервал превышает кратность, временная шкала будет переноситься на следующую строку.
Во внешнем виде могут отражаться несколько временных шкал. Его детальная настройка позволяет выравнивать элементы по промежуткам времени с точностью до минуты, отображать рабочие часы или сутки целиком, настроить видимость индикатора текущего времени системы.
Вращением колесика мышки или соответствующими кнопками на форме (если они есть) можно осуществлять перемещение по календарю в окне обработки.
Решение некоторых сложностей в работе планировщика
В работе с планировщиком, как и со всяким другим новым инструментом, очень часто возникают вопросы. Попытаемся раскрыть основные.
Вопрос: Где можно найти Планировщик?
Ответ: Создав реквизит управляемой формы в версиях платформы выше 8.3.6.1977 можно задать ему тип планировщик (Рис.4), при этом в окне свойств реквизита можно настроить и шкалу времени, и отображаемые измерения и многие другие параметры.
Вопрос: Как получить от формы измененные данные касательно начального и конечного периода времени события?
Ответ: В модуле можно прописать процедуру ПриОкончанииРедактирования(), привязав её к соответствующему полю формы. В случае редактирования существующего элемента, последний можно получить с помощью свойства ВыделенныеЭлементы;
Вопрос: Какой код помогает изменить текущий отображаемый период?
Активно читаю "Заметки из зазеркалья". Большинству заметок я очень рад, и очень жду их реализации. Одно из них — это "Планировщик".
Собственно, статья будет посвящена этому новому, и как по мне, удобному механизму.
Так как в процессе изучения было выявлено несколько нюансов заполнения, решил написать статью с кодом заполнения.
Первым делом ссылки на ресурсы:
— Заметки из зазеркалья (
Результат заполнения планировщика выглядит так:
В строках видим время работы магазинов (с 9 до 18).
По колонкам: группы Магазинов и Продавцов.
Основные свойства планировщика для его программного заполнения:
— ТекущиеПериодыОтображения (тут можно указать рабочее время магазинов)
— Измерения (группировки: Магазин, Продавец)
— Элементы (сами заметки по измерениям)
Еще раз повторюсь, что тут описаны только азы.
ТекущиеПериодыОтображения заполняются так (тут всё просто, поэтому описывать комментариями думаю не нужно ):
Планировщик . ТекущиеПериодыОтображения . Очистить ();
Планировщик . ТекущиеПериодыОтображения . Добавить ( ПериодОтображенияНачало , ПериодОтображенияКонец );
Измерения можно заполнить таким образом:
// Инициализируем измерения планировщика
ИзмеренияПланировщика = Планировщик . Измерения ;
ИзмеренияПланировщика . Очистить ();
// Добавление магазинов в группу Магазины
НовыйМагазин = ИзмерениеМагазины . Элементы . Добавить ( ВыборкаМагазинов . Магазин );
НовыйМагазин . Текст = ВыборкаМагазинов . Магазин . Наименование ;
// Заполнение измерений продавцы
НовыйПродавец = ИзмерениеПродавцы . Элементы . Добавить ( ВыборкаПродавцов . Продавец );
НовыйПродавец . Текст = ВыборкаПродавцов . Продавец . Наименование ;
А вот так добавляем Элементы (записи в планировщике):
// Инициализация элементов планировщика (записи по измерениям)
ЭлементыПланировщика = Планировщик . Элементы ;
ЭлементыПланировщика . Очистить ();
Пока РезультатПланы . Следующий () Цикл
РазницаВремениНачало = РезультатПланы . ВремяС — НачалоДня ( РезультатПланы . ВремяС );
РазницаВремениКонец = РезультатПланы . ВремяПо — НачалоДня ( РезультатПланы . ВремяПо );
Начало = НачалоДаты + РазницаВремениНачало ;
Конец = НачалоДаты + РазницаВремениКонец ;
// Добавление новой записи в промежуток времени
НовыйЭлемент = ЭлементыПланировщика . Добавить ( Начало , Конец );
НовыйЭлемент . ЗначенияИзмерений = Новый ФиксированноеСоответствие ( СоответствиеЗначений );
НовыйЭлемент . Текст = РезультатПланы . Задание ;
После того мы разобрались с заполнением, можно показать итоговый вид с заполненным регистром сведений Дни работы (в котором регистрируем рабочее время сотрудников)
Сегодня рассмотрим один из вариантов обслуживания баз 1С в СУБД MS SQL.
Содержание:
1. Немного теории по планам обслуживания
2. Постановка задачи по созданию планов обслуживания
3. Создание плана обслуживания (Полная копия)
4. Создание плана обслуживания (Разностная копия)
5. Создание плана обслуживания (Резервная копия журналов транзакций)
6. Мониторинг планов обслуживания
1. Немного теории по планам обслуживания
Может многие со мой не согласятся, но для меня главной целью использования Планов обслуживания в MS SQL является создание резервных копий. Местные ITишники либо еще не делают резервные копии, либо уже делают, после печальных последствий отсутствия резервных копий. Да, не спорю, Планы обслуживания также нужны для оптимизации БД и выгрузки журналов транзакций, в последнем случаи, если не выполнять выгрузку журналов транзакций, у вас может вырасти база данных и занять все пространство на диске, 1С встанет колом и пользователи не смогут работать с базой, а вам придется выполнять шринк (Shrink) базы, это наверно самое страшное для ITишники после поломки базы и отсутствии резервных копий. Но об шринке (Shrink) поговорим в другой раз.
MS SQL Server поддерживает три модели восстановления:
1) Simple (Простая) — хранится только необходимый для жизни остаток журнала транзакций.
2) Full (Полная) — хранится весь журнал транзакций с момента последнего резервного копирования журнала транзакций.
3) Bulk logged (С неполным протоколированием) — часть операций записываются в очень компактном формате. В остальном идентична Full.
Модель восстановления базы можно посмотреть, в свойствах базы данных, на вкладке Параметры. Там же ее можно поменять. На практике я использую Full (Полная).
MS SQL поддерживает три типа формирования резервных копий:
1) Full (Полная копия)
2) Differential (Дифференциальная копия, Разностная копия)
3) Log (Резервная копия журналов транзакций)
Не путайте понятия: полная модель восстановления и полная резервная копия — разные вещи.
Рассмотрим подробно три типа формирования резервных копий.
1) Полная резервная копия
Позволяет восстановить состояние базы данных на некоторый момент времени. Состоит из копии файлов данных и журнала транзакций на момент завершения формирования резервной копии.
2) Разностная резервная копия
Хранит данных, изменившиеся с момента последней Полной резервной копии. При восстановлении нужно сначала восстановить Полную резервную копию в режиме NORECOVERY, потом можно применить любую из последующих Разностных копий. За счет этого можно значительно снизить объём дискового пространства для хранения резервной копии. Обратите внимание: без предыдущей Полной резервной копии Разностная копия бесполезна. Каждая последующая Разностная копия будет хранить все данные, входящие в предыдущую Разностную резервную копию, сделанную после предыдущей Полной копии. Поэтому каждая следующая Разностная копия больше предыдущих, пока снова не сделать Полную копию. Соответственно для восстановления на какой-то момент времени достаточно последней Полной резервной копии и последней Разностной копии. Промежуточные копии для восстановления не нужны.
3) Резервная копия журналов транзакций
Содержит копию журналов транзакций за некоторый период. Обычно с момента прошлой Резервной копии журналов транзакций до момента формирования текущей Резервной копии журналов транзакций. За счет этого Резервные копии журналов транзакций позволяют (с учетом Полной и Разностной копий) восстановить базу данных на любой момент времени. Резервная копия журналов транзакций высвобождает место в файле журнала транзакций, что позволяет ITишники избавиться от шринка базы данных.
Обратите внимание: набор Резервных копий журналов транзакций по сути бесполезен, если он не является непрерывной цепочкой, причем момент начала последнего успешного Полного или Разностного резервного копирования должен быть внутри периода этой цепочки.
2. Постановка задачи по созданию планов обслуживания
В организации N работают по шестидневке с 8:00 до 17:00. Обед с 12:00 до 13:00.
Имеется в MS SQL база данных с именем Moodle.
Что нужно сделать:
1) Проверить модель восстановления базы данных, должна быть Полная.
2) Создать план обслуживания, который будет создавать Полную резервную копию базы данных каждое воскресение в 17:00. Очищать хранилище от устаревших резервных копий старше 15 дней.
3) Создать план обслуживания, который будет создавать Разностную копию базы данных каждый день в 21:00 кроме воскресения.
4) Создать план обслуживания, который будет создавать Резервную копию журналов транзакций два раза в день, в 12:00 и в 17:00, кроме воскресения.
3. Создание плана обслуживания (Полная копия)
Запускаем SQL Server Management Studio, в Обозревателе объектов проходим по ветке Управление - Планы обслуживания.
Правой кнопкой по пункту Планы обслуживания и в контекстном меню выбираем Создать план обслуживания. Указываем имя, к примеру: Moodle. В открывшемся конструкторе будем создавать вложенные планы обслуживания. щелкните два раза по строке ВложенныйПлан _1
Задайте Имя, Описание и обязательно настройте Расписание выполнения вложенного плана обслуживания: еженедельно в воскресение 17:00:00
Используя Панель элементов создадим первый вложенный план. Достаточно нужный элемент в панели ухватить, перенести на рабочую область и там бросить. Для открытия мастера настройки элемента достаточно два раза щелкнуть по элементу.
Ниже на рисунке представлен результат настройки, который должен у нас получится, но все по порядку.
Размещаем задачу "Проверка целостности базы данных", двойным щелчком мыши открываем диалог настройки задачи, в первую очередь в свойстве Базы данных отмечаем нужную базу, а остальное настраиваем как показано на рисунке. При желании можно посмотреть T-SQL код полученной задачи.
Размещаем следующую задачу "Перестроение индекса" она у нас будет выполнятся только после успешно выполненной предыдущей задачи. Настраиваем как показано на рисунке, не забываем указать конкретную базу данных.
Для связи двух задач щелкните по первой задаче "Проверка целостности базы данных" у этой задачи появится стрелка, щелкните по ней и не отпуская соедините со второй задачей "Перестроение индекса". Для изменения значения условия выполнение следующей задачи, щелкните два раза по линии и в открывшемся диалоговом окне выполните необходимые настройки.
Размещаем задачу "Обновление статистики" которая будет выполнятся после завершения предыдущей. Настраиваем эту задачу как на рисунке, не забываем выбрать базу данных.
DECLARE @intDBID INTEGER SET @intDBID = (SELECT dbid FROM master.dbo.sysdatabases WHERE name = 'Moodle')
Инструкция DBCC FREEPROCCACHE используется для аккуратной очистки кэша планов. Освобождение кэша планов приводит, например, к тому, что хранимая процедура повторно компилируется, а не используется из кэша.
Размещаем следующую задачу "Резервное копирование базы данных" она у нас будет выполнятся полную резервную копию базы данных. Размещать резервные копии желательно на СХД, если нет, то на другом физическом диске, но ни в коем случае на том же диске где сама база данных, иначе теряется весь смысл резервных копий. Настраиваем как показано на рисунке, не забываем указать конкретную базу данных.
Размещаем следующую задачу "Очистка журнала" она у нас будет выполнятся очистку журналов. Настраиваем как показано на рисунке.
Размещаем следующую задачу "Очистка после обслуживания" она у нас будет выполнятся удаление старых файлов резервных копий, так как свойстве Расширение файла указана маска *.*, то удаляются будут все файлы, и полной резервной копии, и разностной, и журнала транзакций. Настраиваем как показано на рисунке.
Обратите внимание, две последние задачи выполняются после выполнения задачи "Резервное копирование базы данных" и самое главное, задачу "Очистка после обслуживания" нужно выполнять только после успешно выполненной задачи "Резервное копирование базы данных". Что бы не получилось, что у вас уже который раз не создаются резервные копии, а вы задачей "Очистка после обслуживания" удаляете последние актуальные копии.
Добавим вложенный план обслуживания, на рисунке ниже красной рамкой выделена данная кнопка и показан результат схемы обслуживания, который должен получится, но все по порядку.
Размещаем две задачи "Проверка целостности базы данных" и "Резервное копирование базы данных", обратите внимание последняя задача выполняется только после успешного завершения предыдущей. Иначе какой смысл делать резервную копию если она не корректна.
На рисунках представлены настройки задачи "Резервное копирование базы данных". Обратите внимание на Тип резервной копии, должен стаять Разностное. И не забудьте указать конкретную базу данных.
На рисунке представлен результат плана обслуживания на 12:00, на 17:00 отличатся ничем не будет, только временем выполнения.
Разместим одну задачу "Резервное копирование базы данных". Обратите внимание на Тип резервной копии, должен стаять Журнал тарнзакций. И не забудьте указать конкретную базу данных.
Откройте Мониторинг активности заданий, в этом мониторинге можно увидеть какие задачи, когда выполнялись, когда следующее выполнение и успешно ли они выполнялись.
Для запуска определенного плана, достаточно в контекстном меню выбрать пункт Запустить задание на шаге.
Сегодня рассмотрели минимальные азы создания планов обслуживания в MS SQL по созданию трех типов резервных копий баз данных: Full (Полная копия), Differential (Дифференциальная копия, Разностная копия) и Log (Резервная копия журналов транзакций).
Отправка проектных целей на реализацию 1С Документооборот
На данный момент управляющему проектом, в программном продукте 1С Документооборот, не требуется самостоятельно отсылать все проектные цели на реализацию. Начиная с конфигурации ЭДО электронный документооборот 2,1,21 реализована возможность в автоматическом режиме осуществлять это в порядке, который задан в расписании проекта.
Первый этап. В карточке проекта, во вкладке Настройки, необходимо активировать отправку проектных целей в авто режиме (рис.1).
-
ЭДО Документооборот выбирает проектные цели для автоматического начала среди целей, предшествующие которым задачи были завершены. При наличии нескольких таких задач будет осуществлена параллельная отправка (рис.3,4).
Проектный учет и контроль исполнения
Выполняйте документационное обеспечение проектной деятельности и отслеживайте переписку по проекту, контактируйте с другими участниками в течение всего жизненного цикла проекта. Контролируйте исполнение проектных задач и получайте аналитику о ходе выполнения проектов в организации.
Учет данных в разрезе проектов
Для основных объектов программы (документы, файлы, мероприятия, письма, процессы) можно указать, к какому проекту они относятся. Это используется для поиска и группировки данных, учета рабочего времени. Из карточки проекта можно перейти к его объектам, например, ко всем документам по проекту.
Планирование и исполнение проектных задач
- планирование — для составления плана проекта;
- отправка на выполнение — для своевременной отправки проектных задач на выполнение;
- контроль выполнения — для контроля выполнения проектных задач;
- анализ трудозатрат — для анализа плановых и фактических трудозатрат;
- полный — режим выводит полный набор колонок в списке;
- диаграмма Ганта — графическое представление плана проекта.
Диаграмма Ганта
- черный — задачи, у которых есть подчиненные задачи;
- синий — задачи, выполнение которых еще не начато, но дата начала задачи пока не просрочена;
- коричневый — задачи, выполнение которых еще не начато, но дата начала задачи уже просрочена;
- зеленый — задачи в работе, дата окончания которых не просрочена;
- красный — задачи в работе, дата окончания которых просрочена;
- серый — задачи, работа по которым завершена.
Двойной щелчок мыши по полосе диаграммы открывает карточку задачи по проекту.
Учет трудозатрат по проектам
Трудозатраты на процессы, запущенные по проекту, автоматически списываются на этот проект. Все трудозатраты видны в карточке проекта / проектной задачи.
Управление проектами в 1С Документооборот
Идеально подходит для средних, крупных компаний и холдингов со сложной организационной структурой и сложным документооборотом.
Типовой функционал, встроенный в прикладные решения 1С
Настройка и доработка 1С:Документооборот для борьбы с ошибками. Гарантия на все результаты работ.
Оперативные консультации по 1С:Документооборот без предоплаты. Первая консультация бесплатно.
Рис.1 Активация подсистемы Управление проектами
Рис.2 Настройка проектов и трудозатрат
Рис.3 Уровни контроля
Рис.4 Нормативно-справочная информация
Рис.5 Вкладка Виды проектов
Рис.6 Настройка шаблонов контрольных точек
В этом же меню можно создать наборы дополнительных свойств для проектов и проектных задач данного вида проектов. Команда КТ открывает меню настройки шаблонов КТ для данного вида проектов.
Рис.7 Настройки шаблонов КТ
Шаблоны КТ можно разделять по группам. Они будут перенесены в проект при использовании этого шаблона.
Рис.8 Разделение шаблонов по группам
Рис.9 Совместная работа-Проекты
Рис.10 Вкладка Проекты
Проекты группируются по папкам, в которых настраивается разграничение доступа.
Рис.11 Настройка прав
В реестре проектов есть быстрые отборы, поиск по вхождению текста и расширенный поиск.
Рис.12 Быстрые фильтры
В самом реестре проектов можно сортировать список по каждой колонке, просто нажимая на заголовок. При повторном нажатии меняется порядок сортировки.
Рис.13 Сортировка списка
Рис.14 Обзор проекта
На следующей вкладке находятся основные реквизиты карточки проекта.
Рис.15 Реквизиты карточки проекта
Здесь заполняем основные сведения о проекте – его наименование, руководителя, даты начала и окончания, плановые трудозатраты и так далее. Заказчиком может выступать как внутренний пользователь системы, так и контрагент. Вверху окна расположены команды перехода к плану-графику проекта с проектными задачами и списку контрольных точек, а также команды создания связанных объектов и кнопка старта процессов по проекту в целом.
Рис.16 Заполнение сведений о проекте
Рис.17 Настройки системы учета
Рис.18 Дополнительные реквизиты
Рис.19 Рабочая группа
Вверху окна расположены ссылки на связанные объекты проекта.
Рис.20 Ссылки на связанные объекты проекта
Работу с планом проекта и управление контрольными точками рассмотрим в следующих статьях. Оставайтесь с нами! Доверяйте профессионалам! Мы гарантируем успешную работу на программном уровне!
Читайте также: