|
V8 Хранение длинных строк без доработок | ☑ | ||
---|---|---|---|---|
0
Alexey790th
03.08.11
✎
17:16
|
Конфу ЗУП трогать нельзя, поэтому все данные обработки храню в регистре ЗначениеСвойствОбъектов. Все круто но одна ячейка должна вмещать до 250 символов. Все доступные мне реквизиты вмещают до 200 символов.
Вопрос: можно ли сжимать строки для хранения ? Может их можно хранить в другом виде ? как проще поступить без доработок ? если норм ответа не найду - буду делать двойную запись, а может и n-ную если клиент скажет что строки могут быть n-ого размера :) только другой прогер голову потом сломает :( |
|||
1
Jstunner
03.08.11
✎
17:19
|
иногда клиентам полезно говорить фразу "это невозможно"
|
|||
2
Scooter
03.08.11
✎
17:26
|
(0)используй алгоритм сжатия
|
|||
3
Alexey790th
03.08.11
✎
17:44
|
(2) напиши пожалуйста сюда функцию сжатия с использованием алгоритма Хаффмана
wiki:Код_Хаффмана |
|||
4
Armin
03.08.11
✎
17:47
|
(0) А просто убрать ограничение (или увеличить до нужного размера) реквизит регистра ЗначениеСвойствОбъектов который превышает 200симв?
|
|||
5
Alexey790th
03.08.11
✎
17:47
|
(2) а понял ! нужно использовать сжатие хранилища значения :)
|
|||
6
Mort
03.08.11
✎
17:48
|
(1) Это только утвердит клиента в вашей некомпетентности.
Нужно говорить "это дорого для вас". |
|||
7
Alexey790th
03.08.11
✎
17:48
|
(4) конфигурацию договорились не менять
|
|||
8
Armin
03.08.11
✎
17:49
|
(7) тогда (6) =)
|
|||
9
IamAlexy
03.08.11
✎
17:49
|
(7) ну тогда сделай общую папку на сервере, в допреквизите храни название текстового файла из этой общей папки, а соответственно в эту папку пиши содержимое своего длинного файла... :)
|
|||
10
Steel_Wheel
03.08.11
✎
17:50
|
Сделай свойство "найм_1", прими соглашение, что если в конце есть "_1", то надо искать все свойства: "_2", "_3", "_4"..."_9999", пока они есть, их значения надо конкатенировать и выдать в качестве результата
|
|||
11
Mort
03.08.11
✎
17:54
|
Одинэсники так напугали заказчиков изменением типовой конфигурации, что страх сделать минимальное изменение, которое никак не повлияет на дальнейшие обновления, вызывает кучу геморроя, который сопровождать гораздо дороже.
|
|||
12
Alexey790th
12.08.11
✎
13:47
|
В общем идеальное решение найдено:
В зупе есть справочник ХранилищеШаблонов - для хранения шаблонов писем. во в нем мы можем хранить что угодно, хоть картинки. в моем случае храню массив строк, разделенных спецсимволом. естественно размер данных "не ограничен". Функция ВосстановитьХранилищеОбъектов(Наименование) Возвратное=Новый СписокЗначений(); Значение=Справочники.ХранилищеШаблонов.НайтиПоНаименованию(Наименование).Шаблон.Получить(); ТекПозиция=1; Результат=Распаковать(Значение,ТекПозиция); Пока Результат<>"" Цикл Возвратное.Добавить(Результат); ТекПозиция=ТекПозиция+1; НовРезультат=Распаковать(Значение,ТекПозиция); Если НовРезультат=Результат Тогда прервать; КонецЕсли; Результат=НовРезультат; КонецЦикла; Возврат Возвратное; КонецФункции Функция Распаковать(Значение,Расположение) Экспорт; ЗначениеНайдено=Ложь; ЛевыйСимвол=0; НайденоДелителей=0; ПозицияСимвола=0; Пока ПозицияСимвола<СтрДлина(Значение) Цикл Если Сред(Значение,ПозицияСимвола,1)=";" Тогда НайденоДелителей=НайденоДелителей+1; Если НайденоДелителей=Расположение Тогда ЗначениеНайдено=Истина; Прервать; КонецЕсли; ЛевыйСимвол=ПозицияСимвола+1; КонецЕсли; ПозицияСимвола=ПозицияСимвола+1; КонецЦикла; Результат=Сред(Значение,ЛевыйСимвол,ПозицияСимвола-ЛевыйСимвол); Возврат Лев(Результат,СтрДлина(Результат)-?(Прав(Результат,1)=";",1,0)); КонецФункции ОснованияПлатежа = ВосстановитьХранилищеОбъектов("Перечисление Основание платежа"); |
|||
13
Alexey790th
12.08.11
✎
13:49
|
(12) тип реквизита Шаблон - хранилище значения
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |