|   |   | 
| 
 | Подписка на событие | ☑ | ||
|---|---|---|---|---|
| 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 | 
        "Сообщить" ведь тоже интерактивная фича или нет?     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |