Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

БГУ 2.0 не выводится сообщение пользователю

БГУ 2.0 не выводится сообщение пользователю
Я
   Cоляпсус
 
08.02.18 - 09:50
Здравствуйте, сложилась такая ситуация. Написал внешнюю обработку, при тестировании её через файл открыть, работает как положено,а именно: Перед тем как записать документ, проверяет ОС на уникальность и если такое есть, то посредством "Сообщить"выдаёт сообщение пользователю и возврат или если нет такого ОС, то соответственно отрабатывает дальше как положено. Но как только встраиваешь в конфигурацию, то работает вроде как положено, но сообщения перестают выдаваться. Весть текст обработки написан как на Сервере, понятно что  конфликт с клиентом, но додумать как исправить не выходит. Думал может вызвать какой общий модуль, но опять же хоть и твердят ищите встроенные механизмы, не придумывайте колесо заново, но не выходит "Каменный цветок"))
 
 
   Cоляпсус
 
1 - 08.02.18 - 10:01
Люди?
   Cоляпсус
 
2 - 08.02.18 - 10:26
И никто не может подсказать?
   Cоляпсус
 
3 - 08.02.18 - 10:43
Ну тук же...
   Cоляпсус
 
4 - 08.02.18 - 11:49
Что-то сегодня активность только в избранных темах
   catena
 
5 - 08.02.18 - 11:54
Обработка запускается пользователем? Собирайте пул сообщений и возвращайте в форму после выполнения. Посмтрите еще функцию ПолучитьСообщенияПользователю()
   Cоляпсус
 
6 - 08.02.18 - 12:02
Не совсем понял, что надо сделать
   catena
 
7 - 08.02.18 - 12:35
(6)Алгоритм у обработки какой? Пользователь нажимает кнопку -> вызывается серверная процедура?
   Малыш Джон
 
8 - 08.02.18 - 12:37
(0) Уважаемый Соляпсус) Ну детская тема, никто и не хочет возиться. Почти)
вот ссылочку открой:
http://bit.ly/2C3zA7I
там все распиано
   Cоляпсус
 
9 - 08.02.18 - 13:05
(6) Да вызывается серверная процедура, вот пойму как на клиенте отобразить сообщения. В саму конфу лезть не могу, она на поддержке, могу только в дополнительные обработки дополнять.
   Cоляпсус
 
10 - 08.02.18 - 13:06
(8) Тема может и детская, и статью эту я читал, но решить свою проблему у меня не получается, думал может кто подскажет как это решается
 
 Рекламное место пустует
   Cоляпсус
 
11 - 08.02.18 - 13:07
(9) * не пойму)
   catena
 
12 - 08.02.18 - 13:13
(9)Ну соберите все сообщения и верните после выполнения процедуры. Хоть параметром. А на клиенте покажите
   Cоляпсус
 
13 - 08.02.18 - 14:03
Вот как это сделать и не могу понять)
   Малыш Джон
 
14 - 08.02.18 - 15:34
(13)

&НаКлиенте
Процедура ПроцедураНаКлиенте(СписокСообщений)
 СписокСообщений = Новый СписокЗначений;
 ПроцедураНаСервере(СписокСообщений);
 Для Каждого СообщениеПользователю Из СписокСообщений
  Сообщить(СообщениеПользователю.Значение);
 КонецЦикла;
КонецПроцедуры

&НаСервере
Процедура ПроцедураНаСервере(СписокСообщений)

...
 НужноеСообщение = "блаблабла";
 СписокСообщений.Добавить(НужноеСообщение);
...
КонецПроцедуры
   timurhv
 
15 - 08.02.18 - 15:43
(0) При нажатии на "Записать" или "Провести" выводится, а если "Провести и закрыть" - ничего?
   Cоляпсус
 
16 - 08.02.18 - 15:50
(15) Ну там не совсем так, это обработка внешняя, но я её встраиваю в конфу и при выборе выполнения этой обработки, она отрабатывает, но не выводит сообщения.
http://prntscr.com/ibuuyg и http://prntscr.com/ibuvn4
и он отрабатывает механизм
   Cоляпсус
 
17 - 08.02.18 - 15:52
(14) сейчас попробую реализовать, спасибо большое 
за наводку
   Cоляпсус
 
18 - 08.02.18 - 15:54
(15) выводятся сообщения если я делаю в режиме отладки или как это правильно, при внешнем открытии через файл-открыть-... и так далее, (при тестировании) того что получилось
   Cоляпсус
 
19 - 08.02.18 - 16:13
(14) Я извиняюсь не всё ещё понимаю, но так не получается он выдаёт ошибку
Команда "Создание принятия к учету ОС" не выполнена:
Недостаточно фактических параметров

{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(2849)}: Недостаточно фактических параметров
            ВнешнийОбъект.ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения, ИзмененныеОбъекты, ПараметрыКоманды);
Оно и понятно потому что она (обработка) по параметрам обращиется к общему модулю и если я добавлю доп. параметр, то и получается эта ошибка(а конфу я править не могу), а если не добавлю, то будет переменная не определена.
   Cоляпсус
 
