![]() |
|
прошу помощи разобраться в коде (мутабельного значения 1-го параметра метода ) | ☑ | ||
---|---|---|---|---|
0
mortal
07.10.11
✎
12:31
|
Приветствую уважаемых форучан!
"коллега"-программист наваял в общем модуле некий код: Если ТипЗнч(Источник) = Тип("ДокументОбъект.РеализацияТоваровУслуг") Тогда Если ЗначениеЗаполнено(Источник.Контрагент.мерСчетУчета) Тогда Источник.СчетУчетаРасчетовСКонтрагентом = Источник.Контрагент.мерСчетУчета; Источник.СчетУчетаРасчетовПоАвансам = Источник.Контрагент.мерСчетУчета; КонецЕсли; ИначеЕсли ТипЗнч(Источник) = Тип("ДокументОбъект.ПлатежноеПоручениеВходящее") Тогда Если ЗначениеЗаполнено(Источник.Контрагент.мерСчетУчета) Тогда Источник.СчетУчетаРасчетовСКонтрагентом = Источник.Контрагент.мерСчетУчета; Источник.СчетУчетаРасчетовСКонтрагентомНУ = БухгалтерскийУчет.ПреобразоватьСчетаБУвСчетНУ(Новый Структура("СчетБУ", Источник.СчетУчетаРасчетовСКонтрагентом), , Источник.Дата); Для Каждого ТЧ_РасшПлатежа Из Источник.РасшифровкаПлатежа Цикл ТЧ_РасшПлатежа.СчетУчетаРасчетовСКонтрагентом = Источник.Контрагент.мерСчетУчета; ТЧ_РасшПлатежа.СчетУчетаРасчетовПоАвансам = Источник.Контрагент.мерСчетУчета; КонецЦикла; КонецЕсли; КонецЕсли; Теперь при записе документа из списка в приведенном коде лезет ошибка: Ошибка при выполнении обработчика - 'ПередЗаписью' по причине: Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода МерИзменениеСчетаУчетаРасчетовСКонтрагентамиПередЗаписью (). Кто знает почему так? |
|||
1
mortal
07.10.11
✎
12:32
|
конфа
Комплексная автоматизация, редакция 1.1 (1.1.11.2) |
|||
2
mortal
07.10.11
✎
12:33
|
+(0)да, еще добавлена ПодрискаНаСобытие МерИзменениеСчетаУчетаРасчетовСКонтрагентами
|
|||
3
mortal
07.10.11
✎
12:34
|
еще раз +0
в файловой версии этой ошибки не было |
|||
4
H A D G E H O G s
07.10.11
✎
12:35
|
При Сталине вообще такого не было.
|
|||
5
mortal
07.10.11
✎
12:35
|
(4) :)
а серьёзно? |
|||
6
ShotGun
07.10.11
✎
12:36
|
отладку в помощь
|
|||
7
Happy Bear
07.10.11
✎
12:37
|
(5) ссылку, а не объект
|
|||
8
Ненавижу 1С
гуру
07.10.11
✎
12:37
|
а где собственно место передачи параметра?
|
|||
9
sivalor
07.10.11
✎
12:38
|
(5) Передается выполнение на сервер. Передать параметр с типом Объект нельзя (оно мутабельное).
|
|||
10
ShotGun
07.10.11
✎
12:38
|
платформа 8.2?
если передается выполнение в модуль в флажком "сервер", то мутабельное значение не может обабатываться взведи в общем модуле флажок "клиент" и все заработает НО это крайний случай (читай -- так делать не надо), надо искать обходное решение |
|||
11
aleks-id
07.10.11
✎
12:39
|
(7) ссылка это для списка. а в самом доке объект будет
|
|||
12
sivalor
07.10.11
✎
12:40
|
(10) уж лучше перенести процедуру в общий модуль с установленным флажком..
|
|||
13
Sammo
07.10.11
✎
12:40
|
Потомучто при вызове метода метода МерИзменениеСчетаУчетаРасчетовСКонтрагентамиПередЗаписью ()
у первого параметра мутабельное значение. Неожиданно, правда? |
|||
14
vde69
07.10.11
✎
12:41
|
скорее всего в подписке вызов привелегерованого модуля
|
|||
15
H A D G E H O G s
07.10.11
✎
12:41
|
(10) Это - не крайний случай.
Для ТолстогоКлиента - это нормально. Для Тонкого - модуль документа выполняется уже на сервере и передачи на сервер - не будет. |
|||
16
H A D G E H O G s
07.10.11
✎
12:41
|
(14) В подписке - вызов серверной процедуры. Только и всего.
|
|||
17
izekia
07.10.11
✎
12:43
|
а кто мешает написать обертку, которая будет работать на клиенте
|
|||
18
ShotGun
07.10.11
✎
12:48
|
(12) уж именно так и стоит делать
(15) спасибо за поправку |
|||
19
mortal
07.10.11
✎
13:06
|
(17) спасибо - думаю, буду в эту сторону копать
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |