Как создать сложный справочник (аналог "Корреспонденты")
Добавлено: 14 май 2012, 15:06
В FossDoc 5 была введена возможность создавать быстро новые типы документов и справочники. Но что если вам требуется не простой справочник с одним полем "Имя" а такой , в котором справочные записи будут сами состоять из нескольких полей? Пример такого справочника - справочник "Корреспонденты". В такой записи кроме имени есть и где есть адрес организации, ФИО руководителя и т.п.
Скажу сразу - в ближайшем новом релизе эти "страшные" действия делать не потребуется (будет проще!), но по просьбам наших клиентов мы публикуем "мастер-класс" по созданию собственного СЛОЖНОГО справочного поля уже сейчас.
Итак, по порядку - считаем, что вы уже создали библиотеку и свой тип документа.
1) Создаем справочное поле как обычно, сохраняем 2) После этого у вас в библиотеке должна появиться категория для данного справочника: 3) Меняем типизацию категории, сделаем ее не простым справочником а «типом документа». Для этого скопируйте в буфер обмена вот этот идентификатор: 0000000458925B5007B14F9E8701BF31A503D7D9.
4) Идем на вкладку «Объект» вашей категории справочного поля 5) В поле «Категория» - вытираем то что там написано, вставляем идентификатор из буфера обмена и нажимаем Enter. У вас должно получиться как на рисунке «FossDoc.Business logic.Document type». Нажмите сохранить изменения. после вставки идентификатора и Enter:
6) В ветке «Родительские категории» у вашей справочной записи удалите ссылку на категорию «Business logic.Dictionary» 7) Скопируйте в буфер обмена идентификатор:
00000004D1E030D9CE6A4771B2B0546D78686020
8) Идем в ветку «Родительские категории» вашей справочной записи, и делаем «Вставить ссылку». 9) В итоге у вас должно получиться вот так: Вы можете добавлять любые поля как и в тип документа.
Обратите внимание на "наследование" - изначально справочные записи наследовались от "FossDoc.Business logic.Dictionary document" (Справочная запись), а мы удалили это наследование и заменили его на "Документ" (FossDoc.Business logic.Document). Это дало возможность добавлять любые поля, аналогично как в тип документа.
10) Из под клиента это будет выглядеть вот так:
Скажу сразу - в ближайшем новом релизе эти "страшные" действия делать не потребуется (будет проще!), но по просьбам наших клиентов мы публикуем "мастер-класс" по созданию собственного СЛОЖНОГО справочного поля уже сейчас.
Итак, по порядку - считаем, что вы уже создали библиотеку и свой тип документа.
1) Создаем справочное поле как обычно, сохраняем 2) После этого у вас в библиотеке должна появиться категория для данного справочника: 3) Меняем типизацию категории, сделаем ее не простым справочником а «типом документа». Для этого скопируйте в буфер обмена вот этот идентификатор: 0000000458925B5007B14F9E8701BF31A503D7D9.
4) Идем на вкладку «Объект» вашей категории справочного поля 5) В поле «Категория» - вытираем то что там написано, вставляем идентификатор из буфера обмена и нажимаем Enter. У вас должно получиться как на рисунке «FossDoc.Business logic.Document type». Нажмите сохранить изменения. после вставки идентификатора и Enter:
6) В ветке «Родительские категории» у вашей справочной записи удалите ссылку на категорию «Business logic.Dictionary» 7) Скопируйте в буфер обмена идентификатор:
00000004D1E030D9CE6A4771B2B0546D78686020
8) Идем в ветку «Родительские категории» вашей справочной записи, и делаем «Вставить ссылку». 9) В итоге у вас должно получиться вот так: Вы можете добавлять любые поля как и в тип документа.
Обратите внимание на "наследование" - изначально справочные записи наследовались от "FossDoc.Business logic.Dictionary document" (Справочная запись), а мы удалили это наследование и заменили его на "Документ" (FossDoc.Business logic.Document). Это дало возможность добавлять любые поля, аналогично как в тип документа.
10) Из под клиента это будет выглядеть вот так: