#0
by Maxus43
Приветствую! В типовой УПП есть код, суть проста - сжимает данные в версионировании. Вопрос - почему именно в запросе вытягивает поле ВерсияОбъекта, т.е. само хранилище значения? Ведь если переделать: .... ХранилищеДанных = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных); .... то не надо будет тянуть в запросе. Дело вобще в том, что данный код "справляется" только с небольшими объёмами. Например вытянуть 500 тысяч несжатых записей уже валится. С доработкой - ему будет без разницы на объём. Почему именно так сделано? есть тайный смысл?
#3
by Fragster
на самом деле надо хранить отдельно метаданные версий, отдельно хранилище с массивом со всеми версиями - тогда оно будет сжато намного эффективнее, чем если много отдельных хранилищ
#5
by Живой Ископаемый
этот регистр по-моему специально таким стремным сделан, у меня например большие сомнения в том что стоило датуверсии реквизитом а не измерением, тем более без индекса
#6
by Maxus43
Это всё вы правильно, меня интересует сам Запрос, ну нахрена тянуть в нём хранилище значения? Если ниже всё равно есть конструкция Прочитать - по сути и подтягивает хранилище
#7
by Maxus43
на больших объёмах данных сказывается, запрос очень долго выполняется, да и падает если совсем невмоготу
#9
by Maxus43
в этом и трабл. Регл задание было ограничено по времени, а т.к. запрос выполняется Долго из-за этого ненужного там поля - не всё успевал сжать, в итоге за полгода скопилось
#10
by Maxus43
Может я неправильный какой-то, но щетаю что код должен работать с учетом всяких форсмажоров, а не придерживаясь принципа "ну должно же быть меньше данных". Ошибку кто в запросе видит? или это специально сделано? тянуть хранилище значений
#14
by H A D G E H O G s
А вообще - попробуйте новый файл в архив ZIP добавить - он его с нуля пересожмет, так как ему словарь надо обновить и нужен цельный поток.
#15
by Maxus43
может понимаешь глубинный смысл дёргать хранилище запросом? учитывая что ниже всё равно идёт чтение менеджера записей, и де факто чтение этого самого хранилища?
#18
by Fragster
соответственно, 100 версий от одной не сильно должны отличаться по размеру, когда они в одном архиве.
#19
by Maxus43
как делить общее хранилище будешь на независимые объекты для сериализации? хранить в хранилище структуру объектов?
#21
by Maxus43
самое обидное что эта хрень в разы замендляет запрос. Понятно что ноги растут из-за того что "не следили за базой" в версионировании, но ошибка логическая в коде помойму очевидна....
#28
by Fragster
Элемент с реквизитом типа anyType и maxOccurs unbounded, храни сколько хочешь чего хочешь
#30
by olegves
я себе допилил сохранение версии, очищая значения для полей с типом ХЗ. Все одно эти значения не сравниваются при сравнении версий
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- перерегистрация ПО
- Каким образом можно удалить фоновое задание?
- Как программно узнать, чем заблокирован файл?
- Бонусная система в УТ 10.3.13.2 (8.1)
- УФ. Программно к командной панели привязать источник команд.
- Бланк товарного наполнения
- v7: Свертка ТиС, УРБД (30 узлов), нетиповая
- Отображение таблицы значений на форме
- "1 с розница" и весы "Mettler Toledo" в режиме offline. У кого-то есть опыт ?
- Отчет "Ведомость по взаиморасчетам с контрагентами" УТ 10.3
- Удалить пароль доступа к сайту ИТС
- Удалить пустую колонку группы из печатной формы (СКД) не убирая ее из расчета?
- Как установить реквизиту документа тип субконто при выборе счета?
- Расчет сверхурочных в командировке
- v7: Передать значение перечисление по OLE между базами 7.7
- Ошибка при выполнении обработчика - 'ПередЗаписью'
- АСПД ШТРИХ-М-ФР-К
- Как получить массив ссылок для последующего удаления записей?
- Проблемы с расчетом себестоимости УТ 11
- Как программно узнать текущий вариант отчета в СКД?