|
Подписка на событие | ☑ | ||
---|---|---|---|---|
0
Gusarm
17.01.14
✎
16:30
|
Есть подписка на событие проведения документа. Распологается в общем модуле (Клиент, сервер). Почему нельзя использовать функцию РежимДиалогаВопрос в подписке на событие?
|
|||
1
Maxus43
17.01.14
✎
16:31
|
можно, в обычном приложении. У тебя наверняка УФ, там только на сервере
|
|||
2
Maxus43
17.01.14
✎
16:32
|
надо обрамить это ещё #Если ТолстыйКлиентОбычноеПриложение Тогла
|
|||
3
Gusarm
17.01.14
✎
16:32
|
обычное приложение. УПП
|
|||
4
zladenuw
17.01.14
✎
16:32
|
(0) а зачем там ? все операции нужно делать до записи
|
|||
5
Gusarm
17.01.14
✎
16:33
|
Ошибся. ПередЗаписью нового элемента спраочника
|
|||
6
Maxus43
17.01.14
✎
16:33
|
(3) тогда см (2)
|
|||
7
Maxus43
17.01.14
✎
16:33
|
пофиг. в клиент-серверных модулях надо разделять контекст выполнения диалоговых плюшек
|
|||
8
alexbosh
17.01.14
✎
16:34
|
Есть суровая рекомендация - не спрашивать в диалогах при проведениях документов. Это главная ошибка программеров. Все вопросы до проведения!
|
|||
9
Gusarm
17.01.14
✎
16:35
|
(8) Запись справочника. Не туда посмотрел. Просто делал кучу подписок, вынося лишний код из модуля объекта.
|
|||
10
Gusarm
17.01.14
✎
16:36
|
(7) Так значит мой ДиалогВопрос будет проигнорирован
|
|||
11
Maxus43
17.01.14
✎
16:38
|
(10) Если запись будет идти на сервере. В обычном приложении это всегда происходит на клиенте, если специально ничего не мутить
|
|||
12
Maxus43
17.01.14
✎
16:38
|
в обычном приложении даже обработка проведения на клиенте, что уж говорить о ПередЗаписью...
|
|||
13
Asmody
17.01.14
✎
16:39
|
(0) потому что эти события будут работать не только в интерактивном режиме
|
|||
14
Gusarm
17.01.14
✎
16:40
|
(12) ТО есть ДиалогВопрос должен работать без дополнительных телодвижений?
|
|||
15
Maxus43
17.01.14
✎
16:41
|
(14) чтобы не было ошибок только надо сделать (2)
|
|||
16
Gusarm
17.01.14
✎
16:43
|
(15) только получается, что все, что будет у меня заключено между #Если ТолстыйКлиентОбычноеПриложение и #КонецЕсли будет проигнорировано, т.к. сейчас выдает ошибку
|
|||
17
Maxus43
17.01.14
✎
16:47
|
(16) да, будет проигнорировано. Дак кому ты на сервере вопрос задать хочешь? никто не увидит.
Что за ошибка? |
|||
18
Gusarm
17.01.14
✎
16:50
|
(17) Функция не обнаружена.
Модуль же еще разрешает "Использование в клиенте обычного приложения". Только видим он сначала пытается выполнить это на сервере? |
|||
19
Maxus43
17.01.14
✎
16:52
|
(18) у тебя юзер в каком режиме работает? в УФ небось, врёшь ты про обычное.
Неважно что разрешает модуль, важно в каком контексте вызывается процедура |
|||
20
Gusarm
17.01.14
✎
16:54
|
УПП 1.3
Толстый клиент Обычное приложение О каком вранье можно говорить)))) |
|||
21
Адский плющ
17.01.14
✎
16:54
|
В этом и есть преимущество УФ - оно не позволит такой давнокод написать, как обычное.
|
|||
22
Gusarm
17.01.14
✎
16:55
|
(21) - см. (20)
|
|||
23
Maxus43
17.01.14
✎
16:55
|
(20) в обычном приложении бы не ругалось, у меня так половина подписок работает
|
|||
24
Адский плющ
17.01.14
✎
16:55
|
Пятнично
|
|||
25
Gusarm
17.01.14
✎
16:58
|
Процедура gsrКонтрагентыПередЗаписьюПередЗаписью(Источник, Отказ) Экспорт
#Если ТолстыйКлиентОбычноеПриложение Если Отказ тогда Возврат; КонецЕсли; Если Источник.ЭтоНовый() и Источник.ЭтоГруппа=Ложь Тогда Режим = РежимДиалогаВопрос.ДаНет; Ответ = Вопрос("Вы уверены в правильности введенной информации? Текущий пользователь будет записан как автор этого контрагента!", Режим); Если Ответ = КодВозвратаДиалога.Нет Тогда Отказ = Истина; Иначе Источник.gsrАвтор=глЗначениеПеременной("глТекущийПользователь"); КонецЕсли; КонецЕсли; #КонецЕсли КонецПроцедуры |
|||
26
Maxus43
17.01.14
✎
16:58
|
#Если ТолстыйКлиентОбычноеПриложение Тогда
|
|||
27
Gusarm
17.01.14
✎
16:58
|
Не то (25)
Процедура gsrКонтрагентыПередЗаписьюПередЗаписью(Источник, Отказ) Экспорт Если Отказ тогда Возврат; КонецЕсли; Если Источник.ЭтоНовый() и Источник.ЭтоГруппа=Ложь Тогда Режим = РежимДиалогаВопрос.ДаНет; Ответ = Вопрос("Вы уверены в правильности введенной информации? Текущий пользователь будет записан как автор этого контрагента!", Режим); Если Ответ = КодВозвратаДиалога.Нет Тогда Отказ = Истина; Иначе Источник.gsrАвтор=глЗначениеПеременной("глТекущийПользователь"); КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
28
Maxus43
17.01.14
✎
16:59
|
Если Отказ тогда
Возврат; КонецЕсли; #Если Клиент Тогда |
|||
29
Gusarm
17.01.14
✎
16:59
|
что я делаю не так.
У модуля стоят галочки Клиент и Сервер. И ещё Вызов сервера |
|||
30
Gusarm
17.01.14
✎
17:00
|
(28) ??
|
|||
31
Maxus43
17.01.14
✎
17:04
|
вместо #Если ТолстыйКлиентОбычноеПриложение Тогда пробуй
#Если Клиент Тогда платформа какая? покажи код в котором присходит ошибка, в (27) у тебя нет #Если |
|||
32
hhhh
17.01.14
✎
17:06
|
(30) ну нельзя на сервере задавать вопросы. Читай (17)
|
|||
33
Gusarm
17.01.14
✎
17:13
|
(31) Вопрос снят. Всем спасибо.
|
|||
34
hhhh
17.01.14
✎
17:18
|
(33) файловая УПП что ли?
|
|||
35
Gusarm
17.01.14
✎
17:21
|
(33) Нефига не снят
Ошибка то вылезла при проведении ТребованияНакладной, оторую вообще не трогал. и Вылезли ошибки {ОбщийМодуль.gsr_ОбщийМодульКлиентСервер.Модуль(464,11)}: Процедура или функция с указанным именем не определена (Вопрос) Ответ = <<?>>Вопрос("Вы уверены в правильности введенной информации? Текущий пользователь будет записан как автор этого контрагента!", Режим); {ОбщийМодуль.gsr_ОбщийМодульКлиентСервер.Модуль(398,9)}: Процедура или функция с указанным именем не определена (ВвестиЧисло) Если <<?>>ВвестиЧисло(Количество, "Введите количество", 2, 0) Тогда Это код из подписки, которая никак не связана с документом |
|||
36
Gusarm
17.01.14
✎
17:22
|
(34) Клиент-сервер
|
|||
37
hhhh
17.01.14
✎
17:24
|
(35) про синтаксический контроль модуля слышал? Модуль целиком контролируется.
|
|||
38
Gusarm
17.01.14
✎
17:25
|
(37) синтаксический контроль модуля в рамках СЕРВЕРА?
|
|||
39
Maxus43
17.01.14
✎
17:25
|
(35) ещё раз, все Интерактивные вещи обрамляй #Если Клиент Тогда, почему не понятно то?
|
|||
40
Gusarm
17.01.14
✎
17:25
|
в коде ошибок нет
|
|||
41
Maxus43
17.01.14
✎
17:26
|
(38) конфигурация - проверка конфигурации - галки Сервер, Клиент (обычное приложение, режим Клиент-Сервер)
|
|||
42
hhhh
17.01.14
✎
17:27
|
(38) ну да. Сервер берет модуль, проверяет его на синтаксис. Это же элементарно.
видит в нем идиотскую функцию ВвестиЧисло выдает ошибку. Вы эти все функции обозначьте #Если Клиент Тогда |
|||
43
Gusarm
17.01.14
✎
17:29
|
(42) (41) (39)
Все разобрался. Я не понимал сначала, почему не ругается на метод Сообщить в других подписках. Там вроде тоже некому сообщать, как и спрашивать ДиалогВопрос. |
|||
44
Gusarm
17.01.14
✎
17:32
|
"Сообщить" ведь тоже интерактивная фича или нет?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |