IE 2017

Структура подчиненности, вариант отображения циклических ссылок.

Программирование - Практика программирования

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

Много байтов исписано про структуру подчиненности, далее СП. Ваш покорный слуга тоже пытался что-то сказать по этому поводу:  Братья и сестры, кузены и кузины в Структуре подчиненности. Но там речь шла о СП без отображения циклических ссылок.

Более всех на infostartе на тему СП пишет, наверное, vladnet.  И как правильно отобразить циклические ссылки показал он же в Структура подчинености. Правильное отображение.

На основе этой публикации и создан данный отчет. С разрешения автора часть вышеупомянутой работы присутствует здесь.  Там СП выводится в поле графической схемы. Но пользователи 1с привыкли видеть СП в табличном документе. К тому же СП в табличном документе – компактнее. Вывести СП с циклическими ссылками в табличный документ и попытался автор в данном отчете. Если считать линии привычной пользователям 1с СП направленными вниз, для отображения циклических ссылок автор использовал более светлые  линии направленные вверх.  Из упомянутой публикации перенесена также возможность вывода  в графическую схему.

Кроме того добавлена возможность формирования СП по любому критерию отбора, и даже по произвольным типам родительских и подчиненных объектов без указания критерия отбора.

Дополнительно в контекстное меню добавлена возможность

  •    - установки/снятия пометки удаления,
  •    - вывод встроенной в конфигурацию структуры подчиненности.

 Формирование СП по типам, отличным от документов, понадобилось, например, в 1с-Документооборот, где для представления документов используются справочники. Можно придумать и другие применения. Для указания произвольных типов объектов поле критерия отбора должно быть очищено.

Типы финишных документов указываем, если не надо показывать структуру далее этого типа. Например, если не указать в качестве финишного тип «Формирование записей книги покупок», то при выводе СП документа «Поступление товаров и услуг» отобразятся практически все документы этого типа за месяц со своими связями (рис 2).

Немного о грустном:

До детализации по реквизитам как в Универсальная структура подчиненности документов не доведено.

Оптимизация по быстродействию не произведена. Так что к Пользователи плачут от скорости работы структуры подчинённности. добавится еще несколько «н» Smile.

Хотя и проверен на нескольких конфигурациях, отчет предоставляется как есть, без всяких гарантий.

UPD: Добавил флажки "Выводить подчиненных у родителей" и "Выводить родителей у подчиненных", что позволяет в большинстве случаев обходиться без явного указания финишных типов.

 

UPD2: Добавил процедуру сбора коллекции коннекторов. Намеревался заменить 78 макетов коннекторов двумя макетами коллекций коннекторов, чтобы облегчить переделку в общую форму, однако не обнаружил методов работы с коллекцией картинок. Видимо, фирма 1с считает, что библиотека картинок может быть только одна (встроенная в конфигурацию). Обнаружилось также, что фирма 1с считает, что в формате BMP biHeight  типа DWORD(беззнаковое), а не LONG(знаковое)J. Мой флажок «Порядок сверху» также работает некорректно – картинки переворачиваются (не стал копаться). Тем не менее процедура заполнения коллекции коннекторов, помогла обнаружить несколько ошибок в таблице коннекторов. Использованы v8: Как получить картинку из коллекции по индексу? (с)Шеметов Дмитрий (пришлось пожертвовать безопасным режимом). Сделано только для управляемых форм, по быстродействию конкурирует с черепахой J.

UPD3: Добавлена возможность формирования по регистру сведений, например, СвязиДокументов.

UPD4: В UPD2 зря гнал пургу на фирму 1с :). Оказывается, можно обойтись одним макетом. В версии 01 картинки вложены в макет.

UPD5: Добавил пример БД с общими формами СП (обычной и управляемой).

UPD6: Исправлена ошибка: планы видов расчета не включались в дерево метаданных.

Скачать файлы

Наименование Файл Версия Размер
Версия 01
.epf 116,21Kb
09.06.12
93
.epf 116,21Kb 93 Скачать
СтруктураПодчиненности82.epf
.epf 176,67Kb
28.04.12
104
.epf 176,67Kb 104 Скачать
Пример БД с общими формами СП (обычной и управляемой)
.dt 102,70Kb
06.04.12
27
.dt 102,70Kb 27 Скачать

См. также

Комментарии
0. 09.02.12 08:45 Сейчас в теме
Вывод структуры подчиненности с циклическими связями в привычный пользователям 1с табличный документ.
Вывод по любому критерию отбора на выбор и даже без критерия отбора, указав лишь типы родительских и подчиненных документов.
Для управляемых и обычных форм.


Перейти к публикации

1. Oleg Moskvichev (m_aster) 68 29.03.12 09:49 Сейчас в теме
2. Oleg Moskvichev (m_aster) 68 29.03.12 09:53 Сейчас в теме
Выдает ошибку в типовой БП 2.0, на "ВЫБРАТЬ"
3. gks 31.03.12 09:35 Сейчас в теме
(2) m_aster,
Не смог смоделировать ошибочную ситуацию.
Можно поподробнее?
4. Гость 07.06.12 10:17 Сейчас в теме
{Форма.ФормаО.Форма(326)}: Ошибка при вызове метода контекста (ЗначениеИзФайла)
лНастройкиТипы = ЗначениеИзФайла(КаталогВременныхФайлов() + "СтруктураПодчиненностиНастройкиТипы");
по причине:
Ошибка преобразования

Может имелось ввиду это? У меня так на БП,УТ и УПП
5. gks 09.06.12 10:45 Сейчас в теме
Восстановил, чтобы в обычной форме ЗначениеИзФайла делалось через Попытку (в управляемой так и было).
7. Константин Куликов (Светлый ум) 210 06.11.16 08:05 Сейчас в теме
+1. Класс - отработала в тонком клиенте 8.3
Оставьте свое сообщение