В приложении Lotus Notes двойной щелчок по документу не переводит его в режим редактирования?

#lotus-notes #lotusscript #lotus

#lotus-notes #lotusscript #лотос

Вопрос:

У меня есть форма lotus notes, в которой нет никакого сценария, написанного в разделах QueryModeChange или PostModeChange , но для некоторых документов, основанных на этой форме, когда я пытаюсь отредактировать документ, я не могу этого сделать.

Однако, когда я копирую ту же запись (из рабочей базы данных) в другую копию базы данных (сценическая среда), я могу ее отредактировать. Я проверил документ, и он не заблокирован ни у одного пользователя.

Существует запланированный агент, который потерпел неудачу в нескольких похожих записях, указывая на проблему следующим образом:

 Error #4000: "Notes error: Field is too large (32K) or View's column amp; selection formulas are too large"
 

Я не уверен, что это та же проблема, но я попробовал то же решение (то есть скопировал его в другую копию базы данных), и оно сработало.

Может ли кто-нибудь, пожалуйста, помочь мне с этим вопросом?

Комментарии:

1. Есть ли в документе поле типа «Авторы», и текущий пользователь не включен в него и имеет доступ пользователя-автора только в ACL?

2. Нет, в форме нет полей автора.

3. Не всегда достаточно просто взглянуть на форму. Вам действительно нужно посмотреть на фактические документы и проверить каждый элемент в окне прокрутки полей, чтобы увидеть, есть ли какие-либо, у которых есть флаги СВОДНЫХ ИМЕН ДОСТУПА ДЛЯ ЧТЕНИЯ-ЗАПИСИ. Описываемое вами поведение в точности соответствует тому, что можно было бы ожидать, если бы пользователь скопировал документ с защитой доступа для ЧТЕНИЯ и ЗАПИСИ из базы данных, где у пользователя есть права автора, в базу данных с ACL, предоставляющим пользователю права редактора или выше.

4. (Уточнение: я имел в виду поле прокрутки полей в диалоговом окне свойств документа.)

5. Что касается проблемы с ограничением в 32 КБ, можете ли вы определить, влияет ли это на один и тот же набор документов?

Ответ №1:

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

Но что касается проблемы с 32 КБ: есть два способа, с помощью которых это может произойти.

Во-первых, возможно, что элемент в документе действительно содержит более 32 КБ данных.

НО: тогда было бы невозможно редактировать этот документ в ЛЮБОЙ базе данных, в которую вы его копируете, поскольку этот дефектный элемент запрещает открытие в любом случае.

Вторая возможность заключается в том, что результат DBLookup / DbColumn в поле (либо вычисляемое поле, либо список значений для выпадающего списка или что-то в этом роде) превысил границу 32 кб. Как только вы попытаетесь отредактировать документ, поле будет пересчитано и приведет к сбою редактирования.

Ошибка будет такой же, если агент попытается выполнить документ.ComputeWithForm…

Я бы проверил все dblookups / dbcolumns в форме и проверил, не стал ли один из них большим…

Комментарии:

1. Я написал экспорт, чтобы извлечь имя поля и длину значений в нем, максимальная длина, которую я получил, составляла около 6 тыс. символов

2. Это просто подтверждает мое утверждение выше: «… тогда было бы невозможно редактировать … в другой базе данных …».. Это означает: элемент> 32k в настоящее время не хранится в документе, а является вычисляемым полем, которое «переполняется» при пересчете документа…

3. о, хорошо, понял, напишу код для удаления элементов данных один за другим, и после того, как каждый элемент будет удален, попытается сохранить запись, если это не приведет к возникновению какой-либо ошибки, тогда виновником должно быть поле, которое мы только что закрыли … спасибо, пожалуйста, сделайтедайте мне знать, если вы предпочитаете какой-либо другой способ проверить это.

4. Нет, это НЕ поможет, поскольку элементы в документе НЕ являются проблемой… Но, конечно, вы могли бы попробовать… Имхо, единственным способом было бы переименовать исходную форму и создать новую пустую форму с тем же именем. Просто скопируйте одно поле. Если он переходит в режим редактирования, скопируйте еще несколько полей из исходной формы… Если он все еще переходит в режим редактирования, перейдите к следующим полям и так далее…

5. Кажется, что общие сводные данные документа превышали 64 КБ, и это вызывало проблему, я попытался закрыть несколько полей, которые не были нужны, и это сработало.