Языки программирования > WEB-Расширение для "1С:Предприятие 8.0, 8.1" (v8)
Как получать сообщения из 1С:Предприятие
(1/1)
iPRG Team:
Все правильно, в этой функции mainPanel_OKCommand надо делать обработку ошибок, только после всех обработок ошибок, если нужно сохранить данные, нужно вызвать: mainPanel.doOK();
Пример:
Код:
protected void mainPanel_OKCommand(object source, CommandEventArgs e)
{
//Тут обработка ошибок и т.п.
if (ЕстьОшибки == True)
{
//Ничего не делаем, данные не сохранятся
}
else //Если нет ошибок
{
mainPanel.doOK();
}
}
mugg:
А вы в каком событии сделали вызов функции для чтения ошибок?
Я пытаюсь привязать к событию "OKCommand" объекта mainPanel. У меня в коде создалась функция
protected void mainPanel_OKCommand(object source, CommandEventArgs e)
Но он в эту функцию не заходит!
iPRG Team:
Думаю тут только свою процедуру вывода сообщений прийдется написать, например СообщитьWEB(строка).
И в документе требование накладная везде заменить стандартную "Сообщить" на твою "СообщитьWEB".
А в функции СообщитьWEB сделать стандартный вывод в окно сообщений, для тех кто в 1С работает и
дублировать все сообщения в строковую глобальную переменную которую потом передашь из 1С в WEB.
Например:
Функция 1с которая запускается через WEB
СообщенияWEB=""; //Обнуляем глобальную переменную
выполняем какие-то действия с 1С и там где есть наша процедура СообщитьWEB(строка), она
будет пополнять переменную "СообщенияWEB" сообщениями.
Возврат СообщенияWEB;
КонецФункции
а уже в ASP.NET запускаешь функцию "1с которая запускается через WEB", если пустая строка возвратилась
то все ОК, если не пустая, выводишь все сообщения которые в ней есть. И сам уже сможешь контролировать,
какие сообщения выводить в WEB, а какие нет.
А стандартную комманду "Сообщить" переопределить никак не получится.
mugg:
Скажем, через web пользователь вводит документ требование накладная, и пытается списать количество большее, чем есть на складе. В 1С можно сказать ему об этом с помощью функции Сообщить(), но при работе через web выдается только "Операция не выполнена!". А хотелось бы, чтобы ему указывалось, что именно неправильно сделано (какой реквизит не заполнен, в какой строке ТЧ ошибка, и т.д.)
Можно как-то направить вывод сообщений 1С web-пользователю?
Навигация
Перейти к полной версии