Возможность указывать структуру Холдинга
Здравствуйте, я пытаюсь внедрить Ваш продукт в своей работе, НО камнем приткновения явилось отсутствие возможности указывать структуру холдинга. Ваш продукт интересен, благодаря возможности синхронизироваться с Outlook. Но отсутствие выше указаной возможности может загубить все дело на корню.
В поставляемой документации говориться о возможности создания любой конфигурации через Дизайнер интерфейсов + Конфигуратор. Вот только нехватает наглядного примера с четкой последовательностью действий.
В идеале иметь справочную документацию, которая при вызове из любого окна программы, подробно описывала все поля, кнопки и их назначение. (Иногда и с примерами)
Или получить четкие разъяснения на моем конкретном примере.
Т.к. на сегодня я смог создать вклдку (холдинги) в окне контрагеты, но не знаю как увязать ее в работе системы.
Customer support service by UserEcho
Здравствуйте!
Для того, что бы предоставить наглядный пример, необходимо более четко сформулировать задачу. Каким именно образом Вы хотите описывать структуру холдига - вхождения контрагентов, подчиненные юридические лица, подразделения и т.д. и т.п.?
Следующим значимым аспектом, который повлияет на метод решения задачи - является способ использования данной информации, а именно - где и в каких отчетах/интерфейсах она должна отображаться и в каком виде?
Как только будут конкретизированы требования - можно будет разбирать этот наглядный пример.
Хорошо, я с радостью опишу видение этого процесса своими глазами, но я только начал осваивать ваш продукт, поэтому все нюансы исопльзования данной информации предусмотреть срзу не смогу.
Итак:При выборе любой компании в этом списке, можно быстро переключиться на ее карточку.
Что касается вывода информации в отчет, то:
Как минимум нужно иметь возможность увидеть табличную (графическую было бы здорово) форму отчета где отображена информация согласно рисунку выше. с указанием
- адреса организации,
- контактных лиц
- организаций с которыми уже взаимодействуем.
Если Вы мне поможете создать такое в вашей программе, то по мере работы все необходимые поля и прочие возможности, которые упустил в этом описании, я смогу создать сам.Ещё раз, здравствуйте!
В древовидной форме на текущий момент представить информацию не получится... :( Точнее в форме привычного раскрываемого дерева. Но можно представить информацию в виде стандартной таблицы-списка, где записи более низкого уровня сдвигать относительного их родительского элемента. Получится нечто вроде вот такого списка:
1. Компания_1
2. Компания_2
2.1 Компания_3
2.2 Компания_4
3. Компания_5
3.1 Компания_6
Как видно иерархия вложенности определяется отступами (пробелами в начале строки) и порядковым номером.
Теперь следующие вопросы:
- может ли одна компания в ходить в структуру различных иерархий (холдингов)?
- когда в реестре контрагентов выделена Компания_2 (см. мой пример выше), то каким образом для ней должно выглядеть содержание вкладки "Холдинг" ? Только компании 3 и 4 или необходимо для всех участников холдинга отображать полную структуру всего холдинга?
Когда я интересовался вариантами использования информации - речь шла о уже реализованных аналитиках (количественных и суммовых), которые сейчас отталкиваются от каждого отдельного контрагента. В случаях с холдингами, как правило, возникает желание видеть картину как по холдингу в целом, так и по отдельным его участникам. А это накладывает весьма экзотические требования к эргономике интерфейсов и логике аналитик. Если таковых потребностей, то задача сводится к реализации интерфейса справочного представления иерархических взаимосвязей. Это решаемо. :)
Как видно иерархия вложенности определяется отступами (пробелами в начале строки) и порядковым номером.
Отлично! Такой вариант тоже сойдет (более чем) нельзя конечно будет свернуть компании по "уровням вложенности" как это реализовано в древовидном списке. Но это мелочь. - может ли одна компания в ходить в структуру различных иерархий (холдингов)?- может ли одна компания в ходить в структуру различных иерархий (холдингов)?
На практике не встреччал подобного. Нет.
- когда в реестре контрагентов выделена Компания_2 (см. мой пример выше), то каким образом для ней должно выглядеть содержание вкладки "Холдинг" ? Только компании 3 и 4 или необходимо для всех участников холдинга отображать полную структуру всего холдинга?
Нужно видет всю стркутуру. А текущую компанию выделить
1. Компания_1
2. Компания_2
2.1 Компания_3
2.2 Компания_4
3. Компания_5
3.1 Компания_6
В случаях с холдингами, как правило, возникает желание видеть картину как по холдингу в целом, так и по отдельным его участникам. А это накладывает весьма экзотические требования к эргономике интерфейсов и логике аналитик. Если таковых потребностей, то задача сводится к реализации интерфейса справочного представления иерархических взаимосвязей. Это решаемо. :)
Хотелось бы конечно применять и возомжности аналитики (надеюсь в будущем доработаете этот момент), но согалсен и на справочное представление иерархии.
Правда очень нужна возможность создания табличного отчета по холдингам со списками всех дочерних предприятий. И чтобы все предприятия, которые выгружаю в эксель имели столбец холдинг. Это возможно?!
Ещё раз здравствуйте!
Методологии решения задачи получается несколько:
Вариант первый...
Конфигуратор
1. На карточку контрагента (класс "Контрагенты) добавить атрибут "Входит в холдинг" - ссылка на контрагента
2. Создать новый класс "Структура холдинга" (в нём будем хранить глубину вложенности и структуру отступов с номерами):
- Холдинг (ссылочный на Контрагенты - самый верхний уровень, куда входит, обязательный)
- Подразделение (ссылочный на Контрагенты - текущий уровень, куда входит, обязательный, по умолчанию равен верхнему уровню)
- Контрагент (ссылочный на Контрагенты - кто входит, обязательный)
- Отображение (строка, где будем вычислять отображаемый в дереве формат)
3. На карточку контрагента (класс "Контрагенты) добавить атрибут "Подразделение холдинга" - ссылка на класс "Структура холдинга".
Дизайнер интерфейсов
1. В реестр контрагентов добавить вкладку "Холдинг"
2. Добавить таблицу с классом контрагенты, где указать зависимость через обратную ссылку на атрибут Холдинг в основной таблице Контрагентов. Это позволит в отдельной таблице дизайнера интерфейсов видеть верхний уровень всей структуры.
3. На вкладку Холдинг разместить таблицу и в ней отобразить класс "Структура холдинга" с атрибутом "Отображение". Эту таблицу сделать зависимой от таблицы, созданной в п.2 по атрибуту холдинг. Таким образом неважно на какую часть структуры встанет курсор в основной таблице - на вкладке всегда будет отображена вся структура.
Особенности реализации
Необходимо написать триггер, который при указании ссылки на холдинг будет создаться запись в классе "Структура холдинга" с вычисленным кол-вом отступов и ссылками на контрагента и самый верхний уровень холдинга.
Вариант второй...
Конфигуратор
1. На карточку контрагента (класс "Контрагенты) добавить атрибут "Входит в холдинг" - ссылка на контрагента.
2. Разработать виртуальный класс, где формировать вывод структуры с рекурсией вложенности и с зависимостью от каждого участника холдинга.
Первый вариант требует программирования только триггера, пусть и не самого тривиального, но все равно не так много. При этом архитектура данных получается реальной и с ней можно работать в Дизайнере интерфейсов и использоваться в отчетах. Кроме того, по сравнению со вторым вариантом - метод менее ресурсоемок на этапе формирования интерфейса пользователя, т.к. не требует вычислений. Так же придётся добавить работу с таблицами структуры в процедуры удаление и объединения контрагентов - иначе ошибок поймаем.
Второй вариант требует более сложного программирования - написания функции, которая без добавления дополнительных сущностей в архитектуру БД, будет формировать таблицу требуемого вида. Данный вариант при сложной структуре связей и большом кол-ве вложенностей в холдингах будет требовать больше вычислительных ресурсов сервера при формировании реестра контрагентов и может "подтормаживать" (особенно на SQL Express). Но при этом не придётся дополнительно редактировать процедуры удаления и объединения контрагентов.
Я бы рекомендовал путь с триггером.
но любой их вариантов потребует от вас знаний Transact-SQL.
Благодарю, Вас, за ответ, но я не обладаю знаниями в Transact-SQL.
Вы можете мне помочь в реализации вашего 1-го варианта?
Именно в той части где требуется написание кода.
Да, конечно же мы можем это сделать...
Оценочная трудоемкость 3 ч/часа (включая внесение изменения в процедуры удаления и объединения контрагентов). Цена одного ч/часа = 1.350 рублей.
Пришлите, пожалуйста Ваши реквизиты для выставления счета на vav@axistem.ru и менеджер согласует с Вами документооборот по задаче и процедуру технического взаимодействия.