#0
by Ненавижу 1С
Почему одни коллекции можно передать на сервер, а другие - нельзя. Почему некоторые из них мутабельные?
#4
by Serginio1
Некоторые вещи тяжело сериализовать. Например у строки таблицы значений есть свойство владелец. То есть по уму нужно сериализовать ТЗ и из неё выделить Строку. Кроме того может быть иерархия. Скорее всего с этим и связано. Хотя это относится к способам сериализации графа
#10
by vista
Разве нельзя сделать 2 типа переменных - типы по значению и типы по ссылке? И в зависимости от типа сериализовать определённым образом.
#13
by Serginio1
Совсем запарился. Это просто элемент. Нет у строки массива владельца. А что такое СП?
#18
by Serginio1
(14 ) Почему не сериализуется? Сериализуется. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен {. Имя типа XDTO: ValueListType. А вот почему нельзя передать ХЗ
#19
by Maxus43
При чем тут сериализация? Мутабельный это не значит Несериализуемый. Объект тоже сериализуется, но менее мутабельным не становится
#25
by Serginio1
Вообще в 1С все параметры передаются по ссылке. Кстат а если поставить перед параметром Знач?
#28
by Maxus43
мутабельность - Это официальный термин из теории программирования. Мутабельные и немутабельные значения есть практически во всех языках программирования. Это принцип классификации. Например, в .Net есть строки (String) - немутабельные и объект StringBuilder - мутабельный тип (с) ВР. Так реализовано
#30
by IШаман
На 5-й год практики программирования ты открыл для себя что передача парметров может быть осуществлена разными способами?
#34
by Serginio1
Есть понятие адрес ссылки. Например если я на сервере присвою этому параметру новую тз, то на клиенте она тоже передастся. Значение для тз это адрес Тз в памяти, по ссылке это адрес переменной ссылающуюся на ТЗ
#37
by Serginio1
Они есть. Просто все параметры в 1С по умолчпнию передаются как адреса переменных. Для передачи по значению есть Знач Необязательное ключевое слово, которое указывает на то, что следующий за ним параметр передается по значению, т.е. изменение значения формального параметра при выполнении функции никак не повлияет на фактический параметр, переданный при вызове функции. Если это ключевое слово не указано, то параметр функции передается по ссылке, то есть изменение внутри функции значения формального параметра приведет к изменению значения соответствующего фактического параметра.
#42
by Serginio1
Это не то. Очистить все будет. Другого не будет Процедура Пример(Знач А) А=3; КонецПроцедуры
#44
by Serginio1
В любом случае ты можешь сереализовать в строку или лучше в ХранилищеЗначения и не парится
#47
by Serginio1
Добавь в голосование, что нехотят заниматься маршалингом и лень им было добавить тип ФиксированныйСписокЗначений. Или вообще ввести конструктор для фиксированной коллекции
#49
by Serginio1
Не будет как (передается ссылка на Тз, а не ссылка на переменную которая содержит ссылку на ТЗ) А вообще Ответ в фиксированных коллекциях. Например у массива есть фиксированный массив, но и массив может передаваться на сервер. Им нужно было создавать конструктор который бы делал объекто только для чтения. Например в C# есть ReadOnlyCollection
#50
by Serginio1
49 А вообще могли бы добавить просто параметр, который бы делал бы полную копию. В любом случае код в 45 не слишком трудозатратен.
#51
by Serginio1
Кстати хранилище значение передается на сервер. Хранилище = Новый ХранилищеЗначения(СпЗ, Сжатие); Передать на сервер Хранилище Это и будет фиксированным списком Спз= Хранилище.Получить;
#52
by Serginio1
Но я за то, что бы ввести ReadOnlyCollection (Фиксированная коллекция). Тогда если данные передаются в процессе сервера, то передается ссылка на ReadOnlyCollection, а если между клиенто и сервером то коллекция сериализуется.
#53
by Serginio1
Или вводить две функции на сервере Процедура ПроцедураНаСервере(спз) КонецПроцедуры
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как объединять обычное поле со вложенными таблицами?
- v8: Управляемые формы vs обычное приложение
- Как программно "свернуть все" окна (обычное приложение)
- 1С Обычное приложение Дерево значений на форме
- Определить активна ли текущая форма . Обычное приложение 8.2
- 8.3. Обычное приложение.Обработка расшифровки.Получить значение всей тек строки
- Резервное копирование обычное приложение, клиент сервер
- Обход таблицы с типом данных СправочникСписок (обычное приложение)
- Консоль СКД(обычное приложение)
В этой группе 1С
- Почему файловая база быстрее чем SQL
- ЗуП. Выплата зарплаты через банк. Возвращенная сумма.
- УПП 1.3 авансовый платеж по налогу на имущество и сч.010
- v7: ЗиК - В Отпуске "Начислено в ЖР" меньше чем "Сумма к начислению"
- УФ: окончание редактирования строки
- ЗУП: совместитель (половина от оклада),
- Разные результаты в консоли запроса и СКД
- Программно изменить СКД
- Выбор ОС для терминального сервера
- Ограничение количества клиентских лицензий 1С для одного пользователя
- Отчет по конфигурации
- ЗУП 2.5.70.1 Проблема формирования ПФР
- Вызов формы элемента из другой формы
- Свертка БП 2.0: почему нельзя сворачивать НДС??
- 1C77 + PostgreSQL на Windows Server 2003 64 bit
- Управленческий учет зарплаты в УПП 1.3
- Как сдвинуть колонку в таблице значений на определенное место
- Конвертация: выгружаются только ссылки
- Цвет ячейки Эксель из 1С
- Период рассчитанных итогов