#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 КБ, и это вызывало проблему, я попытался закрыть несколько полей, которые не были нужны, и это сработало.