Автор Тема: Как получать сообщения из 1С:Предприятие  (Прочитано 5987 раз)

0 Пользователей и 1 Гость просматривают эту тему.

iPRG Team

  • Administrator
  • Full Member
  • *****
  • Сообщений: 188
    • Просмотр профиля
Re: Как получать сообщения из 1С:Предприятие
« Ответ #4 : 02 Июль 2009 Четверг 13:49:50 »
Все правильно, в этой функции mainPanel_OKCommand надо делать обработку ошибок, только после всех обработок ошибок, если нужно сохранить данные, нужно вызвать: mainPanel.doOK();
Пример:

Код: 
 protected void mainPanel_OKCommand(object source, CommandEventArgs e)
{
//Тут обработка ошибок и т.п.

if (ЕстьОшибки == True)
{
//Ничего не делаем, данные не сохранятся
}
else //Если нет ошибок
{
mainPanel.doOK();
}
}

mugg

  • Newbie
  • *
  • Сообщений: 26
    • Просмотр профиля
Re: Как получать сообщения из 1С:Предприятие
« Ответ #3 : 02 Июль 2009 Четверг 13:48:47 »
А вы в каком событии сделали вызов функции для чтения ошибок?
Я пытаюсь привязать к событию "OKCommand" объекта mainPanel. У меня в коде создалась функция
protected void mainPanel_OKCommand(object source, CommandEventArgs e)
Но он в эту функцию не заходит!

iPRG Team

  • Administrator
  • Full Member
  • *****
  • Сообщений: 188
    • Просмотр профиля
RE: Как получать сообщения из 1С:Предприятие
« Ответ #2 : 02 Июль 2009 Четверг 13:48:11 »
Думаю тут только свою процедуру вывода сообщений прийдется написать, например СообщитьWEB(строка).
И в документе требование накладная везде заменить стандартную "Сообщить" на твою "СообщитьWEB".
А в функции СообщитьWEB сделать стандартный вывод в окно сообщений, для тех кто в 1С работает и
дублировать все сообщения в строковую глобальную переменную которую потом передашь из 1С в WEB.

Например:
Функция 1с которая запускается через WEB
СообщенияWEB=""; //Обнуляем глобальную переменную

выполняем какие-то действия с 1С и там где есть наша процедура СообщитьWEB(строка), она
будет пополнять переменную "СообщенияWEB" сообщениями.

Возврат СообщенияWEB;

КонецФункции

а уже в ASP.NET запускаешь функцию "1с которая запускается через WEB", если пустая строка возвратилась
то все ОК, если не пустая, выводишь все сообщения которые в ней есть. И сам уже сможешь контролировать,
какие сообщения выводить в WEB, а какие нет.

А стандартную комманду "Сообщить" переопределить никак не получится.

mugg

  • Newbie
  • *
  • Сообщений: 26
    • Просмотр профиля
Как получать сообщения из 1С:Предприятие
« Ответ #1 : 02 Июль 2009 Четверг 13:47:30 »
Скажем, через web пользователь вводит документ требование накладная, и пытается списать количество большее, чем есть на складе. В 1С можно сказать ему об этом с помощью функции Сообщить(), но при работе через web выдается только "Операция не выполнена!". А хотелось бы, чтобы ему указывалось, что именно неправильно сделано (какой реквизит не заполнен, в какой строке ТЧ ошибка, и т.д.)
Можно как-то направить вывод сообщений 1С web-пользователю?