Версия для печати темы (https://pro1c.org.ua/index.php?s=617b6feb310caa99653452121377b66c&showtopic=39899)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование управляемых форм 1С 8.2 _ как очистить сообщение на сервере

Автор: Gigi 31.08.17, 22:02

Всем привет!
Никто не подскажет как Очитить сообщения НА СЕРВЕРЕ
Есть функция

ОчиститьСообщения();

Но доступна только на клиенте ...

Буду очень очень очень очень оооооочень признателен!

Автор: Bernet 01.09.17, 5:48

Gigi @ Вчера, 23:02 * ,
А какие сообщения Вы на сервере хотите чистить? Сообщения это клиентская хрень, на сервере кому что показывать?

Автор: logist 01.09.17, 13:50

Цитата(Bernet @ 01.09.17, 6:48) *
на сервере кому что показывать?

Это матрица, Нео wink.gif

Автор: Gigi 01.09.17, 14:21

Bernet @ Сегодня, 5:48 * ,

Цитата(logist @ 01.09.17, 13:50) *
Это матрица, Нео

Только матрицу написать проще, чем очистить сообщение на сервере smile.gif
Цитата(Bernet @ 01.09.17, 5:48) *
Сообщения это клиентская хрень, на сервере кому что показывать?

Кому че показывать? .. да ладно ...
А если речь о выгрузке или загрузке большого объема данных?
в таком случае без сообщения или оповещения, согласитесь .. ну никак..
Поэтому мне нужно оповестить пользователя о проценте выполнения загрузки или выгрузки.
И дело в том, что тут я столкнулся ... гууу …… я приношу конечно извинения ... )) .... и со одной стороны мне действительно есть за что извиняться. Так как на этом сайте думаю я уже себя зарекомендовал )) ...Но с другой стороны, мое негодование объективно.. понимаю, что может со мной не согласны, но это просто белиберда .. и думаю это не субъективно, а я на самом деле прав. Поэтому я просто иногда прихожу в ярость. Че за … блин .. даже не знаю …
Сижу вчера … аж до поздно возился ... и так и не смог решить вопрос. И уже настолько достало, что чуть клавиатуру не долбанул по монитору. Ну геморрой чистейший .. Не работа, а просто нервотрепка.
Ладно опять извиняюсь за порывы и не совсем нужные разговоры.. хотя может и не так.. просто делюсь «позитивным» впечатлением ))
Ладно ближе к вопросу. …
Так вот, есть функция:
ПоказатьОповещениеПользователя(,,,)
я ее использовал на клиентской стороне.
Ну это с целью что то вроде загрузки данных из табличной части дока на сервер … типа того… Но при этом, загрузку нужно ждать. Так как объем документов не малый. Поэтому в цыкл вставил:
ПоказатьОповещениеПользователя("ЗАГРУЗКА - ВЫПОЛНЕНО: "+ПроцентВыполнения+"%" ,,,);

Вроде бы все нормально работает. Но это на клиенте.
Теперь в чем проблема. Проблема в то, что кроме этого нужно данные выгрузить в табличную часть. А это уже сторона сервера т.е. запрос.
Которая тоже требует времени как и загрузка. Тем более что большой объем.
И тут я хотел сделать так же. Сперва в процедуру вставить цикл подсчета строк выгрузки, уже после этого, цикл выгрузки данных с оповещением процента выполнения. Т.е. решил сделать как на клиенте.
И решив так что я вижу? … блиииин .. ПоказатьОповещениеПользователя оказывается только для клиента, а для сервера не работает.
Шарил в и-нете и наткнулся на функцию: ПолучитьСообщенияПользователю(); Но как только решил ее использовать для цели и начал искать инфу … гууу …. Чем больше искал тем, больше понимал, что получить оповещение процесса выполнения на сервере, это ЦЕЛАЯ ПРОБЛЕМА… о господи ….. http://pro1c.org.ua/redirect.php?http://expert.chistov.pro/public/573761/
http://pro1c.org.ua/redirect.php?https://helpf.pro/faq/view/1830.html
Натыкаешься на всякую инфу, со всем чем угодно, только не том, что нужно:
http://xn----1-bedvffifm4g.xn--p1ai/articles/%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4-%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B9-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8E/%20<a%20href="http://pro1c.org.ua/redirect.php?https://helpf.pro/faq82/view/1415.html&quot;"%20target="_blank">https://helpf.pro/faq82/view/1415.html&quot;</a>%5dhttp://xn----1-bedvffifm4g.xn--p1ai/articles%5b/url%5d%5burl=&quot;http://erpsolution.ru/forum/showthread.php?t=1087
прогресс бар … внешняя обработка .. блин .. целое дело
http://pro1c.org.ua/redirect.php?https://infostart.ru/public/157706/
http://pro1c.org.ua/redirect.php?http://expert.chistov.pro/public/573761/
Я просто замучился искать …искать … Прогресс бар … НайтиПоУникальномуИдентификатору(Идентификатор) … Все это хорошо, но нет времени во всем этом разбираться. И если честно не сильно и старался. Найду время и отдельно разберусь. А пока нужно, только вывести оповещение процесса выполнения запроса на сервере.
ВСЕГО ЛИШЬ ДА И ТОЛЬКО! Неужели разработчики 1С не могли сделать это всего лишь одной функцией. Так же просто как с функцией на клиенте: ПоказатьОповещениеПользователя(,,,). Неужели так не могли сделать разработчики. И неужели это было так трудно сделать .. а просто одурею.
Вместо этого, ЦЕЛЫЙ ГЕМ ….. фоновое задание … НайтиПоУникальномуИдентификатору и т.д. Неужели разработчикам 1С нельзя было все это прописать в функцию и весь этот гем объединить в одну простую встроенную функцию и все.
Поэтому нет времени разбираться.
И именно поэтому в итоги как решил сделать … что бы голову себе не забивать всем этим геморроем и избежать вникать во все это?
Просто тупо взять функцию
Сообщить()
и вставить в цыкл. И в цыкле запеременив «ПроцентВыполнения» дать сообщение с сервера:
Сообщить("ЗАГРУЗКА - ВЫПОЛНЕНО: "+ПроцентВыполнения+"%");
. И при этом в том же цыкле с каждым новым шагом тут же очищать все сообщения. Думал сделать так. Но для этого нужна функция очистки сообщений. Но мог ли я такое предположить, что функция ОчиститьСообщения(); оказывается работает только для клента… блиин ..
Я мог такое вообще предположить. Т.е. функция
Сообщить();
на сервере работает, без проблем. А
ОчиститьСообщения();
НЕ РАБОТАЕТ! ))
Дебилизм… извините но другого слова не нахожу.
Поэтому вчера аж допоздна возился и в итоги так и не смог решить ПРОСТУЮ ЗАДАЧУ! Вывести сообщение процента выполнения и ВСЕ!
ВСЕГО ЛИШЬ!
Вот и все что надо.
Приношу извинения за негодование и за такое подробное и длинное сообщение, но думаю меня правильно поймете .. рассчитываю на Ваше понимание. И просто я таким образом делюсь впечатлением. И с другой стороны это не совсем не нужные речи, а просто отзыв если угодно.
Вот и все дела.

