ILoveYAnny
@ILoveYAnny

Как заполнить поле Внешней Обработки из Web-сервиса?

Добрый день. Ситуация следующая, у меня есть Внешняя обработка в отдельном файле, и есть опубликованный WebСервис. Пытаюсь получить доступ различными примерами из интернета, на что ответ почти один. На месте "Обработка" и название форм и название внешней обработки и т.д. Не как не хочет цепляться к ней, интерпретатор думает что это переменная.
{WebСервис.test.Модуль(12,16)}: Переменная не определена (Обработка)

Вывод очевиден, необходимо это обработку зарегистрировать, добавляю обработку через 1С Предприятие, через меню - Сервис - Внешние обработки и Отчёты, в результате она появляется в списке - но в конфигураторе слева нет. Дак вот вопрос, как мне получить доступ если :

Есть внешняя обработка : "Расчёт продукции", в ней располагается форма "Калькулятор".
В калькуляторе при изменении значения поля вызывается -

Функция Пересчёт(Тонны) Экспорт
блабла
Конец Функции

Если ещё короче, то моя задача - Вызвать из веб сервиса функцию внешней обработки "Функция Пересчёт(Тонны) Экспорт", и вернуть значение пользователю
  • Вопрос задан
  • 2957 просмотров
Решения вопроса 1
@thepry
Ruby on rails, 1С разработчик
меню - Сервис - Внешние обработки и Отчёты,

Вы не правильно поняли механизм. Внешние обработки - это справочник. Когда вы добавляете в него обработку, то появляется элемент справочника, у которого в поле записаны двоичные данные самого файла. Когда вы ее открываете, то из этих двоичных данных создается объект обработки и он открывается.

Это такой общепринятый способ вставлять обработки без изменения конфигурации, поэтому они и не должны появляться в конфигураторе.

Вам нужно либо в конфигураторе нажать правой кнопкой в обработки и выбрать «вставить внешнюю обработку...» и тогда она добавится в конфигурацию и будет доступна из модуля по коду «Обработки.НазваниеВашейОбработки».

Либо посмотреть на справочник внешних обработок и делать как у них - получать элемент справочника, считывать двоичные данные, скорее всего создавать временный файл, потом из него создавать обработку.

Либо использовать конструкцию ВнешниеОбработки.Создать(<ПолноеИмяФайла>, <БезопасныйРежим>), где в полное имя файла будет путем к файлу обработки. Но тогда у пользователя под которым работает сервер должен быть доступ к этому файлу.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы