Консультация № 144800
23.09.2008, 20:54
0.00 руб.
0 8 3
Здравствуйте товарищи программеры! Имеется вопрос по 1С 7.7.
Колонка "Элемент" таблицы значений имеет тип Справочник.

В Таблицу значений добавляю новую строку с помощью метода "ОткрытьПодбор()"

Далее как правило срабатывает:

Процедура ОбработкаПодбора(Элемент,КонтФормы)

ТаблицаЗначений.НоваяСтрока();
ТаблицаЗначений.Элемент = Элемент;

КонецПроцедуры
У меня подбором можно выбрать только элемент справочника...

Вопрос: Как заставить выбираться родителя и добавляться в тз?
Спасибо.

Обсуждение

Неизвестный
23.09.2008, 21:10
общий
В каждом конфигураторе есть синтаксис помошник (это если у вас нет книг 1С 7.7) Если бы вы прочитали описание оператора "ОткрытьПодбор" то знали бы о флаге множественного выбора :
ОткрытьПодбор(<?>,,,,);
Синтаксис:
ОткрытьПодбор(<Объект>,<ИмяФормы>,<КонтекстФормы>,<ФлагМножВыбора>,<ТекЗнач>)
Назначение:
Открыть Форму подбора значений.
Параметры:
<Объект> - строка с именем объекта агрегатного типа для подбора. Можно указывать: ''Справочник.ХХХХХ'' или ''Документ.ХХХХХ'' или ''Журнал.ХХХХХ'' или ''Журнал.Подчиненные'' или ''ЖурналОпераций.ХХХХХ'', ''ПланСчетов.ХХХХХ'' (если ХХХХХ не задан, то открывается подбор из любого(всех) плана счетов) или ''Отчет.ХХХХХХ'' или ''Обработка.ХХХХХХ'', где ХХХХХ - имя вида соответствующего объекта, как он задан в конфигураторе.
<ИмяФормы> - строка с именем Формы подбора;
<КонтекстФормы> - необязательный параметр. Имя переменной, куда можно задать значение любого типа для передачи в открываемую форму. Данное значение будет доступно в открытой форме как атрибут Форма.Параметр. После исполнения данного метода система вернет в данную переменную контекст формы подбора. С помощью значения этого контекста можно затем произвольно манипулировать формой подбора, пока она открыта. Пока форма открыта, тип значения данного параметра равен 100 (см. ТипЗначения), если закрыта - 0.
<ФлагМножВыбора> - число: 1 - выбор нескольких значений; 0 - выбор одного значения, после чего окно закрывается;
<ТекЗнач> - необязательный параметр. В случае выбора из списка, здесь можно передать значение, на которое следует изначально установить курсор при открытии формы подбора.
Замечание:
Доступ к методу возможен только в контексте Модуля формы.
Неизвестный
23.09.2008, 21:43
общий
это ответ
Здравствуйте, Hasanovag!
Попробуйте перед вызовом "ОткрытьПодбор" вызвать метод "ВыборГруппы" с параметром 1.
Неизвестный
23.09.2008, 21:49
общий
Внимательно читай вопрос студент:
Вопрос: Как заставить выбираться родителя и добавляться в тз?
Спасибо.

Т.е: Мне не нужен элемент справочника , а нужен родитель (папка) с элементами.
Можно конечно использовать метод ВыборГруппы(1) в модуле формы списка справочника,
а у меня внешняя обработка с обычной ТЗ, да и еще без возможности изменения конфигурации...
Неизвестный
23.09.2008, 22:07
общий
>>> Provisor, Можно по подробнее пожалуйста объяснить каким образом использовать метод ВыборГруппы?

Вот кусочек модуля:


Процедура ДобавитьСтрокуТЗ()
ОткрытьПодбор("Справочник.Номенклатура",,,0,);
КонецПроцедуры


Процедура ОбработкаПодбора(ВыбЭлемент,КонтФормы)

Если ВыбЭлемент.Вид()="Номенклатура" Тогда
ТабЭлементы.НоваяСтрока();
ТабЭлементы.Элемент = ВыбЭлемент;

КонецЕсли;
КонецПроцедуры


Процедура ПриОткрытии()

ТабЭлементы.НоваяКолонка("Элемент","Справочник.Номенклатура");

КонецПроцедуры

//ТабЭлементы - Таблица значений созданная на форме...
//ДобавитьСтрокуТЗ() срабатывает с кнопки на форме..
Неизвестный
24.09.2008, 00:48
общий
ТаблицаЗначений.НоваяСтрока();
ТаблицаЗначений.Элемент = Элемент;
ТаблицаЗначений.Родитель=Элемент.Родитель;
Неизвестный
24.09.2008, 09:23
общий
>>>Практикант

мне нужно чтоб родитель передовался в процедуру "ОбработкаПодбора"
мне элементы в принципе не нужны, только группы.
Спасибо Вам Владимир Анатольевич за ответ
Неизвестный
24.09.2008, 10:09
общий
это ответ
Здравствуйте, Hasanovag!
В модуле списка можно регулировать будут ли подбиратся группы, или только элементы. Для этого служит метод:

ВыборГруппы(<?>)
Синтаксис:
ВыборГруппы(<Режим>)
Назначение:
Устанавливает режим выборки групп для формы списка справочника, которая открыта в режиме выбора или подбора элемента. Возвращает текущее числовое значение режима выборки групп (на момент до исполнения метода).
Параметры:
<Режим> - необязательный параметр. Число: 1 - выбирать группы; 0 - не выбирать группы.
Замечание:
Метод доступен только в контексте Модуля формы списка справочника и относится только к текущему справочнику.
Неизвестный
24.09.2008, 11:14
общий
это ответ
Здравствуйте, Hasanovag!
Используйте метод ИспользоватьВладельца()

Приложение:
ТаблицаЗначений.НоваяСтрока();
ТаблицаЗначений.Элемент = Элемент;
Вл=ИспользоватьВладельца();
ТаблицаЗначений.Владелец=Вл;
Форма ответа