четверг, 5 сентября 2013 г.

Жесткая связанность таблиц и реструктуризация таблиц в 1С 8

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

Как известно в типовых справочники Контрагенты и Договоры контрагентов жестко связаны. Договор ссылается на Контрагента, как владельца, в свою очередь контрагент ссылается на основной договор.

Попробуем избавиться от жесткой связи, вынеся отношение "основной договор" в отдельный регистр сведений. Измерением будет "хвост" отношения - контрагент, а ресурсом "остриё" - договор. Не забываем и про связь по владельцу.

А в чем же бонус этих манипуляций? А в том, что это отношение можно более гибко расширять, например сделать "основной договор" для каждой из организаций.


Надеюсь нарисовал и написал понятно.

4 комментария:

  1. РС еще сделать периодическим.
    А что мешает, раз уж на то пошло, сделать РС не ОсновныеДоговорыКонтаргентов, а просто РС ДоговорыКонтрагентов с измерением Организация и ресурсом ОсновнойДоговор типа булево ?

    ОтветитьУдалить
  2. Одно время тоже в эту сторону подумал, но вот беда - Договор это все таки сущность, ибо на нее могут быть ссылки

    ОтветитьУдалить
  3. (18) так справочник ДоговорыКонтрагентов никуда не деваются, просто связка не через владельца, а через РС.
    Кстати, тут можно бы было порешать проблему многосторонних договоров. У договора тогда может быть ТЧ с участниками-контрагентами, т.к. договор не принадлежит одному владельцу.

    ОтветитьУдалить
  4. лучше даже, не ТЧ у договора, а опять же через РС УчастникиДоговоров, т.к. состав участников может меняться во времени

    ОтветитьУдалить