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

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

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

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

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