Имя: Пароль:
1C
1С v8
Команда в панели навигации формы, открывающая список созданного на основании
0 PiotrLoginov
 
09.03.14
20:36
Всем здрасте. У меня в конфигурации есть справочник Пользователи (с реквизитом ФизЛицо, тип которого - "СправочникСсылка.ФизическиеЛица"), элементы которого могут создаваться на основании какого-либо элемента справочника ФизическиеЛица (оба справочника имеют соответствующие настройки на вкладке "Ввод на основании", и ФормаЭлемента справочника ФизическиеЛица имеет автоматически размещенный выпадающий список "Создать на основании").

Стоит задача разместить в панели навигации формы элемента справочника ФизическиеЛица ссылку на список пользователей, у которых ФизЛицо - физическое лицо, карточка которого открыта. Открываю редактор формы, открываю вкладку Команды -> Глобальные команды -> Параметризуемые, и не вижу там нужной мне навигационной команды (с параметром Объект.Ссылка). Помучал инет и книжки и не нашел ничего кроме предложения создать команду вручную (Конфигурация - Общие - Общие команды).

Подскажите пожалуйста, может все-таки есть способ заставить платформу добавить в команды, предлагаемые для командного интерфейса, созданную автоматически навигационную команду на список Пользователей с отбором по значению реквизита ФизЛицо.
1 Torquader
 
09.03.14
21:01
А причём тут Объект.Ссылка - параметр бывает определённого типа, тогда он к соответствующему объекту добавляется.
У вас, наверное, СправочникСсылка.ФизическиеЛица будет тип.
2 PiotrLoginov
 
09.03.14
21:12
(1) ээ-э..  пытаюсь понять, о чем Вы говорите...   Объект.Ссылка = значение, которое будет подставлено для отбора в списке Пользователей по реквизиту ФизЛицо
3 PiotrLoginov
 
09.03.14
21:25
Насколько я понял, в списке предлагаемых к размещению на форме ФизическогоЛица глобальных параметризуемых команд я вижу те из имеющихся в конфигурации ("поставленных" различными объектами), у которых тип параметра команды - ссылка на ФизическоеЛицо.

Например, в панель навигации для карточки Номенклатуры предлагается, в числе прочих, команда "Упаковки номенклатуры (Объект.Ссылка)" . В конфигурации эта команда есть потому, что ее "поставил" (или "предоставил") объект конфигурации УпаковкиНоменклатуры, а для формы Номенклатуры она предложена потому, что ее параметр имеет тип "СправочникСсылка.Номенклатура". Но там другая ситуация - объект УпаковкиНоменклатуры автоматически "дает" команду "Упаковки номенклатуры (параметр с типом "СправочникСсылка.Номенклатура")" благодаря тому, что он подчинен справочнику Номенклатура.

А если справочник Пользователи никому не подчинен, как заставить его автоматически дать команду "Пользователи (параметр с типом "СправочникСсылка.ФизическиеЛица")" уже в силу того, что Пользователь может создаваться на основании ФизическогоЛица ?
4 Torquader
 
09.03.14
21:29
(3) А если сделать глобальную команду с параметром "ФизическиеЛица.Ссылка", то она появится у справочника "ФизическиеЛица".
Или нужно, чтобы она появлялась только у того "лица", которое может быть пользователем ?
5 PiotrLoginov
 
09.03.14
21:34
(1) потихоньку начинаю понимать. Действительно, тип параметра нужной мне команды, на самом деле - СправочникСсылка.ФизическиеЛица. Но в списке команд, доступных к размещению в форме ФизическогоЛица параметр будет, по понятным причинам, называться Объект.Ссылка.

(4) Нет, создать вручную нужную мне команду среди других Общих команд или среди других команд, вручную добавленных для объекта конфигурации Пользователи - это не проблема. Просто не хотелось бы реализовывать задачу через лишние телодвижения. Казалось бы, у Пользователя есть реквизит, ссылающийся на ФизическоеЛицо. В настройках стоит галка "Использовать стандартные команды". Значит, при разработке формы ФизическогоЛица имею право на автоматически предложенную команду, открывающую список Пользователей, созданных на основании конкретного ФизическогоЛица.  Ведь так?
6 Torquader
 
09.03.14
21:36
(5) Тогда, наверное, не команда, а отбор.
У вас справочник.Пользователи ссылается на справочник.ФизическиеЛица.
7 PiotrLoginov
 
09.03.14
21:40
Вообще, должен заметить, постоянно сталкиваюсь с тем, что одни и те же "хотелки" в 1С можно получить разными способами, и всегда приходится долго сравнивать их, пытаясь выбрать ту, что отвечает канонам 1С-разработки, дабы другие 1С'ники потом, работая с моим детищем, не плевались от реализации тех или иных механизмов "через одно место". И правильность выбора, к сожалению, ни одна книжка не подскажет. Остается только смотреть, какой выбор делают разработчики типовых конфигураций, но и это не панацея, т.к. и там, как известно, встречаются не самые оптимальные решения.
8 PiotrLoginov
 
09.03.14
21:44
(6) опять не понял )  то ли торможу под вечер.

> Тогда, наверное, не команда, а отбор.
Но открытие-то списка того, что создано на основании текущего ФизическогоЛица (с установленным отбором: Пользователи.ФизЛицо = <Ссылка на физ. лицо, из которого вызван список>) происходит по нажатию на команду, размещенную в панели навигации формы

>У вас справочник.Пользователи ссылается на справочник.ФизическиеЛица.
Верно
9 PiotrLoginov
 
09.03.14
22:18
Так что, в итоге, никак я не "уговорю" платформу добавить на форму физ. лица (в панель навигации) ссылку на форму списка пользователей, связанных с данным физ. лицом?

Обязательно создавать искомую команду вручную?
10 PiotrLoginov
 
10.03.14
11:57
ап
11 Torquader
 
10.03.14
14:22
(9) Команда должна быть с параметром Справочник.ФизическиеЛица и тогда она должна появиться на командной панели списка физ-лиц и на панели физ-лица.
12 PiotrLoginov
 
10.03.14
19:04
(11) да, я понимаю. Вопрос в том, возможно ли как-то заставить платформу (8.2) создать такую команду автоматически.

Если да, то как.
Если нет, то я создам нужную команду сам. Мб давно уже следовало наплевать на каноны и "стряпать" необходимые команды вручную, но поймите, очень хочется соответствовать рекомендациям разработчиков платформы.
13 Torquader
 
10.03.14
19:10
(12) Что значит "создать автоматически" - система за тебя код писать не будет.
14 PiotrLoginov
 
10.03.14
19:25
(13) "создать автоматически" - значит разместить команду среди предложенных для размещения на форме физ лица параметризуемых глобальных команд.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший