Добавление связанного справчника

Доброго времени суток, коллеги!

Возникла недавно задача, добавить новый справочник в раздел "Задачи", именуемый как "Причины неудач", по аналогии как это сделано со справочником "Результаты задач": Причины неудач должны быть зависимы от типов задач.

Первым делом создал новый справочник: "Причины неудач". Его сервисы создались мастером автоматически:

  • Tasks\Dictionaries\TaskFail\ds_TaskFail
  • Tasks\Dictionaries\TaskFail\sq_TaskFail
  • Tasks\Dictionaries\TaskFail\tbl_TaskFail

Далее будьте внимательны! Необходимо очень тщательно проверить все события, функции и их вызовы в следующих вновь созданных сервисах:

  • Tasks\Dictionaries\TaskFail\wnd_TaskFailDictionary
  • Tasks\Dictionaries\TaskFail\wnd_TaskFailDictionaryScript
  • Tasks\Dictionaries\TaskFail\wnd_TaskFailGridArea
  • Tasks\Dictionaries\TaskFail\wnd_TaskFailGridAreaScript

Также пришлось несколько доработать базовые сервисы:
Tasks\Dictionaries\TypeStatus\wnd_TypeStatusGridAreaScript – изменения в

function Initialize(Window)

function Initialize(Window) {
        if (Assigned(Window.ParentContainer)) {
                var ParentDictionaryWindow = Window.ParentContainer.ParentWindow;
                if (ParentDictionaryWindow.Name == 'wnd_TaskFailDictionary') {
                        SetAttribute(Window, 'ParentItemFieldName', 'FailID');
                } else
                if (ParentDictionaryWindow.Name == 'wnd_TaskResultDictionary') {
                        SetAttribute(Window, 'ParentItemFieldName', 'ResultID');
                }
        }
        SetAttribute(Window, 'EditWindowUSI', 'wnd_TypeStatusEdit');
}

добавлено поле FailID в сервисы:

  • Tasks\Dictionaries\TypeStatus\tbl_TypeStatus
  • Tasks\Dictionaries\TypeStatus\ds_TypeStatus
  • Tasks\Dictionaries\TypeStatus\sq_TypeStatus

в sq_TypeStatus также добавлен Параметр и Фильтр сравнения FailID.

После правильного применения всех изменений, в настройках справочников указываем окно реестра справочника "Причины неудач" как: Tasks\Dictionaries\TaskFail\wnd_TaskFailDictionary

Проверяем работу: TaskFail_3.png
taskfail_3.png

Сервисы и скриншоты также прилагаются.

Нравится

Поделиться

1 комментарий

Эх, на пару дней бы раньше, а то мы велосипед изобретали :)

Показать все комментарии