|
Ошибка при Подписке на событие 🠗 (Maxus43 21.02.2013 17:14) | ☑ | ||
---|---|---|---|---|
0
Индус
21.02.13
✎
15:27
|
Конфа УТ11.Создал подписку на событие "ПриПроведенииДокумента" Обработчик ПриПроведенииДокументаХ находится в общем модуле( в настройках галочки Сервер, вызовСервера, привелигерованный). При проведении документа все ок, Когда делаю запись из внешней обработки под тем же пользователем пишет. Ошибка при передаче параметра в функцию ПриПроведенииДокументаХ . попытка передать с клиента на сервер значение мутабельного типа параметр 1. По идее, этот параметр стандартный- Источник, т.е. ДокументОбъект. В чем может быть дело?
|
|||
1
Wobland
21.02.13
✎
15:28
|
(0) в попытке передать с клиента на сервер значение мутабельного типа, к бабке не ходи
|
|||
2
Индус
21.02.13
✎
15:30
|
(1) Вы капитан очевидность. Этот параметр стандартный- Источник, т.е. ДокументОбъект.
|
|||
3
Wobland
21.02.13
✎
15:30
|
(2) ну а зачем ты туда-сюда объект гоняешь?
|
|||
4
Индус
21.02.13
✎
15:32
|
(3)Вы видно не понимаете. ОШИБКА В ПОДПИСКЕ НА СОБЫТИЕ
|
|||
5
Нуф-Нуф
21.02.13
✎
15:32
|
привелигерованный = привилегированный. сам постоянно путаю, но не в 3х же местах :)
|
|||
6
Wobland
21.02.13
✎
15:33
|
(4) чо кричишь? Ошибка при передаче, а не в подписке
|
|||
7
Индус
21.02.13
✎
15:35
|
(5)Да))
(6)Интересно, как в подписке поменять стандартные передаваемые значения? |
|||
8
Maxus43
21.02.13
✎
15:37
|
(7) если у тебя в процедура подписки будет использоваться не только подпсикой - передавай туда ссылку, а в начале процедуры анализ
Если ЭтоСсылка Тогда Док = Ссылка.ПолучитьОбъект(); Иначе Док = источник; |
|||
9
Индус
21.02.13
✎
15:37
|
И что вообще значит мутабельный? В словарях такого слова нет))
|
|||
10
Maxus43
21.02.13
✎
15:38
|
(9) значит что изменение свойств ведёт к изменению самого объекта
|
|||
11
MSII
21.02.13
✎
15:39
|
(8) А такое вообще практикуется? Ну, в смысле, сделать подписку и универсальный обработчик к ней, который может вызываться не по подписке?
|
|||
12
Индус
21.02.13
✎
15:42
|
(8) Она используется только для подписке. В самой подписке можно указать только экспортную функцию из общего модуля . Она создается шаблоном ПриПроведенииОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт
|
|||
13
Maxus43
21.02.13
✎
15:43
|
(11) почему нет, если код написан грамотно
|
|||
14
Индус
21.02.13
✎
15:43
|
Интересно, что при простом проведении все отрабатывает на ура((
|
|||
15
MSII
21.02.13
✎
15:44
|
(13) Просто не могу предположить, зачем это может быть нужно. Ну да бог с ним.
|
|||
16
Maxus43
21.02.13
✎
15:44
|
(14) ничего интересного, сказали же - нельзя Объект передавать на сервер, он мутабелен
|
|||
17
Maxus43
21.02.13
✎
15:44
|
(15) я тоже не пользую, но можно.
|
|||
18
Maxus43
21.02.13
✎
15:45
|
(12) я к тому что вызывать её нельзя с клиента своим кодом. она сама вызовется при проведении дока
|
|||
19
Индус
21.02.13
✎
15:49
|
(16)Подписка отбабатывает автоматически при проведении, при чем тут это? В обработке использеутся метод Объект.Записать(РежимЗаписидокумента.Проведение), если вы про это. Сам обработчик я не вызываю...
|
|||
20
Vesa
21.02.13
✎
15:51
|
(19) Откуда берется Объект?
|
|||
21
Индус
21.02.13
✎
15:52
|
(20) Из запроса
Объект=Выборка.ссылка.ПолучитьОбъект(); |
|||
22
Vesa
21.02.13
✎
15:54
|
sql?
|
|||
23
Индус
21.02.13
✎
15:55
|
(22)да
|
|||
24
Индус
21.02.13
✎
15:56
|
Похоже, на глюк платформы(((
|
|||
25
Vesa
21.02.13
✎
15:58
|
Это не глюк. На курсах spec8 рассматривался этот вопрос.
|
|||
26
Maxus43
21.02.13
✎
16:00
|
да какой глюк? я не знаю как ещё объяснить.
Объект.записать(); - сам вызовет подписку, без каких либо ошибок |
|||
27
Maxus43
21.02.13
✎
16:00
|
(25) какой вопрос?
|
|||
28
Индус
21.02.13
✎
16:03
|
(26)В том то и дело. Однако ошибка вылезает..
(25)Как решить?) |
|||
29
Индус
21.02.13
✎
16:04
|
Если убрать сервер, то пишет вообше
"НовыйДокумент = Документы.ВзаимозачетЗадолженности.СоздатьДокумент(); по причине: При подписке ПодпискаНаСобытие1 на событие ОбработкаПроведения произошла ошибка. Обработчик события не найден." |
|||
30
MSII
21.02.13
✎
16:06
|
(25) Сильно интересно, рассказывай.
|
|||
31
Maxus43
21.02.13
✎
16:07
|
т.е. у тебя код:
Объект = выборка.Ссылка.ПолучитьОбъект(); Объект.записать(); даёт ошибку мутабельного значения? |
|||
32
Vesa
21.02.13
✎
16:07
|
(26) Не помню как решить и полностью ли аналогичная была ситуация. Сам не сталкивался. Запомнил, что у них код в файловом варианте работал, а в SQL была такая ошибка. В общем, большинство мутабельных значений с клиента на сервер нельзя передавать, как уже было сказано.
|
|||
33
zmaximka
21.02.13
✎
16:07
|
(25) раскрой секрет
|
|||
34
Maxus43
21.02.13
✎
16:08
|
(32) это не та ситуация, Механизм подписок немного другой...
|
|||
35
Wobland
21.02.13
✎
16:09
|
(31) причём, делая это в толстом клиенте, клиент не понимает, что это полагается делать на сервере. получаение объекта прокатывает же
|
|||
36
Wobland
21.02.13
✎
16:09
|
(35) клиент здесь - ТС
|
|||
37
Индус
21.02.13
✎
16:12
|
(31)Да
Можете сами проверить: 1) Создаем подписку на запись/проведение док-та 2) Создаем обработку, где указывается ссылка на объект 3)В обработке указываем Док=ссылка.ПолучитьОбъект(); ... PROFIT!!!! Неужели придется в модуль объекта все переносить?(( |
|||
38
Wobland
21.02.13
✎
16:12
|
(37) 3й пункт на сервер отправь
|
|||
39
Индус
21.02.13
✎
16:13
|
(38) +В неуправляемом режиме
(37)+Док.записать() |
|||
40
MSII
21.02.13
✎
16:14
|
(38) На тонком клиенте у него такое и не получилось бы.
|
|||
41
Индус
21.02.13
✎
16:14
|
(40) Ага
|
|||
42
zmaximka
21.02.13
✎
16:15
|
платформа какая?
|
|||
43
Индус
21.02.13
✎
16:18
|
1С:Предприятие 8.2 (8.2.16.368)
нашел подобную тему, там решилось убиранием галочки сервер с модуля: http://dev.mista.ru/topic.php?id=537564 В новой платформе пишет(29) |
|||
44
Maxus43
21.02.13
✎
16:18
|
мда, чудеса какието. никогда не сталкивался, странно
|
|||
45
zmaximka
21.02.13
✎
16:19
|
Должно работать 100% если делаешь как в (31)
|
|||
46
MSII
21.02.13
✎
16:19
|
(44) +1. Какая разница, интерактивно или программно проводится документ?
|
|||
47
Vesa
21.02.13
✎
16:21
|
Форма обработки обычная?
|
|||
48
Индус
21.02.13
✎
16:21
|
(45) Можешь сам проверить. см(37)
(47)Да |
|||
49
jenny_tea
21.02.13
✎
16:21
|
а
Объект = выборка.Ссылка.ПолучитьОбъект(); Объект.записать(); вызывается из процедуры &НаКлиенте или &НаСервере |
|||
50
Индус
21.02.13
✎
16:21
|
Обработка внешняя
|
|||
51
Индус
21.02.13
✎
16:22
|
(49)-(40)
|
|||
52
Vesa
21.02.13
✎
16:22
|
У общего модуля поставь флаг компиляции "Клиент (обычное приложение)" и радуйся.
|
|||
53
hhhh
21.02.13
✎
16:23
|
(48) а в модуле объекта документа, что там в самом низу? Наверняка, какие-нибудь левые функции вызываешь.
|
|||
54
GANR
21.02.13
✎
16:24
|
(0) Внешнюю обработку В СТУДИЮ!
|
|||
55
zmaximka
21.02.13
✎
16:25
|
флажок клиент поставь у модуля
|
|||
56
Индус
21.02.13
✎
16:26
|
(48) Ничего особого, ругается-то на функцию в подписке
(52)(55)->(29) |
|||
57
Vesa
21.02.13
✎
16:29
|
Сейчас какие флажки у общего модуля стоят?
|
|||
58
zmaximka
21.02.13
✎
16:31
|
сервер не убирай, добавь еще клиент
|
|||
59
Индус
21.02.13
✎
16:32
|
Еще один момент. В базе используется распределенный режим по филиалам. Может это как-то влияет?
|
|||
60
Индус
21.02.13
✎
16:33
|
сейчас пробую разные комбинации галочек)
|
|||
61
Mafoni
21.02.13
✎
16:34
|
Релиз платформы какой ?
Создал подписку на событие ПриЗаписи - Процедура обработчик находится в общем модуле с галками Сервер , Вызов сервера, Привилегированный Создал Обработку с одной кнопкой &НаКлиенте Процедура Команда1(Команда) СоздатьЭлемент(); КонецПроцедуры &НаСервере Процедура СоздатьЭлемент() ВЫборка = Справочники.Валюты.Выбрать(); Пока Выборка.Следующий() Цикл элОбъект = Выборка.Ссылка.ПолучитьОбъект(); элОбъект.Записать(); КонецЦикла; КонецПроцедуры Делал со справочником валюты - отработало все на ура !!!! ЧЯДНТ ???? |
|||
62
zmaximka
21.02.13
✎
16:35
|
||||
63
Индус
21.02.13
✎
16:35
|
(61)У меня в обычном приложении.
|
|||
64
Maxus43
21.02.13
✎
16:35
|
(61) говорят толстый клиент, обычное приложение. на УФ не катит
|
|||
65
zmaximka
21.02.13
✎
16:37
|
+(62) это свойство модуля в котором расположены обработчики подписок
|
|||
66
Mafoni
21.02.13
✎
16:40
|
Вот тебе для обычного приложения
Процедура КнопкаВыполнитьНажатие(Кнопка) Обработать(); КонецПроцедуры &НаСервере Процедура Обработать() ВЫборка = Справочники.Валюты.Выбрать(); Пока Выборка.Следующий() Цикл элОбъект = Выборка.Ссылка.ПолучитьОбъект(); элОбъект.Записать(); КонецЦикла; КонецПроцедуры |
|||
67
Индус
21.02.13
✎
16:41
|
(62) У меня клиент(Обычное приложение) нету вообще почемуто...Может из-за того что режим совместимости не используется??
|
|||
68
Mafoni
21.02.13
✎
16:41
|
+ (66) при тех же галках в общем модуле отрабатывает на ура !!!
|
|||
69
Maxus43
21.02.13
✎
16:41
|
(66) нет такого в обычном приложении
|
|||
70
Maxus43
21.02.13
✎
16:41
|
&НаСервере
всымсле нет |
|||
71
Mafoni
21.02.13
✎
16:43
|
(70) как убедить что есть ? скрин подойдет ?
+ в (61) я спрашивал про релиз платформы все изыски мои сделаны в 8.3.2 Основной режим запуска - Обычное приложение , Режим совместимости - Не использовать |
|||
72
zmaximka
21.02.13
✎
16:43
|
(67) при чем тут режим совместимости. в смысле нет у общего модуля флажка "Клиент" ???
|
|||
73
Индус
21.02.13
✎
16:43
|
(66) &НаСервере наверное, не поймет))
|
|||
74
Mafoni
21.02.13
✎
16:45
|
(70) - хотя может я и не прав ! :(
|
|||
75
Maxus43
21.02.13
✎
16:45
|
(71) а чего не на 1с 9.0 делал?
Какая разница какой основной режим запуска, при запуске в базе надо указать запуск обычного приложения. На толстом клиенте есть только #Если Сервер Тогда, но это не так работает |
|||
76
Mafoni
21.02.13
✎
16:45
|
(73) - ставь галку тогда Клиент и не мучайся - должно прокатить !
|
|||
77
Индус
21.02.13
✎
16:46
|
(72)есть клиент(управляемое), но нет графы(!) Клиент(обычное)
|
|||
78
zmaximka
21.02.13
✎
16:46
|
(76) говорит украли "Клиент"
|
|||
79
Mafoni
21.02.13
✎
16:46
|
(75) - дык не выпустили же еще 9.0 :)
- читай (74) ужо сказал что походы был не прав. |
|||
80
Индус
21.02.13
✎
16:47
|
Пробовал уже пишет(29)
|
|||
81
Mafoni
21.02.13
✎
16:47
|
(77), (78) интересно чего нужно было сделать что бы сия галка пропала
|
|||
82
Индус
21.02.13
✎
16:47
|
(80)к (76)
|
|||
83
zmaximka
21.02.13
✎
16:48
|
основной режим запуска поменяй на "обычное приложение" и будет "клиент"
|
|||
84
Mafoni
21.02.13
✎
16:49
|
Если не лень сделай принтскин свойст общего модуля а то мне аж не верится что такое может быть !! Ну и есно покажи принтскрин !
|
|||
85
zmaximka
21.02.13
✎
16:49
|
сам удивлен таким эффектом
|
|||
86
zmaximka
21.02.13
✎
16:50
|
(84) может только что проверил. меняешь режим запуска конфигурации на "упр.приложение" в свойствах общего модуля пропадает флажок "клиент обычное приложение"
|
|||
87
Mafoni
21.02.13
✎
16:50
|
(83) - никогда раньше не обращал на этот момент внимание - интересно
(82) - у тебя основной режим упр приложение - а при этом все работаю в толстом клиенте так что ли ???? |
|||
88
Индус
21.02.13
✎
16:52
|
||||
89
Индус
21.02.13
✎
16:54
|
(83) щас попробую. Что интересно. В "Старых" модулях галочка-то сохранилась))
|
|||
90
Mafoni
21.02.13
✎
16:56
|
(88) Блин кто тя так учил принскрины делать !!! 5 метров!!!
|
|||
91
Mafoni
21.02.13
✎
16:56
|
(89) на (87) ответиш ?
|
|||
92
Индус
21.02.13
✎
16:56
|
(87) нет, там кто как. Большинство управляемо
|
|||
93
Mafoni
21.02.13
✎
16:59
|
(92)- а что значит большинство ? Это единсвенное поле выбора в свойствах конфигурации ! Там может быть только одно значение !!!
|
|||
94
Индус
21.02.13
✎
17:00
|
Уррраааа. Заработало. Всем спасибо))) Не хватает теплых матерных слов на разработчиков платформы.
|
|||
95
Mafoni
21.02.13
✎
17:00
|
+ (93) я спрашивал про совйство конфигурации !
|
|||
96
Индус
21.02.13
✎
17:00
|
(93) У каждого пользователя можно прописать режим запуска..
|
|||
97
Mafoni
21.02.13
✎
17:02
|
(96) читаем внимательно (95)
|
|||
98
zmaximka
21.02.13
✎
17:04
|
Ну вот и славно что заработало
|
|||
99
Индус
21.02.13
✎
17:07
|
(97)Основной режим запуска-управляемый
(98)Спасибо огромное Помогла галочка клиент(обычное приложение)(!). Хотя вообще непонятно причем она тут, странная логика? |
|||
100
Maxus43
21.02.13
✎
17:07
|
100
|
|||
101
Индус
21.02.13
✎
17:07
|
100))
|
|||
102
Индус
21.02.13
✎
17:08
|
опоздал)
|
|||
103
Maxus43
модератор
21.02.13
✎
17:12
|
(102) не дорос ещё)
|
|||
104
Индус
21.02.13
✎
17:12
|
Тема почти как танки записей набрала))
|
|||
105
Индус
21.02.13
✎
17:13
|
Модератерам, видно скучно))
|
|||
106
Maxus43
21.02.13
✎
17:14
|
всё, задача решена, во избежание флуда топлю
|
|||
107
Vesa
21.02.13
✎
17:15
|
(106) Что значит топишь?
|
|||
108
Индус
21.02.13
✎
17:15
|
Флуд рулит))
|
|||
109
Vesa
21.02.13
✎
17:17
|
Мне есть что по теме сказать.
|
|||
110
Maxus43
21.02.13
✎
17:17
|
(109) говори
|
|||
111
Индус
21.02.13
✎
17:18
|
(109)давай. Типо покарать всех разработчиков платформы?))
|
|||
112
Vesa
21.02.13
✎
17:20
|
(99) Логика: 1) модуль обычной формы обработки компилируется на клиенте. 2) У тебя флаги общего модуля стояли Сервер и Вызов сервера, т.е. процедуры компилировались только на сервере. При попытке вызова проц. общего модуля с клиента выдавалась ошибка.
Когда поставил флаг "Клиент (обычное приложение)" общий модуль стал компилироваться и в контексте клиента. Теперь при вызове проц. общего модуля с клиента будет обращение к копии общего модуля, скомпилированного на клиенте, т.е. сервер вызываться не будет. |
|||
113
Индус
21.02.13
✎
17:22
|
(112) не согласен. я пробовал переносить в модуль объекта(Он ведь на сервере?). Это результата не дало!
|
|||
114
Vesa
21.02.13
✎
17:24
|
(113) Что перенес в модуль объекта?
|
|||
115
Индус
21.02.13
✎
17:26
|
(114)Объект.записать()
|
|||
116
Vesa
21.02.13
✎
17:31
|
Ошибка возникала при передаче объекта из модуля формы обработки на сервер. Видимо, не обязательно подписка на событие.
|
|||
117
Индус
21.02.13
✎
17:32
|
(116) При вызове записать из модуля объекта она тоже возникает))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |