gifts2017

Дерево зависимостей видов расчета для ЗУП

Опубликовал Николай Больсунов (boln) в раздел Программирование - Практика программирования

Обработка выводит на экран полную иерархию (дерево) зависимостей регламентированных видов расчета по всем трем видам: Вытесняющие, Базовые, Ведущие - как прямую (он зависит от...), так и обратную (от него зависят...).


Обработка предназначена для вывода на экран дерева зависимостей видов расчета организаций (регламентированного учета) конфигурации ЗУП 2.5 (8.1). Для выбранного вида расчета выводится полная иерархия зависимостей по всем трем видам: Вытесняющие, Базовые, Ведущие.

На двухстраничной панели отображаются два дерева: первое показывает прямую зависимость видов расчета (ВР) от выбранного вида расчета, второе - обратную зависимость. Например, если отношение прямой зависимости выражается как "Для него являются ведущими...", то отношение обратной зависимости будет "Он является ведущим для...", и т.п. Отношение зависимости отображается в виде заголовков страниц панели.

Для каждого отображенного ВР в виде подчиненных элементов отображаются ВР, которые находятся в том же отношении с данным ВР. Например, если выводится отношение "Для него являются базовыми...", то для каждого вида расчета, который является базовым для заданного ВР, показываются как дочерние элементы его базовые ВР, и т.д. на всю глубину дерева зависимости.

Вид расчета выбирается в поле ввода "Вид расчета" из следующих планов видов расчета (ПВР): ОсновныеНачисленияОрганизаций, ДополнительныеНачисленияОрганизаций, УдержанияОрганизаций, СреднийЗаработок. Требуемый вид зависимости выбирается установкой переключателя "Зависимость" в одно из трех положений: "вытесняющие", "базовые", "ведущие". После этого нажимается кнопка "Получить" – и на страницы панели выводятся деревья заданной зависимости, прямой и обратной.

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

Кнопка "Горизонтальные линии" управляет отображением горизонтальных разделительных линий в полях вывода деревьев зависимости.

Флажок "Проверять циклическую зависимость" позволяет включить контроль того, не зависит ли данный ВР от самого себя - прямо или опосредованно, через другие виды расчета. Например, если данный ВР поместить в его табличную часть "Базовые виды расчета" или в эту табличную часть того ВР, от которого он зависит по базе прямо или опосредованно, то для данного ВР возникает циклическая зависимость по базе. Платформой циклические зависимости не запрещаются, поэтому такой факт принципиально возможен. Поэтому, если флажок "Проверять циклическую зависимость" установлен, то ВР, циклически зависящие от себя, помечаются в дереве зависимости специальной пиктограммой:  , и на некотором уровне иерархии этого ВР всегда можно отыскать его самого (его название в этом случае выделяется красным цветом). Контроль циклической зависимости несколько снижает скорость работы, но, если его отключить, то наличие циклической зависимости вызовет безконечную рекурсию и приведет к падению платформы. По умолчанию контроль циклической зависимости включен.

Флажок "Сортировать по наименованию" позволяет включить или отключить сортировку видов расчета в дереве по наименованию в алфавитном порядке. По умольчанию флажок установлен.

На обеих страницах панели внизу справа имеется кнопка "Вывести список", позволяющая вывести дерево соответствующей зависимости в табличный или текстовый документ.

Двойной щелчок по строке с видом расчета открывает форму вида расчета.
      

 

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

Наименование Файл Версия Размер
- 228
.zip 60,29Kb
03.04.14
228
.zip 60,29Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Николай Больсунов (boln) 18.03.08 17:35
1. Исправлены мелкие недочеты.
2. Добавлен вариант для ЗУП 2.1 (8.0)
2. Николай Больсунов (boln) 12.04.08 12:31
Добавлена возможность получить зависимости для всех видов расчета организаций.
3. gematogen (Safronov_S) 26.12.08 11:32
Замечательная обработка. Спасибо.
Помогла при получении списка базовых видов расчета.
4. test_prof (Intimatik) 26.12.08 11:38
5. Eugen_Vip (Eugen_Vip) 05.08.09 17:06
Мало того работает и на УПП.(чего бы ей не работать - объекты теже) Но что-то на файловой при попытке выяснить базовые, система падает с записью дампа О_о
6. Николай Больсунов (boln) 06.08.09 12:36
(5) Eugen_Vip
На базовых? ИМХО, здесь дело не в файловом варианте. Возмжно, для какого-то ВР в ТЧ Базовые имеет место циклическая зависимость, т.е. он прямо или опосредованно зависит по базе сам от себя. В этом случае возникнет безконечная рекурсия, и платформа упадет по переполнению стека. До сих пор я не пробивал ПВР на наличие циклических зависимостей. Пожалуй, пришла пора над этим подумать.
Спасибо за сообщение.
7. Eugen_Vip (Eugen_Vip) 07.08.09 17:19
(6) Да. так оно и есть. Я проверил на одном виде расчета(Отпуск ежегодный) в его базу входит РасчетСреденегоДляОтпусков, в базу которого входит сам Отпуск ежегодный, ну и т.д.
Тут необходимо отлавливать тот момент, что если ВыбранныйВидРасчета = полученному в ходе цикла, то пропускать и смотреть далее, а не заглядывать внутрь(т.е. внутрь самого себя)
Было бы еще тож оч удобно если и для упр.учета такую бы вещь прикрутить. Возможно даже объеденить в одной обработке. ИМХО это решается добавлением обрабатываемых типов.
8. Николай Больсунов (boln) 07.08.09 23:15
Добавлен контроль циклической зависимости видов расчета от самих себя.
9. Николай Больсунов (boln) 09.08.10 16:23
Добавлен вариант для управляемого режима (ЗУП КОРП), работает под толстым и под тонким клиентом.
В ЗУП тоже работает, если запустить в управляемом.
10. Владимир (Софтэксперт) 02.11.11 16:18
Пригодилось для анализа нестандартных видов расчетов
11. Алекс Ю (AlexO) 09.04.12 13:16
Отличная обработка.
Главное - все красиво и по делу ))
12. Николай Больсунов (boln) 03.04.14 18:21
Добавлен вариант для ЗУП 3.0 (платформа 8.3)
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа