Имя: Пароль:
1C
1С v8
Оповещение пользователя из серверной процедуры
, , ,
0 r_p
 
27.11.13
16:06
Доброго времени суток. В документе есть предопределенная процедура ПриКопировании. Это самое копирование я запрещаю делать неразумным усерам и не даю создать документ. Надо как-то передать сообщение на клиент, чтобы пользователь узнал что он не прав. Как это сделать?
1 Defender aka LINN
 
27.11.13
16:10
Сообщить.
Но вообще, тут большой вопрос - кто именно неразумный.
2 r_p
 
27.11.13
16:10
Вангую что это сделать нельзя, ибо 1С не умеет сокеты, но все же...
3 r_p
 
27.11.13
16:11
(1) Обоснуйте почему я неразумный
4 Defender aka LINN
 
27.11.13
16:14
(3) А потому что не твое дело, как именно юзверь документ вводит. Если, скажем, какие-то реквизиты должны быть уникальны - ну и очищай их при копировании, делов-то.
5 r_p
 
27.11.13
16:18
(4) Вы знаете специфику моей конфигурации? Тогда да, ваш вариант лучше.
6 etc
 
27.11.13
16:19
(5) проясни почему нельзя копировать но можно добавлять новый?
7 Defender aka LINN
 
27.11.13
16:20
(5) Зачем мне это знать? Есть документ. Его добавляет пользователь. КАКАЯ тебе разница - как он это делает?
8 Wobland
 
27.11.13
16:20
(6) а новый можно?
9 etc
 
27.11.13
16:21
(5) перевожу (4) - некорректно выбрана точка проверки на копирование
10 zladenuw
 
27.11.13
16:21
(0) ПолучитьСообщенияПользователю()

Описание:

Получает массив объектов СообщениеПользователю, которые еще не были выведены пользователю.
Такое может происходить при работе в регламентных заданиях, на стороне сервера или в Web-сервисах.
11 etc
 
27.11.13
16:21
(8) телепатирую что да
12 Wobland
 
27.11.13
16:22
(11) может у него там документы прилетают извне
13 Maxus43
 
27.11.13
16:22
УФ или нет?
в УФ "СообщениеПользователю", в обычном толстом это делается на клиенте, а не сервере
14 r_p
 
27.11.13
16:24
(9) Вот с этим скорей всего согласен. Пробовал сделать через подписку, но там, естественно, не получается запретить открытие формы документа.
15 etc
 
27.11.13
16:24
(12) тоже вариант
16 r_p
 
27.11.13
16:25
(12) Угадали! Убирать везде кнопку "Копировать" тоже не хочу.
17 etc
 
27.11.13
16:25
(14) как вариант в форме ПриОткрытии(Отказ)
18 r_p
 
27.11.13
16:27
При копировании все отлично срабатывает, документы не создаются, но и сообщения тоже не видно. ПриОткрытии будет тоже самое.
19 Maxus43
 
27.11.13
16:28
ПриОткрытии

Если ПараметрОбъектКопирования = Неопределено ТОгда
//ничо не копирует, даём печеньку
20 etc
 
27.11.13
16:30
(18) ПриОткрытии вообще-то на клиенте срабатывает. Там хочешь "Предупреждение()", хочешь "Сообщить()".
21 hhhh
 
27.11.13
16:33
(20) в ПриОткрытии нет отказа. Приходится в ПриСозданииНаСервере делать.
22 Maxus43
 
27.11.13
16:34
(21) ты стелепатил про УФ?
23 Wobland
 
27.11.13
16:35
(22) Надо как-то передать сообщение на клиент
24 etc
 
27.11.13
16:36
(21) в обычных формах нет, в УФ есть.
25 y88
 
27.11.13
16:37
УФ

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    // запрет копирования
    Если Параметры.Свойство("ЗначениеКопирования") Тогда
        Если НЕ Параметры.ЗначениеКопирования.Пустая() Тогда
            
            Сообщить("Копирование запрещено. Операция прервана");
            Отказ = Истина; СтандартнаяОбработка = Ложь;
            
        КонецЕсли;
    КонецЕсли;
26 hhhh
 
27.11.13
16:38
(23) по названию темы сориентировался "Оповещение пользователя из серверной процедуры"
27 Wobland
 
27.11.13
16:39
(24) врёшь же
28 Wobland
 
27.11.13
16:39
(27) сторно
29 y88
 
27.11.13
16:41
ПриОткрытии(<Отказ>)
Параметры:

<Отказ>

Тип: Булево.
Признак отказа от открытия формы. Если в теле процедуры-обработчика установить данному параметру значение Истина, то открытие формы произведено не будет.
Значение по умолчанию: Ложь
Описание:

Возникает на клиенте при открытии формы, до показа окна пользователю.
30 Fragster
 
модератор
27.11.13
16:41
(16) >Убирать везде кнопку "Копировать" тоже не хочу.
а f9 тоже везде выламывать будешь?

а по сабжу согласен с Defender aka LINN , либо мы вообще запрещаем интерактивный ввод, либо даем пользователю делать то, что ему надо.
31 etc
 
27.11.13
16:44
(30) порой желание клиента подкрепленное деньгами оказывается более весомым. Поэтому тут проще понять и простить.
32 Fragster
 
модератор
27.11.13
16:56
(31) ну за деньги можно и код повставлять.... конечно можно поэкспериментировать с правом "Интерактивное добавление", но тут нет гарантии...
33 Fragster
 
модератор
27.11.13
16:57
"Интерактивное добавление" - это к тому, что оно все равно извне прилетает с обмено
34 Fragster
 
модератор
27.11.13
16:57
м
35 r_p
 
27.11.13
17:02
(25) Спасибо добрый человек. Взял и помог. Без вопросов и упреков.