Имя: Пароль:
1C
 
Как добавить предопределённый элемент в область командного интерфейса
0 Falanger
 
11.08.17
16:08
Здравствуйте, может кто-то поможет разобраться.
Конечно если я сейчас объясню по русски)
Есть область командного интерфейса,со своими различными блоками и ссылками на справочники, док. отчёты ну и так далее.
Можно нажать на ссылку и попадёшь например в форму списка справочника, где есть свои предопределённые группы со списком док или форм справочника(надеюсь по русски пишу).
Заказчик захотел, чтобы не нужно было тыкать в ссылку справочника, а затем выбирать нужную группу,а в этой группе уже создавать документ, а сразу тыкнуть в определённую подсистему и там уже была бы ссылка на нужную группу.
Грубо говоря хочет своим сотрудникам уменьшить моментов тыка - Например есть: Подсистема(Информация о недвижимом имуществе) - Ссылка(Недвижимое имущество) - Форма с (группа1), группа2, группа3) - создать док(элемент справочника и т.д), а хочет вот что:
Подсистема(Информация о недвижимом имуществе) - (группа1) - создать элемент справочника ;
Подсистема(Информация о недвижимом имуществе) - (группа2) - создать элемент справочника ;
Как-то так
Скрины тоже приложу чтобы точно было понятно
Есть Так;
http://pastenow.ru/29c4f35f8a046328404b78035ebf1bda
А хочет так:
http://pastenow.ru/094422b4b50a46383a3f8599d2b4571c
Возможно такое вообще или нет?
Заранее благодарен за ответы
1 Falanger
 
11.08.17
16:24
Что-то всё пересмотрел и есть подозрения, что только программным способом можно реализовать данную хотелку.
2 Имитация работы
 
11.08.17
16:35
(1) Ессно. Командный интерфейс позволяет ставить ссылки только на точки навигации. А точки навигации - это метаданные, а не данные базы.
Так что, если хочешь ссылок на данные - лепи форму с ними вручную и ставь команду на открытие этой формы в нужный раздел.
3 Falanger
 
11.08.17
16:45
))))) В том то и косяк, что это так и сделано сейчас(нормально), но человеческая лень даже кнопку нажать порождает такие хотелки.
Вот возьми и реализуй.
А накодить как-нибудь можно?
4 Имитация работы
 
11.08.17
16:49
(3) Можно. Не возражаю. Я даже написал как именно.
5 Falanger
 
11.08.17
16:53
Спасибо ,за совет. Теоретически я понял, осталось дело за малым сообразить как это делается практически и попробовать налепить пирожков
6 Falanger
 
11.08.17
16:54
Не соображу как в форме накатать ссылку на данные базы
7 Имитация работы
 
11.08.17
16:55
Кстати, если у тебя группы предпределенные, то никто не запрещает точно-также захардкодить и команды, даже прямо на обработках.
Подсистема - Обработка1 -> Действие
8 Имитация работы
 
11.08.17
16:55
(6) программное добавить реквизит-гиперссылку на форму и обработать ее нажатие
9 Falanger
 
11.08.17
17:00
Спасибо.А форма группы подойдёт для данного мероприятия?
10 Falanger
 
11.08.17
17:01
Погорячился)
11 Falanger
 
11.08.17
17:05
А можно по подробнее про (7)??? Спасибо
12 Имитация работы
 
11.08.17
17:36
Ну хорошо, не обработку, а команду, если тебе так понятней. Объект метаданных.

Вот у тебя три гвоздями прибитых группы: 1.1, 1.2, 1.3. Точно также, аналогично делаешь три команды - "Пыщь1", "Пыщь2", "Пыщь3", относишь их к подсистеме, в нужный раздел. В обработчике "Пыщь1" пишешь "создать элемент в группе 1", в обработчике "Пыщь2" - "создать в группе 2" и т.п.
13 Falanger
 
11.08.17
17:56
При много благодарен)
14 Falanger
 
14.08.17
10:13
А можно примерчик, а то залип на параметре формы, не соображу что писать
15 Falanger
 
14.08.17
11:26
(12) Нужно в группе создавать элемент? Или можно обратиться к форме создания? Нужно же чтобы открывалась форма создания определённого элемента.
16 Falanger
 
14.08.17
11:59
Люди помогите всётаки разобраться. Для создания прямого пути, действительно пишу команду. Но мне нужно обратиться сразу в форму создания элемента ,например "Земельные участки", но при методе открыть форму, не могу выбрать определённую форму. Подскажите что нужно написать.
Там необходимая форма - это форма выбора, но мне необходимо как-то ещё дать указание ,что это за форма "Земельные участки" или "Здания" или ещё что-то. Группы все предопределённые, как к ним обратиться?
17 Имитация работы
 
14.08.17
12:12
(15)
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    
    НужнаяГруппа = ПредопределенноеЗначение("Справочник.Справочник1.Группа1");
    
    ЗначенияЗаполнения = Новый Структура("Родитель", НужнаяГруппа);
    ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", ЗначенияЗаполнения);
    
    ОткрытьФорму("Справочник.Справочник1.ФормаОбъекта", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно, ПараметрыВыполненияКоманды.НавигационнаяСсылка);
    
КонецПроцедуры
18 Falanger
 
