#0
by RoboTech
Здравствуйте! Возникла следующая проблема. В конфигурации, редактировать которую мы не можем, работа с регламентными заданиями реализована следующим образом: существует справочник "Дополнительные внешние обработки", куда добавляется элемент. В этом элементе можно указать ссылку на внешнюю форму (она сохраняется в хранилище значений), можно задать расписание для выполнения задания и в специальном поле указать код который будет выполняться при выполнении задания. При выполнении задания указанный в элементе код выполняется следующим образом: Выполнить(Указанный код). Естественно это жутко неудобно. Получается что обработка которую привязываешь вообще не при чем. И никак её запустить не удается. Пытался сделать через внешние обработки. В коде который выполняется в задании нахожу необходимый элемент справочника "Дополнительные внешние обработки", сохраняют привязанную к нему обработку во временный файл, подключаю его через внешние обработки, а дальше не получается. Пытался открывать форму, но видимо при выполнении регламентного задания формы не открываются. Пытался вызывать функции обработки, тоже не получается. Подскажите что можно сделать в этом случае? Или это в принципе невозможно реализовать?
#1
by kroll
Регламентное задание выполняется на сервере. Так что ни о каких интерфесных штучках типа открытия формы речи быть не может. Или я неправильно понял условия задачи?
#4
by RoboTech
Допустим в модуле обработке есть экспортная процедура ЗапускОбработки. Для простоты приведу код который выполняется. ИмяФ = ПолучитьИмяВременногоФайла("epf"); Обр - содержит ссылку на внешнюю обработку. Доступны только методы ОткрытьФорму и Метаданные. Если попытаться вызвать функцию Обр.ЗапускОбработки то ничего не получается
#6
by RoboTech
Там выполняется запрос, выбираются элементы справочника и меняются в необходимых случаях значения реквизита. Но смысл не в этом. Процедура в принципе не видится.
#8
by RoboTech
Самое интересное что если выполнить этот же код в обычной обработке, то всё нормально. Получаем ссылку на внешнюю обработку, вызываем процедуру ЗапускОбработки которая нормально отрабатывает. А если в регламентной операции, то при выполнении кода: Выполнить(Указанный код) выдает ошибку:
#10
by RoboTech
По-моему есть какой-то режим отладки или тестирования когда проверяется сможет он выполнится на сервере или нет. Или я ошибаюсь? Скорее всего вы правы. Только вот как узнать что именно не может выполниться
#11
by kroll
ну если у тебя обработка внешняя, да и еще с переменным именем, то как ты поставишь точку остановки в такой обработке? Как вариант - на время сохранить и вызывать эту обработку по конкретному имени. Ну или более затратный - ставить "метки выполнения", то есть поместить в код обработки строки типа ... ... Сообщить("Дошли до сюда 134")
#12
by RoboTech
На данный момент выяснил что на сервере нельзя использовать команду ВнешниеОбработки.Создать. Вообще ВнешниеОбработки не доступны при выполнении кода на сервере ... Думаю как теперь по другому получить доступ к обработке ...
#13
by kroll
ВнешниеОбработкиМенеджер (ExternalDataProcessorsManager) Методы: Описание: Предназначен для управления внешними обработками и позволяет получать значения типа ВнешняяОбработка при помощи метода Создать. Доступ к объекту осуществляется через свойство глобального контекста ВнешниеОбработки. Доступность: Сервер, толстый клиент, внешнее соединение. См. также: Глобальный контекст, свойство ВнешниеОбработки
#17
by RoboTech
Решил проблему двумя способами: 1) объединил функции и процедуры которые должны были выполняться обработкой в одну процедуру и её код вставил в поле, откуда во время выполнения регламентного задания берётся код для исполнения. Заработало. Но не удобно. 2) написал батник, который запускает 1С, выполняет нужную обработку. В обработке последней строкой идёт ЗавершитьРаботуСистемы. Прописал в назначенных заданиях windows на сервере запуск этого батника в нужное время. Запускается, выполняется. Кому интересно вот текст батника: Выводы: на платформе 8.1 нормально реализовать это невозможно. А вот в 8.2 вполне
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Запуск внешней обработки из командной строки если 1С уже стартанула ?
- Возможен ли такой автоматический запуск обработки при запуске прогркммы?
- Проблемы с работой через OLE, запуск функции через OLE
- запуск внешней обработки из VBS
- Запуск 1С-ки автоматом и автоматом запуск нужной обработки
- Запуск 1С-ки автоматом и автоматом запуск нужной обработки
- bat-файл. Запуск 1С 8.0 УТ - запуск обмена.
- Запуск процедуры из модуля внешней обработки
- Запуск обработки через регламентное задание
- Запуск обработки (внешней) при запуске 1с
- Регламентное задание. Запуск внешней обработки
- Запуск веб-клиента с параметрами запуска
В этой группе 1С
- 1С 8.2 Пустая строка при выводе отчета
- Проблема склонения должностей. NAMEDECL.DLL косячит.
- Клавиатурный сканер не работает в УТ
- Как отключить иерархию?
- Как найти в строке несколько ключевых слов (поиск по подстроке).
- Как объединить несколько файлов excel в один
- УПП не попадает в книгу покупок НДС 19.01
- ЗУП: в документ по авансу попадает пособие по уходу за ребенком
- v8: ЗУП 2.5.24 Если процент ежемесячной премии меняется втечение месяца
- Как проверить созданный программно документ на запись?
- 7.7. XML. Как проверить существует ли узел?
- УТ11 в режиме толстого клиента (обычное приложение)
- Модель базы SQL, Full или Simple?
- Фильтр на выгрузку данных из 1С в КПК
- ЗУП: Годовые премии: учитываемые частично, не индексируемые
- Кто-нибудь использует ЭР: Штрихкодирование и управление документами?
- БП 2.0 Форма списка ОС инвентарный №
- v7: Печать табличной части документа 1С 7.7
- Выгрузка из 1с 8.1 комплексная и загрузка в 1с 8.1 бухгалтерия
- где почитать про Построитель запроса