Имя: Пароль:
1C
 
Перевыбрать элемент в реквизите формы
0 _leon4uk_
 
18.01.16
14:58
Обычное приложение.
Есть документ. У него несколько реквизитов со ссылочным типом (может быть ссылка на любой справочник или на любой документ).

Необходимо: программно открывать форму выбора (спр или док, в зависимости от типа метаданного), найти в этом списке выбора эту ссылку, и заново выбрать.

Получить ссылку, получить и открыть форму выбора - это сделано.

Вопрос: как перевыбрать эту ссылку в реквизите формы?
1 lera01
 
18.01.16
15:00
Прочитать()
2 butterbean
 
18.01.16
15:00
(0) Зачем все эти извращения??
3 _leon4uk_
 
18.01.16
15:02
(2) проверить на доступность открытия того или иного справочника(документа)
4 butterbean
 
18.01.16
15:03
(3) что значит "доступность открытия"??
5 _leon4uk_
 
18.01.16
15:04
(4) доступен ли выбор из справочника/документа
6 butterbean
 
18.01.16
15:09
(5) не проще право доступа на чтение проверить?
7 GomerSimpson
 
18.01.16
15:10
Выбор значения из формы выбора - это интерактивное действие, его нельзя "выполнить программно".
8 GomerSimpson
 
18.01.16
15:11
Для того чтобы программно поменять значение реквизита, не надо открывать форму выбора
9 Nuobu
 
18.01.16
15:14
(0) (8) Может, программно нажать Ентер?
https://helpf.pro/faq/view/1006.html
10 GomerSimpson
 
18.01.16
15:14
(3) " проверить на доступность открытия того или иного справочника(документа)"

Для этого надо просто открыть его в режиме предприятия.

Вобщем расскажи подробнее свой план
11 _leon4uk_
 
18.01.16
15:16
(9) с "COM" не интересно. Спасибо, рассматривал этот вариант.
12 sash-ml
 
18.01.16
15:17
в форме есть ОбработкаВыбора()
13 _leon4uk_
 
18.01.16
15:20
(10) Пример
есть документ. у него "рек1" ссылка на справочник "Банки". реквизит содержит значение "Банк1".

Мне необходимо чтобы в "рек1" открылась форма выбора справочника "Банки", в этой форме найти элемент, равным значению "Банк1" и выбрать его.

т.е. симитировать выбор того-же значения в реквизите.
14 GomerSimpson
 
18.01.16
15:24
(13) Но не проще ли вручную открыть и щелкнуть?

Для чего хочешь сымитировать? Чтобы выполнился какой то код, который вополняется при изменении реквизита?
15 _leon4uk_
 
18.01.16
15:27
например навернулись права, при доработке документа.
либо забыли дать права.
установили доступность = ложь, установили только просмотр = истина

и т.д. и т.п.
16 Nuobu
 
18.01.16
15:28
(15) Ну, в таком случае - если откроешь программной форму выбора, то она откроется и, даже, подставится в выбранный элемент.
17 _leon4uk_
 
18.01.16
15:32
(16) например при открытии ИЛИ перед открытием формы выбора накладываются фильтры, элемента "Банк1" уже нет в списке выбора, что тогда?

не подходит.
18 GomerSimpson
 
18.01.16
15:33
(15) чтобы все это проверить, надо просто открыть в режиме предприятия и щелкнуть туда.

Так что все равно не понятно что ты хочешь
19 lera01
 
18.01.16
15:38
(17)Ну вот хорошо, открыл ты свою форму, там уже заполнен твой реквизит. Потом ты выполняешь свой хитрозаколдованный план и обнаруживаешь, что этого значения нет в списке выбора/есть, но недоступно для выбора/еще что-то ужасное. Дальше что должно происходить? реквизит очищается, в нем значение меняется на какое-то другое или что?  Или ты желаешь странного или просто нормально объяснить не можешь.
20 DomovoiVShoke
 
18.01.16
15:41
(15)Наверное просто стоит научиться программировать, вместо того чтоб придумывать костыли и тратить бесполезно на это время.
21 Nuobu
 
18.01.16
15:44
(20) Это не костыли, а автоматизация тестирования.
22 _leon4uk_
 
18.01.16
15:44
(19) ну что непонятно?

нужно ПЕРЕВЫБРАТЬ элемент справочника/документа, который уже заполнен в документе.

варианты с разными проверками открытия и прочие, я сам реализую.

(20) опыта нет, согласен. но я прошу дать наводку как это сделать.

(21) спасибо за понимание.
23 DomovoiVShoke
 
18.01.16
15:45
(21)В 1с это будут костыли. Все через это проходят и все этим переболевают.
24 Nuobu
 
18.01.16
15:49
(22) Тут никак не сделать.
Нормально обновляй и будет тебе счастье.
25 DomovoiVShoke
 
18.01.16
16:24
(22)2)Сторонними средствами, кликерами. В 1с не подстраивая код под проверки вроде нельзя сделать.
26 _leon4uk_
 
18.01.16
16:33
(25) каким-то образом, после нажатия на кнопку "Выбрать", открывается форма выбора справочника/документа с уже выделенным этим элементом.
останется только потом выполнить действие кнопки "Выбрать", как-то так.
27 DomovoiVShoke
 
18.01.16
16:35
(26)после нажатия на кнопку "Выбрать", открывается форма выбора справочника/документа с уже выделенным этим элементом

А как ты делаешь?
28 _leon4uk_
 
18.01.16
16:37
(27) это если кликать мышкой.
29 _leon4uk_
 
18.01.16
16:51
Нашел Решение, что-то типа такого:

    Массив = Новый Массив;
    Массив.Добавить(Тип("СправочникСсылка.Банки"));

    ОписаниеТиповК = Новый ОписаниеТипов(Массив);

    Если ВвестиЗначение(Ссылка, "Введите значение", ОписаниеТиповК) Тогда

        Сообщить(Ссылка); //тут имитурую нажатие на элемент

    КонецЕсли;
30 _leon4uk_
 
19.01.16
13:54
Для кого интересно, решил задачу вот так:
Процедура ВыполнитьВыборВФормеВыбора(Ссылка)
    ФормаВыбораСправочника = Справочники.Банки.ПолучитьФОрмуВыбора(,Ссылка);
    ФормаВыбораСправочника.Открыть();
    ФормаВыбораСправочника.Отбор.Ссылка.Использование = Истина;
    ФормаВыбораСправочника.Отбор.Ссылка.Значение = Ссылка;
    ФормаВыбораСправочника.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Ложь;
    ФормаВыбораСправочника.ОповеститьОВыборе(Ссылка);
КонецПроцедуры


получил, открыл форму выбора, затем наложил отбор в этой форме, затем вызвал метод "ОповеститьОВыборе".
ну и осталось сделать разные проверки.