#0
by vde69
у меня есть не записаный в базу объект (документ), я его передаю в процедуру в которой выполняется произвольный код (через Выполнить), я не хочу, что бы в этом коде можно было что либо поменять в объекте, то есть в процедуру мне нужно передать копию объекта... как сие сделать кошернее?
#3
by Vaflya
Выполнить? Недавно с восьмеркой что ли? Доставалась как то конфигурация, где на каждом шагу было Выполнить, даже не на каждом шагу, а везде, такой ппц был помечен как нетленка и учебное пособие для поколений "как делать не надо" хммм или я чего то не понял
#8
by vde69
вроде на мутабельность не ругается, но Объект.ВерсияДанных одинаковый делаю заполнение одного реквизита через пользовательский код, что-то типа произвольного фильтра... по сколько эта фигня будет часто манятся и не понятно какие варианты потребуются делаю так... что-то вроде конвертации данных...
#9
by youalex
или через ЗаписатьХML/ПрочитатьXML. Но это будет неполная копия, без доп.свойств, экспортных переменных
#12
by Лефмихалыч
но, чтобы наверняка - нарисуй функцию, которая получает объект, а возвращает структуру
#13
by Лефмихалыч
единственное, что может помешать внутри Выполнить взять да и Записать переданный объект - это отсутствие метода Записать у переданного объета.
#21
by Волшебник
Да пусть пишет. Все работают в едином контексте, т.е. с базой. Любой модуль может записать объект в базу, если будет достаточно доступа
#22
by Волшебник
+ Кстати, можно ещё заблокировать запись через управляемые блокировки и хрен что запишешь
#23
by Torquader
Только тогда блокировать нужно будет из другого сеанса или, так как тот же самый сеанс может не заметить блокировки. P.S. если мы передаём копию объекта, то её также могут записать. Если же мы передаём объект, который не записан, то можно у него поставить заранее заданный GUID, чтобы потом, если его уже записали (а всякое бывает), найти его по этому GUID-у и "расписать" (то есть удалить). Создание "суррогата" из структур и массивов не очень хорошо, так как, в этом случае, могут оказаться различные документы с одинаковой структурой, что тоже не есть хорошо.
#25
by Torquader
Мне тут подумалось - если фильтр писать в виде запроса, то логичнее к нему данные передавать как набор временных таблиц - будет и быстрее работать, и точно никто и ничего поменять не сможет.
#26
by vde69
там все сложнее... суть задачи - записать в документ реквизит по которому будет идти маршрутиризация документа и визуальное оформление его в задачах (и таких реквизитов несколько). Проблема в том, что что правила по которым тот или иной элемент справочник постоянно меняют (раз в месяц)... пока правила состоят из 1. ЦФО при этом сумма для каждой комбинации ЦФО+Статья разная, в преспективе сюда может добавится еще с пяток параметров...
#27
by Torquader
А если реквизит для маршрутизации хранить вообще в отдельном регистре, чтобы его можно было записать, не записывая документ ?
#28
by vde69
тогда джойн делать в динамических списках, реквизит проще... хотя в перспективе может и придется переделывать, пока не известно...
#29
by Torquader
Просто, потом может понадобится история этого реквизита. Да и, если он используется при обменах и т.п., то отдельный реквизит, как бы, не предполагает передачи между базами. А список, соединение с регистром не сильно изменит скорость исполнения. Зато, один реквизит для всех документов, а не для каждого свой - в некоторых случаях, выборка в общем виде будет быстрее, чем по таблицам всех документов.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Закрытие месяца. Бух просит сделать вместо Д90.8.1 - К26 сделать Д90.2 - К26
- Как сделать в УТ8.0 сделать реализацию по нескольким заказам
- Как можно серый ip сделать белым если сделать у провайдера это нельзя
- Можно-ли вызвать из модуля объекта экспортную процедуру без записи объекта?
- Можно ли сделать элемент формы "подменю" сделать недоступным для разворачивания?
- Можно ли сделать реквизит таб. части, сделать недоступным в отдельных строках?
- Внешняя обработка заполнения объекта в УФ. Как добраться до формы объекта
- Конвертация. Как лучше сделать? Как вообще сделать?
В этой группе 1С
- Отмена проведения документа в приемнике при изменении в источнике
- Синхронизация пропущенной номенклатуры из УТ 11 в БП 3
- "поле неограниченной длины" в запросе
- УФ удаление полей из динамического списка
- ЗУП 2.5 Отчет "Средняя численность работников" странно формируется
- Ошибка при создании контекста сертификата
- Слетает нумерация после копирования базы SQL backup restore
- Резервное копирование обычное приложение, клиент сервер
- Свертка УНФ 1.6
- Ошибка проверки данных XDTO: Структура объекта не соответствует типу
- Проведение корректировки реализации в УПП 1.3.84.1
- ЗУП 3.1.2.94 перестали заполняться произвольные удержания
- УФ. Как проверить наличие колонки у ДанныеФормыКоллекция на клиенте
- Функция не определена - ошибка только у одного пользователя
- 1С Группировка запроса (конкатенация)
- Проблема с остатками в УТ 11.3 после свертки
- УТ 11. Резервирование в разрезе организаций
- Обновление БП 3.0 накатыванием cf файла
- Программное добавление Номенклатуры из табличной части документа
- При обновлении базы БП 3.0 ошибка преобразования даты и времени