Поэтому опять приношу извинения и прошу от Вас понимания и помощи.

Буду ОЧЕНЬ ОЧЕНЬ ОЧЕНЬ ОЧЕНЬ ПРИЗНАТЕЛЕН! smile.gifsmile.gif

Автор: sava1 01.09.17, 14:53

Цитата(Gigi @ 01.09.17, 15:21) *
нет времени разбираться.


А написать столько буков есть?

Автор: Gigi 01.09.17, 17:18

sava1 @ Сегодня, 14:53 * ,

Цитата(sava1 @ 01.09.17, 14:53) *
А написать столько буков есть?

Ладно smile.gif понимаю иронию .. вполне справедливую..
Столько букв потому. что накипело ... уже достало. И решил поделиться отзывом. А за одно чуть разгрузить накипевшее.
Время ... Искать в и-нете инфу и для аж до предела простой цели находить сложное решение похожее на чес правого левой рукой это уверяю вас гораздо больше времени занимает, чем написание этого сообщения.
Бывает аж весь день сидишь .. и он уходит на какую то ерунду.
Ладно.. все это просто впечатления, еще раз извиняюсь.... сам не люблю даже выходить на форум.. но приходиться.
Поэтому моя просьба остается в силе.
Пожалуйста подскажите как решить задачу?
И решить ее по максимуму легко и просто .. без написания кучи процедур для этого.
И возможно ли это для сервера, так же как для клиента.
Если да то как?
Рассчитываю на Ваше понимание и помощь.

И буду признателен!





Автор: logist 01.09.17, 19:34

Цитата(Gigi @ 01.09.17, 18:18) *
Столько букв потому. что накипело ... уже достало.

Зачем продолжаете заниматься этим... Не понятно.

Цитата(Gigi @ 01.09.17, 18:18) *
Если да то как?

Прямой ответ на вопрос - Нет. Пока нет, в будущих релизах платформы планируется возможность обращения к клиенту с сервера.
Поэтому, на данный момент у вас есть только один вариант - запустить фоновое задание и передать ему уникальный идентификатор (строку) адреса временного хранилища, в которое выполняемое задание будет помещать ваш "процент выполнения", а на клиенте периодически проверяя статус выполнения фонового задания, если оно еще выполняется, то читать из указанного адреса временного хранилища необходимую информацию (процент выполнения в данном случае)

Автор: Flexy 01.09.17, 21:45

Ооочень много букв. На сервере нет форм в явном виде, что бы отработал данный метод.
Вы наверное не очень понимаете архитектуру "клиент-сервер".

Если по делу, то имхо метода такая:
1. С клиента вызываете функцию на сервере, которая делает что-то и возвращает результат на клиента.
2. На клиенте получаете результат и обрабатываете его.
3. Если в процессе обработки результат нужно выводить/очищать сообщения на клиенте - используете для этого методы доступные на клиенте.

Реализацию процента выполнения процедуры/функции описали выше. Так же, можно посмотреть более детально, как это реализовано в БСП.

Цитата(sava1 @ 01.09.17, 14:53) *
Цитата(Gigi @ 01.09.17, 15:21)
нет времени разбираться.

А написать столько буков есть?

laugh.gif

Автор: Gigi 01.09.17, 22:14

Flexy @ Сегодня, 21:45 * ,
Ладно! Спасибо!
Попробую как описано. Если будут вопросы то опять продолжу тему.
и на этот раз ... ладно .. и вправду без этих откровений smile.gifsmile.gif
просто поймите .. достало уже .. Хочу по быстрому .. но достают эти мелкие пакости и капризы платформы. Где в целом супер, а в деталях явно не доработали.
Ладно! спасибо!

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua