Имя: Пароль:
1C
 
8.2 как на сервере задать вопрос пользователю?
0 lanc2233
 
16.04.10
01:41
Хочу в ПослеЗаписи элемента справочника, который выполняется на сервере, задать вопрос пользователю.

такой код не фурычит
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Вопрос("типа вопрос?", Режим, 0);

Как его можно задать?
1 Чайник Рассела
 
16.04.10
01:51
позвонить в серверную. не?
2 tridog
 
16.04.10
01:56
Никак. С сервера низя ничего сделать с клиентом, даже вызвать клиентскую функцию из серверной. Клиент запрашивает - сервер отвечает. Клиент показывает, задает вопросы - сервер вычисляет, делает выборки, движения. И никак иначе.

(1) Тогда уж ИЗ серверной :-d
3 France
 
16.04.10
02:01
(0) можно спросить - зачем?
4 lanc2233
 
16.04.10
02:16
(3) Спросить, создавать-ли договор для этого контрагента
5 lanc2233
 
16.04.10
02:18
(2) сообщение-же можно выдать
Сообщение = Новый СообщениеПользователю();
6 France
 
16.04.10
02:21
т.е, проверить, есть ли договор, если нет, то спросить?
а ты до спроси "нет договора, не угодно ли создать" и передай рез на сервер.
7 MaxS
 
16.04.10
07:10
Пока 1=1 Цикл
 Beep();
КонецЦикла

Или разместить вопрос в форме элемента  перед записью
8 Chai Nic
 
16.04.10
07:15
Величайшей ошибкой 1с было объединение парадигм тонкого и веб-клиента..
9 xReason
 
16.04.10
07:35
А всего то надо было в 1С добавить нормальные события и все бы работало.

К сервер инициируется событие, которое ловиться на клиенте

а так сейчас можно с сервера послать простое сообщение на клиента
10 detec
 
16.04.10
07:40
(0)

ИМХО, вы переписываете свою нетленку с 8.1 на 8.2? Придётся полностью переделать архитектуру согласно (2).

Сам с этим сталкивался, поправимо.
11 Armando
 
16.04.10
07:53
Что-то я не понял. Автоматическое создание процедуры создается с директивой '&НаКлиенте', а в СП следующее:
Описание:
Возникает на сервере после записи объекта, и после окончания транзакции записи, то есть к моменту вызова этой процедуры запись объекта полностью завершена.

Ключевое слово 'Возникает на сервере', или что-то путаю?
12 Armando
 
16.04.10
07:54
+(11) это я про событие 'ПослеЗаписи', просто тоже интересно стало.
13 lanc2233
 
16.04.10
11:30
(12) автоматически создается с директивой НаСервере

(10) не понял, строить архитектуру так чтобы пользователю вопросы не задавать после записи элемента?
14 AlexNew
 
16.04.10
11:45
(13) Какие вопросы когда все закончилось?
15 H A D G E H O G s
 
16.04.10
11:50
&НаСервере
Процедура СоздатьДоговор()
   НовыйЭлемент=Справочники.ДоговорыКонтрагентов.СоздатьЭлемент();
   НовыйЭлемент.Владелец=Объект.Ссылка;
   НовыйЭлемент.Наименование="Создан "+ТекущаяДата();
   НовыйЭлемент.Записать();
КонецПроцедуры

&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
   Если НЕ Объект.Ссылка.Пустая() Тогда
       Если Вопрос("Создать?",РежимДиалогаВопрос.ДаНет)=КодВозвратаДиалога.Да Тогда
           СоздатьДоговор();
       КонецЕсли;
   КонецЕсли;
КонецПроцедуры
16 H A D G E H O G s
 
16.04.10
11:51
(11) Умейте пользоваться СП.
17 H A D G E H O G s
 
16.04.10
11:52
(11) Вы перепутали:

Расширение управляемой формы для объектов (Managed form extension for objects)
ПослеЗаписи (AfterWrite)

c

Расширение формы элемента справочника (Catalog item form extension)
ПослеЗаписи (AfterWrite)
18 H A D G E H O G s
 
16.04.10
11:53
(14) Умейте читать, что пишут собеседники.

<<?    lanc2233

4 - 16.04.10 - 02:16
«   »   х   +      (3) Спросить, создавать-ли договор для этого контрагента>>
19 AlexNew
 
16.04.10
12:00
(18) Я к тому, что это надо выяснить перед.
20 H A D G E H O G s
 
16.04.10
12:01
(19) Пез разницы.
Позже - даже правильнее.
Сам контрагент мог и не записаться.
21 AlexNew
 
16.04.10
12:03
(20) Я так думаю, что перед тем как начать, ты должен знать что собираешься сделать.
22 H A D G E H O G s
 
16.04.10
12:10
(21) Помоему, ты в суть задачи не въехал.
Можешь ее пересказать?
23 AlexNew
 
16.04.10
12:16
(22) Думаю ты не въехал, ну ответит пользователь - нет, у него останется пустой договор? Ты еще после проведения скажи "Получились отрицательные остатки! Отменить проведение?"
24 H A D G E H O G s
 
16.04.10
12:17
(23) Ответит пользователь - нет - договор не создастся. И?
25 H A D G E H O G s
 
16.04.10
12:19
(23) Идет редактирование / создание контрагента.
После записи контрагента пользователю еще предлагают
"А не хотите еще и договор завести.".

Пользователь отвечает - "Нафиг, нафиг, задрали спамеры".
Договор не создается.
Все счастливы.
26 AlexNew
 
16.04.10
12:22
(25) Зачем после записи, если он и без него создасться? В другом месте.
27 H A D G E H O G s
 
16.04.10
12:23
(26) Где?
28 Вуглускр1991
 
16.04.10
12:26
Если ситуация такая трудная, что надо спросить пользователя, то почему пользователь должен отвечать только "да". Напоминает известный вопрос для представительниц женской половины человечества, когда правильный ответ "да", но зачем-то надо спросить, а если нет то "не знаю что тогда".
29 AlexNew
 
16.04.10
12:28
(27) Смотря где он создается. Зачем в ПослеЗаписи()? Записал, потом спрашивай.
30 H A D G E H O G s
 
16.04.10
12:30
(29) Прочитай еще раз
ВНИМАТЕЛЬНО
(25)
31 AlexNew
 
16.04.10
12:31
(30) Подумай еще раз ВНИМАТЕЛЬНО зачем???
32 H A D G E H O G s
 
16.04.10
12:33
(31) Что зачем? Зачем договор создавать?
33 AlexNew
 
16.04.10
12:37
Зачем каждый раз откуда бы контрагент не создавался задавать вопрос?
34 H A D G E H O G s
 
16.04.10
12:40
(33) Это ты не у меня, это ты у автора спроси.
Ему так надо.

И - не каждый раз - а только, когда интерактивно, в форме создается.
И - не только создается, но и изменяется.
35 H A D G E H O G s
 
16.04.10
12:42
(33) У вас - плохо с коммутацией.
Мне - трудно с вами общаться.
Попрошу вас - более подробно расписывать ход ваших мыслей.
36 AlexNew
 
16.04.10
12:47
(34) Где написано интерактивно?
37 H A D G E H O G s
 
16.04.10
12:52
(36) Потому что, Обычно, в НЕ интерактивном режиме, никаких вопросов - не Задают.
За это по рукам табуреткой бьют.
Ибо на каждый "неинтерактивный" вопрос есть своя "Групповая обработка справочников и документов"
38 AlexNew
 
16.04.10
12:53
(37) Помнишь анекдот про прапорщика? Тов. прапорщик я ж вам сразу так и сказал.
2 + 2 = 3.9999999999999999999999999999999...