14.08.17
12:44
Спасибо Вам что снова откликнулись. Простите, немного не понимаю с двумя структурами ЗначенияЗаполнения и ПараметровФормы. Понимаю, что это совсем простые вопросы, но если вдруг не сложно пояснить, как их заполнять?
Родитель должен быть группой выше(Недвижимом имуществом)? А нужная группа тогда чем? Предопределённым значением? И в параметрах формы в "ЗначениеЗаполения" и без скобок ЗначенияЗаполнения это чем заполнять.
Заранее извиняюсь...
19 _Дайвер_
 
14.08.17
12:51
(18) Прочитай что такое Структура, или включи в пофигураторе контекстную подсказку, и заново введи "(", и ты все поймешь...
20 Falanger
 
14.08.17
13:06
Да спасибо и вам и вам), я через отладчик разобрался, что к чему, только всёравно открыть формувыбора это ошибка, не выбран элемент ,наверно что-то надо дописать
Даже если выбрать ...Форма.ФормаЭлемнета - ошибка: не выбран элемент. Нет ссылки что я хочу открыть нужную группу.
21 Имитация работы
 
14.08.17
13:07
(18) В управляемом приложении есть возможность обработки заполнения реквизитов объекта по внешнему источнику.
Для этого в метаданных на реквизите ставится флажок "Заполнять из данных заполенения"
(для стандартных реквизитов типа "Родитель" эта закопано на один щелчок дальше - в меню "стандартных реквизитов"
палитры и по умолчанию флажок установлен). Там же можно указать фиксированное значение значение для заполнения.

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

Насколько я понимаю твою задачу - тебе надо создавать новый элемент справочника в группе, зависящей от команды.
В твоих терминах это примерно так:
- Есть предопределенная группа в справочнике НедвижимоеИмущество с именем ЗемельныеУчастки
- Делаем глобальную команду СоздатьЭлементВГруппеЗемельныеУчастки.
- В обработчике команды пишем что-то наподобие (17), где

НужнаяГруппа = ПредопределенноеЗначение("Справочник.НедвижимоеИмущество.ЗемельныеУчастки");
...
ОткрытьФорму("Справочник.НедвижимоеИмущество.ФормаОбъекта", ПараметрыФормы, ...

Для остальных групп - повторить по вкусу
22 Имитация работы
 
14.08.17
13:08
Или тебе спозиционироваться на группу в списке надо? Или что открыть?
23 Вафель
 
14.08.17
13:10
Можно форму на рабочий стол кинуть. Никаких лишних кнопок
24 Falanger
 
14.08.17
14:06
Ссори за задержку.
Жа, задача примерно такая. В командном интерфейсе ссылка на Земельные участки(сразу форма создания), без тыканья и хождений по иерархии и т.д. на другие группы. Спасибо Вам, я практически разобрался как это делается, вот только осталась заминка, не видит элемент группы.
25 Falanger
 
14.08.17
14:07
(23) Заказчик не хочет на рабочий стол, хочет ссылку в командном интерфейсе.
26 Имитация работы
 
14.08.17
14:33
(24) >не видит элемент группы

Подробности?
27 Falanger
 
14.08.17
14:37
По русски наверно так:
При нажатии на ссылку(например)Земельные участки, попадаешь сразу на форму создания (спозицианированную на предопределённой группе "Земельные участки), ну и по другим группам тоже самое, но это уже копирование проще.
Подробности: ОткрытьФорму("Справочник.НедвижимоеИмущество.ФормаОбъекта (или) ФормаЭлемента - ошибка: не выбран элемент.
Я понимаю что это логично, так как нигде не указал, что надо обращаться к той или иной группе. Хотя в структуре я их нашёл, но далее команды для них не поступало. (Наверно я правильно всё понимаю)
28 Falanger
 
14.08.17
14:38
Но знаний немного не хватает, чтобы не просить помощи. извиняюсь.
29 Falanger
 
14.08.17
15:16
После того как мы Попали в структуру ПараметрыФормы(они есть "Земельные участки"), далее необходимо выполнить команду "Создать". Почему-то опять же не подходит команда Метод "Создать элемент". Что-же поделать?
30 Имитация работы
 
14.08.17
15:23
(29) Откуда команда-метод "Создать" взялось-то? Что неподходит?

Ты должен подготовить структуру параметров формы и выполнить ОткрытьФорму. После этого у тебя будет открыта форма нового незаписанного элемента справочника, полностью аналогично кнопке "Cоздать" из списка и т.п.

А ошибка "не выбран элемент" скорей всего наведенная, где-то в потрохах ты получаешь объект от пустой ссылки. Возможно при создании формы.
31 Falanger
 
14.08.17
15:54
Спасибо вам за подсказки. Разобрался как сделать. Ошибся в написании ключа, и в значенияхзаполнения и паратметрахформы, писал имена. Виноват, не знал. А вот так всё заработало.
ЗемельныеУчастки = ПредопределенноеЗначение("Справочник.НедвижимоеИмущество.Раздел11");
     ЗначенияЗаполнения = Новый Структура ("Родитель", ЗемельныеУчастки);
     ПараметрыФормы = Новый Структура ("ЗначенияЗаполнения", ЗначенияЗаполнения);
     ОткрытьФорму("Справочник.НедвижимоеИмущество.Форма.ФормаЭлемента", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно, ПараметрыВыполненияКоманды.НавигационнаяСсылка);
32 Falanger
 
14.08.17
15:55
Думал, что написано в кавычках необходимо указывать непосредственно строку(Название)
Ещё раз спасибо