Directum. Пользовательский выбор из справочника. Ссылка на самого себя

Расскажу про пользовательский выбор из справочника, когда в справочнике используется ссылка на самого себя (тот же справочник) в табличном разделе. Ну нужно мне так 🙂

Есть два варианта реализации:
1. Выводить предупреждение, когда пользователь выбирает тот же справочник, что у нас уже открыт (ссылку на самого себя).
2. Переопределить выбор из справочника, исключив из вывода текущий справочник.

Итак, реализуем:

1. В событии нашего справочника Карточка.Открытие пишем:

  if not Sender.Inserted //если это не новая запись
//  запишем в переменную окружения(используется при выборе детального раздела, если юзер неверно выбрал подобъект) 
  if (Object.DetailExists(1))
    ODS = Obje

Читать

Directum. Проверка заполненности реквизитов справочников

Directum. Проверка заполненности реквизитов справочников.

В системе имеется проверка на заполненность обязательных реквизитов справочника при сохранении. Но у меня возникла такая ситуация. Я использую представления справочника. И в одном из представлений один из реквизитов должен являться обязательным, а в другом - вообще не используется. Соотвественно, если его ставить обязательным - система во втором случае будет выдавать ошибку, ведь на форме представления справочник указан не будет.

Решение такое, добавляем в обработчик Сохранение.Возможность это:

//Для представления Представление проверим реквизит Реквизит1 на заполненность 
  CNTRCT_VIEW_NAME = "Представление"
  if СпрТекПредст() == CNTRCT_VIEW_NAME
    Requisite = Object.FindRequisite("Реквизит1")
    if (Requisite.Required or (VarIsNull(Requisite.Value) or trim(Requisite.AsString) == ''))
      Raise(CreateExcep

Читать

Directum. Как организовать блокировку записей справочника?

Спёрто тут

В системе DIRECTUM по умолчанию на записи справочника не устанавливаются блокировки. Например, Ольга Петровна открывает запись справочника "Входящие РКК", в это же время Михаил Андреевич открывает эту же запись. Оба пользователя вносят изменения. Ольга Петровна нажимает кнопку "Сохранить" раньше Михаила Андреевича. В этом случае все изменения Ольги Петровны сохранены не будут, а запись справочника "Входящие РКК" заполниться значениями, которые указал Михаил Андреевич.

Для того, чтобы подобной ситуации не возникало, необходимо программно реализовать механизм блокировки записей справочников, для этого:

1. В событии "Карточка \ Открытие" нужного справочника необходимо поместить вычисления, которые установят блокировку:
if Object.AccessInfo.CanUpdate
if not Object.GlobalLock.TryLockObject
Object.GlobalLock.Locked
Raise(CreateException(''; Format('Запись с ИД = %s за
Читать

Функции отображения в карточке справочника связанных справочников

Тут написано как отобразить в карточке справочника связанные документы или задачи в cистеме Directum.
Я немного модернизировала эти функции с тем, чтобы отобразить связанные справочники таким же образом.

Алгоритм работы функций:
1. В функции передаются нужные параметры;
2. Формируется HTML-документ, в котором отображается таблица с связаными справочниками;
3.
Читать