Кому и зачем это надо
Внешний регламент понравится тем, кто работает на результат, а не ради пыли в глаза. Больше уже не надо подключаться по два часа к хранилищу и постоянно обновлять конфигурации ради изменения двух строчек кода.
Вы сможете вести разработку, как все нормальные программисты, с помощью небольших файлов-модулей, после записи модуля он уже работает в базе как обновленный (даже не надо просить пользователя переокрыть форму).
Для хранения версий и для просмотра изменений можно использовать GitHub, а для простого контроля версий подойдет программа Defy.
Ну и наконец Вы забудете про эту кашу в коде и в голове конструкций НаКлиенте-НаСервере. Здесь нет клиента и управляемых форм:)
Если Вы напишите свой интересный модуль, присылайте на почту, я вставлю в состав модулей внешнего регламента.
Как встроить в конфигурацию внешний регламент
1. В конфигураторе нажимаем "Конфигурация -> Поддержка -> Настройка поддержки -> Включить возможность поддержки". Выбираем "Объект поставщика редактируется с сохранением поддержки"
2. В конфигураторе нажимаем "Конфигурация -> Сравнить, объединить с конфигурацией из файла". Выбираем файл "ВнешнийРегламент.cf"
3. Снимаем все флажки в окне сравнения. Выбираем внизу фильтр "Показывать присутствующие только в файле". Включаем все флажки. Нажимаем "Выполнить". Сохраняем изменения в конфигурации.
В самой конфигурации будут добавлены метаданные:
Подсистема.ВнешнийРегламент
ОбщийМодуль.ВнешнийРегламент
РегламентноеЗадание.ВнешнийРегламент
Константа.КаталогВнешнихМодулей
Константа.СтрокаСоединенияИБ
Константа.ПараметрыУведомленийНаПочту
Справочник.ВнешнийРегламент
РегистрСведений.ЖурналВнешнегоРегламента
4. У пользователя, который будет настраивать внешний регламент убираем флаг "Защита от опасных действий".
5. Запускаем Предприятие и переходим в справочник "Внешний регламент". Нажимаем кнопку "Настройка". Настраиваем каталог внешних модулей и запускаем "Использование регламента".
6. Переходим в справочник "Внешний регламент" и нажимаем кнопку "Определить обработки". В списке должны появиться все возможные обработки, которые можно использовать в фоновом режиме или выполнять в ручном режиме.
Как добавить расширение "Внешний регламент"
1. Расширение можно сделать только для платформы версии 16 и выше.
2. В конфигураторе нажимаем "Конфигурация -> Расширения конфигурации -> Добавить (Имя=ВнешнийРегламент,Префикс=ВР_,Назначение=Дополнение)"
3. В строке с новым расширением снять флажки "Безопасный режим" и "Защита от опасных действий"
4. Потом в окне расширений нажимаем "Конфигурация -> Загрузить конфигурацию из файла". Выбираем файл "ВнешнийРегламент.cfe"
5. Внешний регламент замещает только одну функцию общего модуля ОчередьЗаданийСлужебный.ПланированиеОбработкиЗаданий
6. Запускаем Предприятие и переходим в справочник "Внешний регламент". Нажимаем кнопку "Настройка". Настраиваем каталог внешних модулей и запускаем "Использование регламента".
7. Переходим в справочник "Внешний регламент" и нажимаем кнопку "Определить обработки". В списке должны появиться все возможные обработки, которые можно использовать в фоновом режиме или выполнять в ручном режиме.
Требования к внешней обработке для использования во внешнем регламенте
1. Обязательный реквизит ПараметрЗапуска (Строка.0).
2. Обязательные экспортные фунции:
Инициализация() - должна вернуть пустую строку если все хорошо, или строку с описанием ошибки.
Выполнение() - должна вернуть строку с результатом выполнения (если в строке есть слово 'Ошибка', то попадает в ошибки иначе в комментарий) или структуру с полями:
Комментарий
Ошибка
ДополнительныйТекст
ДополнительнаяТаблица,
которые будут записаны в аналогичные поля новой записи в регистре сведений ЖурналВнешнегоРегламента.
3. Необязательные экспортные функции:
ПодготовитьВариантыПараметровЗапуска(Варианты) - Варианты есть список значений
ПодготовитьВариантыДополнительныхДействий(Варианты) - Варианты есть список значений
ВыполнитьДополнительноеДействие(ИмяДействия)
4. В качестве шаблона можно использовать обработки "СтатистикаУвеличенияДанных.epf" или "ОбновлениеКурсовВалют.epf"
Актуальный состав внешнего регламента
ОбновлениеМодулейВнешнегоРегламента
НапоминаниеОДняхРождения
ОбновлениеИндексаПолнотекстногоПоиска
ОбновлениеКурсовВалют
ОчисткаСведений
ПоискИЗамена
ПроверкаИИсправлениеДанных
ПроверкаУникальностиСправочников
СтатистикаУвеличенияДанных
ТестВнешнегоРегламента
УдалениеПомеченныхНаУдаление
ЗагрузкаПоПлану
ВыгрузкаПоПлану
(описание к обработкам находится в самих обработках, смотри изображения к публикации)
Все модули сделаны и протестированы на платформе 8.3.13.1644
Надеюсь, данное решение поможет программистам 1С в наших рутинных делах. :)