20 - 08.02.18 - 16:18
немного не понятно наверное написал:
если я добавлю доп. параметр в обработки, то и получается эта ошибка, а в общий модуль добавить доп параметр я не могу, т.к. конфу править не могу, только за счёт обработки
   Малыш Джон
 
21 - 08.02.18 - 16:30
(20) а куда ты параметр добавляешь?
   Малыш Джон
 
22 - 08.02.18 - 16:34
Я привел абстрактный пример, а ты его уже к своей ситуации приспосабливай
Общий смысл - ты передаешь параметр в процедуру на сервере, там - заполняешь его сообщениями, потом - параметр возвращается на клиент и на клиенте выводятся сообщения из этого параметра, это самый примитивный способ.
   Cоляпсус
 
23 - 08.02.18 - 16:35
Ну в моей обработке есть процедура, куда я весь механизм записал и туда пробовал добовлять
// ФУНКЦИОНАЛЬНАЯ ЧАСТЬ

Процедура  ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения, СозданныеОбъекты, ПараметрыВыполненияКоманды,СписокСообщений) Экспорт
   Cоляпсус
 
24 - 08.02.18 - 16:37
(22) Да это я понял, и пробовал )) приспособить, оказался пока - не приспособляемый)
   Малыш Джон
 
25 - 08.02.18 - 16:40
(23) А туда то зачем?
это твой внутренний параметр,который используется только внутри процедуры ВыполнитьКоманду(). Он внутри этой процедуры передается в серверную процедуру и внутри этой же процедуры потом используется. Всё. дальше он не нужен. Зачем его в список параметров самОй процедуры добавлять?
   Cоляпсус
 
26 - 08.02.18 - 16:48
Ахха, понятно спасибо сейчас попробую
   evorle145
 
27 - 08.02.18 - 16:53
ох уж эти бюджетники-программисты))
   Cоляпсус
 
28 - 08.02.18 - 16:57
(27)согласен ох эти бюджетники программисты, одни хлопоты с ними, такая у нас участь))
   evorle145
 
29 - 08.02.18 - 16:59
(28) мой первый год работы был как раз с бюджетниками) весело было... я нифига не знал и они чего не понимали=)
Удачи в начале пути! налегайте на матчасть, а не только о деньгах думайте, это поможет потом)
   Cоляпсус
 
30 - 08.02.18 - 17:00
(25) Сообщение должно отрабатываться после 
Если РезультатЗапроса.Пустой() Тогда
Сообщение
Если я не добавлю параметр, то не будет понятно когда отрабатывать, если добавлю получу ошибку, если отдельную ещё процедуру, то опять же не понятно когда ей отрабатывать.
   Cоляпсус
 
31 - 08.02.18 - 17:01
(29) Скажу по секрету, денег вообще не в этот раз или не в этой фирме, собираю опыт, потом лучше будет, скажем так, альтруизм на перспективу)))
   Cоляпсус
 
32 - 08.02.18 - 17:11
(29) и тем более можно помочь, я конечно не всё, но что-то понимаю)
   Cоляпсус
 
33 - 08.02.18 - 17:12
А вот с этим справится пока не получается
 
 
   Cоляпсус
 
34 - 09.02.18 - 11:33
Подниму тему всё-таки ещё разок. А то решения так и не случилось, уж извините
Написал внешнюю обработку, при тестировании её через файл открыть, работает как положено,а именно: Перед тем как записать документ, проверяет ОС на уникальность и если такое есть, то посредством "Сообщить"выдаёт сообщение пользователю и возврат или если нет такого ОС, то соответственно отрабатывает дальше как положено. Но как только встраиваешь в конфигурацию, то работает вроде как положено, но сообщения перестают выдаваться. Весть текст обработки написан как на Сервере, понятно что  конфликт с клиентом, что надо передать на клиент, но параметр вписать не могу, так как обработка обращается к общему модулю и там определённое количество параметров, иначе ошибка, или если без параметра, то переменная не определена. Вот тут я и застрял, не могу справится.
Очень заранее благодарен
   catena
 
35 - 09.02.18 - 11:44
С формы обработки вызываешь модуль обработки со всеми параметрами+параметр для сообщений. В модуле вызываешь свой модуль. После того, как он отработает, собираешь сообщения, как написано в (14) в свой параметр. На клиенте выводишь сообщения из параметра.
   Cоляпсус
 
36 - 09.02.18 - 12:18
(35) У обработки нет формы. Чтобы собрать сообщения в параметр его нужно куда-то записать. А сделать я этого не могу так как
Процедура  ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения, СозданныеОбъекты, ПараметрыВыполненияКоманды)
ссылается на общий модуль         ВнешнийОбъект.ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения, ИзмененныеОбъекты, ПараметрыКоманды), а конфу я править не могу, вот так, ну или я всё ещё не представляю что нужно сделать


Список тем форума
Рекламное место пустует  Рекламное место пустует
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует