Кто-нибудь удалял значения типа "ХранилищеЗначения" в таблицах MSSQL? База не падала из за нарушения целостности?

1. acces969 381 02.06.26 15:09 Сейчас в теме
Ситуация простая - база старая, в документах есть реквизиты типа "ХранилищеЗначения". Чтобы его очистить, нужно перезаписать документ. Что, конечно же, сделать невозможно.
Остается единственный вариант, который я вижу - пока фирма "1С" не видит, залезть в таблицы базы данных и очистить значения.

Не удалить строки, а очистить значение в ячейке строки таблицы SQL.

Важно! Это не с целью уменьшения размера базы, а с целью очистки содержимого.

Насколько я понял, данные с таким типом не лежат в той же колонке той же таблицы объекта/его табличной части, а выносятся в отдельную таблицу больших бинарных данных. Поэтому и вопрос - кто такое проворачивал?
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dehro 14 02.06.26 15:28 Сейчас в теме
...Что, конечно же, сделать невозможно...


В режиме Загрузка = Истина?
3. Sashares 33 02.06.26 15:33 Сейчас в теме
5. starik-2005 3272 02.06.26 17:29 Сейчас в теме
(2)
В режиме Загрузка = Истина?
А если их там пару лямов?
6. nomad_irk 84 02.06.26 19:04 Сейчас в теме
(5) Тю.....Минут за 30 вот эта штука справится потоков в 20.

Понимаю, со скоростью прямых запросов это не сравниться, но прямые запросы - оно такое.......
7. starik-2005 3272 02.06.26 19:13 Сейчас в теме
(6)
Минут за 30
UPDATE  myTable WITH (TABLOCK)
SET  _myfldXXX = 0;
сделает сек за 5.
8. Sashares 33 02.06.26 19:56 Сейчас в теме
(7) нарушение лицензионного соглашения же
9. starik-2005 3272 02.06.26 21:44 Сейчас в теме
(8) И что? Они его догонят и по заднице надают? Или откажутся решать его проблемы? Так они и так желанием не горят.
Fox-trot; +1 Ответить
12. vde69 937 04.06.26 09:00 Сейчас в теме
(7) А потом выяснится, что есть обмены и в обмены не попало, или например не попадет в контроль версий и логи изменений, или например индексы не обновятся, или еще 100500 вариантов.

Прямое изменение данных в современных системах практически всегда плохое решение....
13. starik-2005 3272 04.06.26 10:31 Сейчас в теме
(12)
или например индексы не обновятся
За индексы слава богам не 1С отвечает. Остальные отмазки - это просто отмазки. Идиотом нужно быть, чтобы в обмены хранилище значений отправлять и хранить это одно в нескольких местах.

ЗЫ: у нас в конторе есть мобильные приложения и очень много документов. Да, и там и сям есть одни и те же поля. И если в бэкенде на приличном стеке все было заабдейчено за условные 2 минуты, то только тестирование показало, что миллионы документов в 1С будут неделю записываться. Взяли и заабдейтили, плюнув в душу ценителям лицензионных соглашений. И никакого укора совести не чувствуем - наоборот. Конторе сэкономили кучу электричества, сотрудникам - нервов, себе тоже.

ЗЫЗЫ: вообще много где сталкивался с добавлением в базу полей для ускорения работы списков, например, или для ускорения работы отчетов - денормализация. И абдейты там здорово помогали. И ничего не ломалось ни разу. А вот при попытке "обновить по новому" в одной из версий в фоновом режиме (там как раз эта фича появилась) получили снос нескольких десятков лямов файлов (на тестовом контуре все отработало, кстати). Пришлось "инсерт фром" делать, т.е. нарушать ЛС, чтобы "типовой механизм" исправить. Никакая 1С не пришла и ничего нам не поправила за минуту.
14. Sashares 33 04.06.26 10:34 Сейчас в теме
(13)
Взяли и заабдейтили, плюнув в душу ценителям лицензионных соглашений.

Ох, чел, при чем тут ценительство?
Ты просто буквально признался в нарушении закона.
15. starik-2005 3272 04.06.26 10:41 Сейчас в теме
(14)
Ты просто буквально признался в нарушении закона.
Которого? Какая ответственность за это? Это наши данные, а не 1С. Этот пункт ЛС нарушает законодательство, а не мы, кто занимается высоконагруженными системами.
16. Sashares 33 04.06.26 11:06 Сейчас в теме
(15)
Какая ответственность за это?

Ну ты же любишь у ИИ все спрашивать. Что помешало на этот раз?
Прикрепленные файлы:
18. starik-2005 3272 04.06.26 11:27 Сейчас в теме
(16)
Поскольку «1С» предоставляет техническую поддержку и обновления только для корректного использования системы в рамках лицензионного соглашения, нарушение правил доступа может лишить пользователя права на такую поддержку. Это, в свою очередь, может привести к дополнительным затратам на восстановление системы или к невозможности использовать программу в соответствии с её назначением.
Вот и все. Т.к. 1С не предоставляет возможностей для быстрого изменения данных, то со своими данными мы как-нить сами разберемся. Это не причиняет ущерба правообладателю. По крайней мере он не сможет доказать в суде, что ему этими действиями был причинен ущерб. А суду плевать на ничтожность данного пункта, пока истец не докажет, что ему был причинен ущерб. Но ты можешь мне тут привести дела, где 1С нагнули кого-то за это, и мы вместе посмеемся над тем, что выпускники юридического не сильно лучше выпускников курсов по программированию.
17. dehro 14 04.06.26 11:22 Сейчас в теме
(13)
...с добавлением в базу полей для ускорения работы списков...


...Я не люблю уверенности сытой. Уж лучше пусть откажут тормоза...


Выгрузить/загрузить через dt после этих манипуляций не вариант?
А как поведёт база с добавленными полями при изменении метаданных объекта штатным образом?
Ну и заполнение этих полей нужно же средствами SQL организовывать?
19. starik-2005 3272 04.06.26 11:55 Сейчас в теме
(17)
Выгрузить/загрузить через dt после этих манипуляций не вариант?
И как в этих полях появятся данные? Ты про денормализацию что-нить слышал вообще?
Ну и заполнение этих полей нужно же средствами SQL организовывать?
Во-о-о-т, соображаешь.
20. dehro 14 04.06.26 12:11 Сейчас в теме
(19) Откуда я мог слышать? Я дальше 10-строчной программки на Pascal в программировании не продвинулся.
21. vde69 937 04.06.26 15:10 Сейчас в теме
(13) угадай где хранятся индексы динамических списков? и кто за них отвечает :)
22. starik-2005 3272 04.06.26 15:38 Сейчас в теме
(21)
где хранятся индексы динамических списков
От прям заинтриговал...
Прикрепленные файлы:
10. dehro 14 03.06.26 09:19 Сейчас в теме
(5) ИМХО, начать нужно со штатных инструментов. Вдруг там пара тысяч (неясно по тексту).

Потом бы я рассмотрел вариант "убить реквизит" - "обновить базу" - "создать реквизит" - "обновить базу"
(даже если база на поддержке, можно снять, побить в бубен и поставить опять)

Ну а если уж что-то мешать будет (вроде как не должно, но вдруг), тогда уже SQL.
Sashares; +1 Ответить
4. user-z99999 78 02.06.26 16:12 Сейчас в теме
11. SlavaKron 03.06.26 11:11 Сейчас в теме
Поле с пустым ХЗ имеет значение 0x01010800000000000000EFBBBF7B2255227D
Можно так:
UPDATE  <TableName>
SET  <FieldName> = 0x01010800000000000000EFBBBF7B2255227D
WHERE  len(<FieldName>) > 18
o.kovalev; RoyFincher; user_2202820; +3 Ответить
Для отправки сообщения требуется регистрация/авторизация

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот