Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Волшебство программирования на 1С:Предприятие 7.7 и 8.0 Выпуск 29


Информационный Канал Subscribe.Ru


Волшебство программирования на 1С:Предприятие 7.7 и 8.0

Здравствуйте! В данном выпуске я предложу интересный способ представления структуры конфигурации.

Матрица взаимосвязей

Для программистов и IT-специалистов постоянно возникает задача разобраться в сложной программе, например, конфигурации для 1С:Предприятия. Как разобраться в совершенно незнакомой или малознакомой конфигурации? Как удержать в памяти все справочники, документы, регистры и отчеты? Как распутать клубок взаимосвязей между ними? Способов борьбы со сложностью программ много, сейчас я предложу еще один. Изобрел его конечно не я, мое дело просто предложить его к использованию.

Возьмем небольшую конфигурацию и представим ее структуру с помощью следующих средств:

Способ 1. Список связанных объектов

Объект конфигурации
Связанные объекты
Справочник Номенклатура Док. Приход, Продажа
Рег. накопл. ОстаткиТоваров, Продажи
Отчеты Остатки, АнализПродаж
Справочник Склады Док. Приход, Продажа
Рег. накопл. ОстаткиТоваров
Отчет Остатки
Справочник Валюты Рег. свед. КурсыВалют
Док. Приход, Продажа
Рег. накопл. Продажи
Документ Приход и так далее...
Документ Продажа
Регистр сведений КурсыВалют
Регистр накопления ОстаткиТоваров (регистр остатков)
Регистр накопления Продажи (регистр оборотов)
Отчет Остатки
Отчет АнализПродаж

Однако, когда взаимосвязей много, то объекты начинают повторяться и пропадает целостная картина. В этом случае я предлагаю построить матрицу из объектов конфигурации.

Способ 2. Матрица взаимосвязей

 
Спр. Номенклатура
Спр. Склады
Спр.
Валюты
Док.
Приход
Док. Продажа
РС. КурсыВалют
РН. ОстаткиТоваров
РН. Продажи
Отч. Остатки
Отч. АнализПродаж
Спр. Номенклатура
 
 
 
 
 
 
 
 
 
Спр. Склады
 
 
 
 
 
 
 
 
 
Спр. Валюты
 
 
 
 
 
 
 
 
 
Док. Приход
C
P
C
 
R
W
 
 
 
Док. Продажа
C
P
C
 
R
W
W
 
 
РС. КурсыВалют
 
 
D
 
 
 
 
 
 
РН. ОстаткиТоваров
D
D
 
 
 
 
 
 
 
РН. Продажи
D
 
D
 
 
 
 
 
 
Отч. Остатки
R
R
  
 
   
 
R
 
 
Отч. АнализПродаж
R
 
R
 
 
R
 
R
 

Буквами можно обозначить виды связей между объектами:

Буква
Расшифровка
Комментарий
P
Property Реквизит, свойство
C
Column Колонка табличной части
D
Dimension Измерение регистра
R
Read Читает в программном модуле
W
Write Записывает (изменяет) в программном модуле
O
Owner Владелец
V
Value Ресурс регистра
...
... и так далее...

Для упрощения матрицы пустые строки и колонки можно удалить, но тогда скорее всего нарушится красивая диагональ. :) Кстати, в закрашенных диагональных ячейках тоже что-то может быть, если объект связан с самим собой. Названия колонок можно повернуть под углом 90%, тогда матрица станет более обозримой.

Преимущества такого способа представления:

  1. Такую матрицу можно составить в автоматическом или полуавтоматическом режиме. В 1С:Предприятии 7.7 и 8.0 есть возможность чтения структуры метаданных, поэтому предлагаю заинтересовавшимся проявить свои таланты и написать обработку, которая формирует эту матрицу в максимально наглядном виде. Попытайтесь! Если получится, история вас не забудет!
  2. Такая матрица позволяет заранее оценить затрагиваемую область конфигурации при внесении изменений.
  3. Можно автоматизированно находить недочеты в структуре конфигурации.
  4. От матрицы взаимосвязей можно автоматизированно перейти к другому представлению структуры конфигурации: диаграмме, блок-схеме или другой таблице.
  5. Этот способ может быть использован с любыми другими средствами разработки, не только 1С:Предприятие. В качестве объектов конфигурации могут выступать таблицы, формы, отчеты, файлы, модули, главы документации и т.д.

Недостатки:

  1. При возрастании количества объектов конфигурации матрица становится огромной, например, 200 объектов конфигурации порождают 200х200 = 40 000 клеток, которые нужно проанализировать при ручном заполнении. Работать с большой матрицей становится сложно. Но никто не запрещает построить несколько таких матриц или из одной большой получать ее фрагменты, применяя различные фильтры, например, по подсистемам, по видам связей, по видам объектов (можно выделить документы и регистры, а также регистры и отчеты в отдельные матрицы).
  2. Матрица не полностью отражает структуру конфигурации, например, в ней не показаны реквизиты и ресурсы регистров примитивных типов данных. Желающим предлагаю доработать матрицу или предложить свой способ наглядного представления структуры конфигурации.
У кого есть дельные мысли, просьба высказываться на адрес stasmit@mail.ru
Жду ваших обработок и целых конфигураций на эту тему!



См. также:
1С:Предприятие 7.7: учебник, курс лекций, статьи, ссылки
Книга "Разработка в системе 1С:Предприятие 8.0"

Официальный сайт рассылки www.mista.ru
Архив выпусков этой рассылки здесь

С уважением,
Волшебник Станислав

stasmit@mail.ru


 



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное