Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> ошибка при запуске внешней обработки          
gash Подменю пользователя
сообщение 13.11.12, 16:34
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

1С:Предприятие 8.2 (8.2.15.301). Пишу внешнюю обработку.
При запуске внешней обработки путем "файл/открыть" при старте работы обработки выдает ошибку:
{Форма.ФормаУпр.Форма(30)}: Ошибка при вызове метода контекста (ПоказатьБаланс)
Баланс = ПоказатьБаланс(чек, ЛогСайт, ПасСайт, КодКл);
по причине:
Неизвестный идентификатор формы

Если эту обработку загрузить в конфигуратор, то все отрабатывает как надо. Подскажите, пожалуйста, в чем дело?


&НаКлиенте
Процедура ПолучитьБаланс(Команда)        
    чек = "Баланс";
    Макет = ПолучитьОбоработку(чек);
    форма = ПолучитьФорму("ВнешняяОбработка.ЗагрузкаБалансаССайта.Форма.ФормаЛогинСайтУпр");
    форма.ОткрытьМодально();
    ЛогСайт = форма.Объект.ЛогинСайт;
    ПасСайт = форма.Объект.ПарольСайт;
        КодКл= форма.Объект.КодКлиента;
    
    Баланс = ПоказатьБаланс(чек, ЛогСайт, ПасСайт, КодКл);

КонецПроцедуры

&НаСервере
Функция ПолучитьОбоработку(чек)
    Обработка = ВнешниеОбработки.Создать("ЗагрузкаБалансаССайта_82_управляемое.epf");
    Если чек = "Фактуры" Тогда
        Макет = Обработка.ПолучитьМакет("МакетФактуры");
    Иначе
        Макет = Обработка.ПолучитьМакет("МакетТранзакции");
    КонецЕсли;
    Возврат Макет;
КонецФункции

&НаСервере
Функция ПоказатьБаланс(чек, ЛогСайт, ПасСайт, КодКл)
    
    НашОбъект = РеквизитФормыВЗначение("Объект");
    
    ИмяФайла = НашОбъект.КоннектСайт(чек,,ДатаПо, ЛогСайт, ПасСайт, КодКл);
    
    Чтение = Новый ЧтениеXML;
    Чтение.ОткрытьФайл(ИмяФайла);
....
КонецФункции

Sharki Подменю пользователя
сообщение 15.11.12, 15:36
Сообщение #2

Общительный
**
Группа: Пользователи
Сообщений: 47
Спасибо сказали: 12 раз
Рейтинг: 0

Цитата(gash @ 13.11.12, 16:34) *
    
форма.ОткрытьМодально();
    ЛогСайт = форма.Объект.ЛогинСайт;
    ПасСайт = форма.Объект.ПарольСайт;
        КодКл= форма.Объект.КодКлиента;
    
    Баланс = ПоказатьБаланс(чек, ЛогСайт, ПасСайт, КодКл);


Осмелюсь предположить что этот кусок кода является проблемой, поскольку вы пытаетесь передать на сервер реквизиты объекта формы. Попробуйте возвращать структуру после закрытия формы, т.е. использовать другой вариант получения информации. Или еще вариант сделать так:
    
форма.ОткрытьМодально();
    ЛогСайт = Строка(форма.Объект.ЛогинСайт);
    ПасСайт = Строка(форма.Объект.ПарольСайт);
        КодКл= Строка(форма.Объект.КодКлиента);
    
    Баланс = ПоказатьБаланс(чек, ЛогСайт, ПасСайт, КодКл);


чтобы отвязаться от реквизитов объектов.

сорри за отсутствие тегов кода.. кривое цитирование получилось

Сообщение отредактировал Vofka - 15.11.12, 15:36

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.04.24, 1:11
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!