|
Нужен совет |
☑ |
0
Алексей Петрович
23.09.11
✎
16:59
|
Есть документ заказ. У него реквизит - Контрагент. У контрагента реквизит - Маршрут. Во всех формах документа Заказ (списка, элемента, выбора) необходимо видеть реквизит Маршрут. Причем в формах списка и выбора необходимо осуществлять отбор и сортировку по реквизиту Маршрут. Как лучше организовать работу в таком случае?
Вариант1: сделать реквизит Маршрут у заказа и в ПриЗаписи заказа писать в Маршрут заказа значение Маршрута Контрагента. Все формы легко донастраиваются. Огромный минус - при изменении реквизита Маршрут Контрагента в заказе он естественно не изменится.
Вариант2: перепахать все формы Заказа. Минус - придется рисовать свои табличные поля с кнопками, сортировками и отборами.
Есть ещё какие-то варианты?
|
|
1
butterbean
23.09.11
✎
17:03
|
я за 1-й вариант, нужно просто добавить проверку в модуль контрагента на изменение маршрута и менять активные заказы
|
|
2
ice777
23.09.11
✎
17:03
|
Кто мешает сделать маршрут в регистре свед или справочником?
|
|
3
Алексей Петрович
23.09.11
✎
17:05
|
(1) Заказов будет огромное количество. Не хочется их дергать при записи контрагента.
(2) Маршруты - это справочник. Забыл написать. Что это меняет? Регистр сведений - хорошая идея. Обмозгую.
|
|
4
butterbean
23.09.11
✎
17:06
|
(3) у вас так часто меняется маршрут??
|
|
5
butterbean
23.09.11
✎
17:07
|
(4) да и менять надо только в неотгруженных заказах
|
|
6
Алексей Петрович
23.09.11
✎
17:07
|
(4) Не часто. Но вдруг.
|
|
7
ice777
23.09.11
✎
17:08
|
(3) и периодическим его до кучи сделай.)
|
|
8
butterbean
23.09.11
✎
17:08
|
их даже перепроводить не надо, просто записывать
|
|
9
Алексей Петрович
23.09.11
✎
17:11
|
Думаю должно быть какое-то классическое решение. Ключевая задача - минимальными средствами обеспечить сортировку и отбор задач в форме списка по Маршруту.
(7) Не совсем понимаю чем поможет РС в свете вышесказанного.
|
|
10
kabanoff
23.09.11
✎
18:34
|
Если платформа 8.2 и форма управляемая, то в список с помощью компоновки можно вывести эту колонку.
Если 8.1, то добавить колонку в табличное поле на форме, а значением заполнять в обработчиках ПриПолученииДанных() или ПриВыводеСтроки() табличного поля. Сделать получение значения с помощью простого запроса (не через Контрагент.Маршрут), чтобы производительность сильно не пострадала.
|
|
11
kabanoff
23.09.11
✎
18:37
|
+(10) это что касается формы списка и формы выбора. В форме документа, думаю, проблем также быть не должно.
|
|
12
Алексей Петрович
26.09.11
✎
12:18
|
(10) 8.1
Если выводить через ПриПолученииДанных ни отбор, ни сортировка работать не будет. В этом и суть вопроса.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший