DmT
1

отбор значений при помощи @dbcolumn

10.02.2011, 15:31. Показов 19236. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго всем времени суток!

Есть поле "Контрагент" тип DialogList c формулой отбора @DbColumn("":"NoCache";"C2257054:0022BD69";"Contr";1).
Т.е. у меня есть общая БД "Контагенты" из которой происходит выбор.

Вчера начались грабли, при попытке выбора выдается: "The specified database lookup generated more than 65,000 bytes of results, which is too large for Notes to handle in thys context."
Документов в представлении "Contr" - 2130 шт., каждый объемом в среднем 100 байт.

Как разрулить? Надеюсь что у вас были в практике такие случаи
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.02.2011, 15:31
Ответы с готовыми решениями:

рубануть пару значений слева при помощи @-формул
Очень надо обрезать значение при помощи @-формул. Как можно сделать

Выбор случайных значений из БД при помощи ASP.
Можно ли при помощи ASP сделать выборку из таблицы БД любой случайной записи по аналогии с random?...

Вывод значений при помощи printf из ассемблерной вставки в VS2012
Здравствуйте! делаю как на мсдн написано, а не работает( int a=0; int x=3; int N=4; __asm...

Отбор в таблице значений по условию четных и нечетных значений
Здравствуйте, учусь работать с таблицами значений, дали задачу, написать форму и что бы в одной тч...

11
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
10.02.2011, 15:43 2
1. NoCache - может не использовать?
2. хранить вложения отдельно
0
DmT
10.02.2011, 15:45 3
вложений в документах контрагентов нет. Там всего-то два поля текстовых. А NoCache щаз проверим...

UPD: удаление NoCache не повлияло на результат
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
10.02.2011, 15:51 4
эти текстовые поля где то в видах отображаються? есил нет, то поставить им флаг суммари - фальш
0
0 / 0 / 0
Регистрация: 04.08.2008
Сообщений: 408
10.02.2011, 16:07 5
Цитата Сообщение от DNT
Документов в представлении "Contr" - 2130 шт., каждый объемом в среднем 100 байт.
а это разве не больше 65к? Что там в первом столбике у вас. На 65к средняя длинна не должна 30 символов превышать. Заменить дайлоглист на кнопочку с пиклистом каким и будет счастье.
0
DmT
10.02.2011, 16:17 6
Цитата Сообщение от xalet
а это разве не больше 65к? Что там в первом столбике у вас. На 65к средняя длинна не должна 30 символов превышать. Заменить дайлоглист на кнопочку с пиклистом каким и будет счастье.


ух ты! получилось! удалил пару длинючих названий - заработало. Про 30 символов слышу первый раз, это откуда?
0 / 0 / 0
Регистрация: 04.08.2008
Сообщений: 408
10.02.2011, 16:21 7
Цитата Сообщение от DNT
Про 30 символов слышу первый раз, это откуда?
это 6500 / 2130



Цитата Сообщение от DNT
ух ты! получилось! удалил пару длинючих названий - заработало. Про 30 символов слышу первый раз, это откуда?
решение временное... добавится еще несколько доков и опять поломается.
0
DmT
10.02.2011, 16:59 8
Цитата Сообщение от xalet
это 6500 / 2130

добавил новый вид в котором первый столбец это количество символов в названии. Просуммировал его и получил 29 153 символа, если следовать вашей логике то это 29 153 байт. До 65000 как-бы далеко .... Или считать нужно не только первый столбец? А и второе поле? Тогда действительно цифра подкрадывается к 65000.
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
10.02.2011, 17:05 9
Если названия русские, то символ весит 2 байта.
0
DmT
10.02.2011, 17:25 10
Цитата Сообщение от Medevic
Если названия русские, то символ весит 2 байта.


спс. я туплю. СПАСИБО
0 / 0 / 0
Регистрация: 15.09.2006
Сообщений: 99
13.02.2011, 05:06 11
"Прямых" решений нет. Ограничение в лотусах существует и это неизбежное зло. Мало того это ограничение осталось даже в xPages на JSовском @Dbcolumnе \@Dblookupe (вот я был в шоке :ithx: ).
Cпособы решения в данной ситуации зависят от задачи и контекста, можно дать только общие рекомендации.
вот несколько наиболее распространенных:
1. не использовать в "поле "Контрагент" тип DialogList". делается просто поле, а значения выбираются по кнопке через PickList.
2. список из 2130 позиций мягко говоря бессмыленен, искать в нем сложно, листать долго, нужно точно помнить как контрагент определен в базе, что бы можно было по первым буквам хотя бы хоть как-то облегчить себе жисть. так что обычно контрагентов как-то делят на "категории" и перед выбором контрагента опрежеляется эта категория, а далее делается @DBLookup c учетом категории - выборка будет гораздо короче.
3. список состоит из усеченного названия, например "Рога и копы...", а далее через вертикальную черту "код документа" (например UNID) (cписок формируйте в колонке вида). в итоге, в поле контрагент будет "идентификатор" контрагента, а уже по этому идентификатору "лукапить" всю остальную необходимую информацию.
0
DmT
13.02.2011, 09:03 12
Спасибо за развернутый ответ! Теперь мне понятны рамки и перспективы.
БД Контрагенты у меня ведется ответственными пользователями уже несколько лет, и сейчас предстоит увеличение думаю на 25% за этот год. Поэтому надо думать .... Мне кажется второй вариант самое гибкое решение - трудность лишь в том, что сейчас "разбить" 2000 записей на группы это геморрой для пользователей, никто этим заниматься не будет.
Наверно буду писать агента: проходим по всем БД где используются контрагенты + по всем документам где есть привязка к категории (а таких большинство) и тянем эту категорию в контрагента.... как-то так, в общем есть чем заняться. Еще раз СПАСИБО!
13.02.2011, 09:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2011, 09:03
Помогаю со студенческими работами здесь

Возможность передать при помощи определения #define двух численных значений через запятую?
//------------------------------------ примерный вид кода ----------------- // определение...

отбор значений
Помогите пожалуйста организовать отбор в форме касса. необходимо, чтобы после выбора периода в...

Отбор в древе значений
Добрый день. 8.1 учебная Есть вот такой код Запрос = Новый Запрос("ВЫБРАТЬ ...

Отбор и сортировка значений на листе
На листе Excel в колонках C-D,F-G,I-J содержатся цифровые значения, в колонках E,H - точки для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru