Имя: Пароль:
1C
1С v8
Нужен совет
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
Если выводить через ПриПолученииДанных ни отбор, ни сортировка работать не будет. В этом и суть вопроса.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс