Языки программирования > 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-пользователю?

Навигация

[0] Главная страница сообщений

Перейти к полной версии