Имя: Пароль:
1C
1С v8
Функция в общем модуле расширения с галкой "Повторное использование возвращаемых значений"
0 Lama12
 
16.08.18
10:44
Обнаружил забавную штуку.
Пока большого количества экспериментов не делал, но может кто сталкивался и разбирался уже...

Ситуация.
Конфигурация ERP. К ней приделано расширение. В расширении присутствует общий модуль у которого стоит галка "Повторное использование возвращаемых значений", и выбрано "На время сеанса".

Проблема.
В качестве параметра к функциям в данном модуле можно передавать только примитивные типы, ссылка и Структура.
В справке не могу найти упоминания про эти ограничения. Планировал в качестве параметра передавать объект, а платформа ругается.
Это ограничения расширений, галки повторного использования или оно всегда так было?
1 singlych
 
16.08.18
10:48
Смысл передавать объект, он каждый раз разный.
2 Lama12
 
16.08.18
10:52
(1) Как это разный? Я один и тот же передаю. Например вновь созданный объект который еще не записан в базу. У него какой-то уникальный идентификатор в памяти есть, к которому на уровне приложения нет доступа?
Мне для понимания. Переделать-то функцию смогу. Просто странно что про это не написано в справке, значит может это ошибка.
3 Lama12
 
16.08.18
10:57
Блин. Действительно разный.
Проверял так.

Спр1 = Справочники.Номенклатура.СоздатьЭлемент();
Спр2 = Справочники.Номенклатура.СоздатьЭлемент();
а = Спр1 = Спр2;

В итоге а = Ложь.
(1) Спасибо за наводку!
4 vyaz
 
16.08.18
10:58
https://its.1c.ru/db/v839doc#bookmark:dev:TI000000181

Если у общего модуля установлено повторное использование возвращаемых значений, то на типы параметров экспортируемых функции накладывается ряд ограничений. Типы параметров могут быть только:

● Примитивными типами (Неопределено, NULL, Булево, Число, Строка, Дата).

● Любыми ссылками на объекты базы данных.

● Структурами со значениями свойств вышеперечисленных типов. В этом случае идентичность параметров контролируется «по содержимому» структур.
5 hhhh
 
16.08.18
11:01
(3) сегодня же не пятница, а вы всё юморите.
6 Lama12
 
16.08.18
11:15
(5) Да похоже надо отвлечься :-)
(4) Спасибо. Сразу не нашел.
7 Вафель
 
16.08.18
11:22
Передавай хэш объект. Например версию
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн