helpf.pro
Регистрация

v8: Передать параметр в поле выбора

Bell
10.02.2012 21:18Прочитано: 5208
Здравствуйте
Как передать параметр в поле выбора из формы документа ВИД СПРАВОЧНИКА как метаданные

Код 1C v 8.х
 Процедура ФОРМЫ()
МетаданныеДокумента = ДокументОбъект.Метаданные().Представление();
СтруктураПараметровПодбора = Новый Структура();
СтруктураПараметровПодбора.Вставить("Заголовок" , "ДОКУМЕНТ - " + Врег(МетаданныеДокумента) );
// Пробовал ???????
СтруктураПараметровПодбора.Вставить("ВидСправочника",Справочники.ЗП_Сотрудники);

ЗУП.ОткрытьФорму_ПостроителяСправочников(ЭтаФорма,ЭтотОбъект,КонецМесяца(ПериодРегистрации),СтруктураПараметровПодбора);

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


Код 1C v 8.х
 Процедура ОБЩЕГО МОДУЛЯ(Форма,ДокументОбъект,Дата,СтруктураПараметров) ЭКСПОРТ

МетаданныеДокумента = ДокументОбъект.Метаданные();

ИзменениеТЧ = Обработки.Построитель_Справочники.Создать();
ФормаИзменениеТЧ = ИзменениеТЧ.ПолучитьФорму("Форма",Форма);
ФормаИзменениеТЧ.ДокументОбъект = ДокументОбъект;
ФормаИзменениеТЧ.Заголовок = СтруктураПараметров.Заголовок;
ФормаИзменениеТЧ.ДатаАктуальности = КонецМесяца(Дата);
// Пробовал и через добавить ошибок не выдает
ФормаИзменениеТЧ.ВидСправочника = СтруктураПараметров.ВидСправочника;
// Открываем форму обработки
ФормаИзменениеТЧ.ОткрытьМодально();

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


[c7]При открытии формы обоработки перебираю метаданые

Код 1C v 8.х
 Процедура ОБРАБОТКА ПРИ ОТКРЫТИИ()

ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Имя");
ТЗ.Колонки.Добавить("Синоним");

Для каждого Справочник из Метаданные.Справочники Цикл
СтрокаСправочника = ТЗ.Добавить();
СтрокаСправочника.Имя = Справочник.Имя;
СтрокаСправочника.Синоним = Справочник.Синоним;
КонецЦикла;
ТЗ.Сортировать("Синоним Возр");

Для каждого СтрокаСправочника из ТЗ Цикл
ЭлементыФормы.ВидСправочника.СписокВыбора.Добавить(СтрокаСправочника.Имя, СтрокаСправочника.Синоним);
КонецЦикла;
КонецПроцедуры

Изменено 10.02.12 21:23:06
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
13.02.2012 14:15Ответ № 1
(0) Bell, зачем, для чего и что именно?
Bell
14.02.2012 12:10Ответ № 2
На форме обработки Построитель_Справочники есть список выбора ВидСправочника
Форма обработки может открываться из разных документов. Допустим из документа "Премии" это должен быть спр. Сотрудники, из документа "Себестоимость" спр. Себестоимость
Я из документа передаю вид спр. согласно документу а потом делаю произвольный отбор запрос построитель .Отбор всталяю в ТЧ документа .Все проблемы уже решены кроме передачи вида спр.
Код 1C v 8.х
 Справочник = Метаданные.Справочники[ВидСправочника];
Запрос=Новый Запрос;
Запрос.Текст=
"ВЫБРАТЬ
| Справочник.Ссылка
|ИЗ
| Справочник." + Справочник.Имя + " КАК Справочник
|{ГДЕ
| Справочник.Ссылка.*}
|
|УПОРЯДОЧИТЬ ПО
| Справочник.Код";

Построитель.Текст=Запрос.Текс
т;[/c8]
Вот я не знаю как передать вид справочника на форму обработки. Пробовал разными способами не получается

В документе
// ??????? способы были разные
Код 1C v 8.х
 СтруктураПараметровПодбора.Вставить("ВидСправочника",Справочники.ЗП_Сотрудники);   


В экспортной процедуре передаются все параметры кроме этого
//???
Код 1C v 8.х
 ФормаИзменениеТЧ.ВидСправочника              = СтруктураПараметров.ВидСправочника;   

Изменено 14.02.12 12:13:27
Mokey
14.02.2012 12:13Ответ № 3
Я же описал, как это сделать в
https://help1c.com/help/view/6293.html
Mokey
14.02.2012 12:19Ответ № 4
(1) E_Migachev, поддерживаю... вопросы остаются открытыми
Bell
15.02.2012 13:09Ответ № 5
Может я непонятно как то написал, но ворос не в заросе и псотроителе, а том КАК ИЗ ФОРМЫ ДОКУМЕНТА ПЕРЕДАТЬ НА ФОРМУ ОБРАБОТКИ (в Список выбора) тип справочника
Код 1C v 8.х
 СтруктураПараметровПодбора.Вставить("ВидСправочника",?????);   

я его уже решил, (обратно корретно ли )но через Таблицу значений (Загрузил в ее все виды справочников(метаданные),обошел их нашел нужный поставил флаг,изменил запрос), но хочется что бы все было в одном ключе сделано,я везде по привычке делаю список выбора, но раньше не надо было передавать в его параметры.
Изменено 15.02.12 13:11:41
Mokey
15.02.2012 13:46Ответ № 6
Если необходимо вставить переданный параметр в эту конструкцию:
Код 1C v 8.х
 Справочник = Метаданные.Справочники[ВидСправочника];   

то достаточно передавать так:
Код 1C v 8.х
 СтруктураПараметровПодбора.Вставить("ВидСправочника","ЗП_Сотрудники");   

т.е.
Код 1C v 8.х
 Справочник = Метаданные.Справочники["ЗП_Сотрудники"]   
вернёт
Код 1C v 8.х
 Справочник.ЗП_Сотрудники   

Изменено 15.02.12 13:47:39
Mokey
15.02.2012 13:51Ответ № 7
(2) Bell, судя по Вашему запросу, Вы в запросе выбираете только ссылку на справочник, а затем выбираете из него требуемые поля, зачем?
Подсказка: Вы можете приложить к ответу файл или изображение щелкнув по значку или в редакторе.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.