Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Программно изменить тип элемента диалога в форме документа?

v7: Программно изменить тип элемента диалога в форме документа?
Я
   JuliaLoukianova
 
08.04.21 - 11:26
В табличной части документа есть элемент "Актив" его значение может быть выбрано из разных справочников (Акции, Облигации, Валютные пары...).
Сейчас у меня в свойствах его тип записан просто как справочник.
Я кликаю, выбираю справочник, оттуда элемент, все работает. Но некрасиво - мне выдаются вообще все справочники какие есть.
Также, в таблице я выбираю из перечисления тип "Операции" (продажа акций, покупка облигаций...) и вот мне бы как-то привязать тип "Актива" к выбранному перечислением значению "Операции"? Как?
   Андрей_Андреич
 
1 - 08.04.21 - 11:27
ВидыДляВыбора(<?>)
Синтаксис:
ВидыДляВыбора(<СписокВидов>)
Назначение:
Установка выбираемых видов для справочника неопределенного вида.
Возвращает:
Строковое значение, содержащее текущий список видов выбираемых справочников, разделенных запятыми (на момент до исполнения метода).
Параметры:
<СписокВидов> - строка, содержащая список видов выбираемых справочников, разделенных запятыми.
Замечание:
Метод  можно использовать только для объектов-справочников неопределенного вида, созданных функцией СоздатьОбъект, либо определенных в конфигураторе как реквизит диалога или реквизит другого объекта.
   Андрей_Андреич
 
2 - 08.04.21 - 11:27
Форма.Актив.ВидыДляВыбора("Акции, Облигации, Валютные пары")
   JuliaLoukianova
 
3 - 08.04.21 - 11:29
(2) спасибо, то есть в этом случае она мне откроет только 3 справочника, а не весь список, да?
   JuliaLoukianova
 
4 - 08.04.21 - 11:31
(2) вот эту строку
Форма.Актив.ВидыДляВыбора("Акции, Облигации, Валютные пары")
мне ее можно записать прямо в формулу свойств поля или процедуру создать?
   JuliaLoukianova
 
5 - 08.04.21 - 11:36
ой, ступила в процедуру "приоткрытии" )))
   GrayS19
 
6 - 08.04.21 - 11:36
(4) в любую процедуру, которая сработает до попытки выбрать справочник. ПриОткрытии() подойдет
   JuliaLoukianova
 
7 - 08.04.21 - 11:41
пиууу...
{Документ.BrokReport.Форма.Модуль(42)}: Поле агрегатного объекта не обнаружено (ВидыДляВыбора)
   GrayS19
 
8 - 08.04.21 - 11:49
в модуле формы оставить - Актив.ВидыДляВыбора("Акции, Облигации, Валютные пары")
   GrayS19
 
9 - 08.04.21 - 11:49
"Форма." - перед Актив - убрать
   JuliaLoukianova
 
10 - 08.04.21 - 11:56
(9) что-то не то... поставила в процедуру "ПриОткрытии", "форму" убрала. ошибка исчезла, но теперь снова все справочники предлагает
   Андрей_Андреич
 
11 - 08.04.21 - 11:58
(10) текст покажи где видыдлявыбора
   1Сергей
 
12 - 08.04.21 - 12:00
Если это ТЧ, то это нужно делать при начале редактирования строки
   1Сергей
 
13 - 08.04.21 - 12:01
ой, прастити, не заметил что клюшки
   GrayS19
 
14 - 08.04.21 - 12:03
а лучше в поле, где выбираете тип "Операции" (продажа акций, покупка облигаций...) в формулу поставить  процедуру
Процедура ПриВыбореТипаОперации()
   Если ТипОперации = Перечисление.ПродажаАкций Тогда
       Актив.ВидыДляВыбора("Акции");
   ИначеЕсли ......

и перечислить все варианты
   JuliaLoukianova
 
15 - 08.04.21 - 12:04
(11) Procedure OnOpen()    
    TradeActive.ÂèäûÄëÿÂûáîðà("Shares, Bonds, ForEx");
   JuliaLoukianova
 
16 - 08.04.21 - 12:05
(14) вот! я так и хотела изначально
   JuliaLoukianova
 
17 - 08.04.21 - 13:19
(14) спасибо, вроде работает

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.