Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Открытие справочника по выбору ячейки из другого справочника
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
brodovskiy
Доброе время суток. Очень нужна помощь.
Имеется два справочника :

х

Необходимо чтобы по нажатию на ячейке в справочнике "СНУЯЭиП" выводились определенные строки из справочника "База ученых университета".
Т.е. например:

Нажимаем на ячейке, которая подсвечена синим цветом на скриншоте, и открывается фильтрованный справочник "База ученых университета".
т.е. открывается справочник "База ученых университета", в котором видны только 11 и 12 строки.(потому что кафедра у них "АТПиП" и они "кандидаты")

Помогите, пожалуйста, очень нужно, а то диплом скоро уже сдавать, а тут даже это не получается)
Заранее спасибо!!!
sreda2006
x
brodovskiy
Доброе время суток. Очень нужна помощь.
Имеется два справочника :






Необходимо чтобы по нажатию на ячейке в справочнике "СНУЯЭиП" выводились определенные строки из справочника "База ученых университета".
Т.е. например:

Нажимаем на ячейке в справочнике "СНУЯЭиП", которая подсвечена синим цветом на скриншоте, и открывается фильтрованный справочник "База ученых университета".
т.е. открывается справочник "База ученых университета", в котором видны только 11 и 12 строки.(потому что кафедра у них "АТПиП" и они "кандидаты" (смотреть элементы и реквизиты справочника "СНУЯЭиП"))

Помогите, пожалуйста, очень нужно, а то диплом скоро уже сдавать, а тут даже это не получается)
Заранее спасибо!!!
sreda2006
Доброе вермя суток, так понимаю, что форма у Вас открыта для воода данных, тогда попробуйте так....

Процедура СправочникСписокПриАктивизацииЯчейки(Элемент)

Если ЭлементыФормы.СправочникСписок.ТекущаяКолонка.Имя="Кандидаты" Тогда

Форма=Справочники.Базаученыхуниверситета.ПолучитьФормуСписка();

Форма.СправочникСписок.Отбор.МестоРаботы.Значение=ЭлементыФормы.СправочникСписок
.ТекущаяСтрока.НаименованиеПодразделения;
Форма.СправочникСписок.Отбор.УченаяСтепень.Значение="к";

Форма.СправочникСписок.Отбор.МестоРаботы.Использование=Истина;

Форма.СправочникСписок.Отбор.УченаяСтепень.Использование=Истина;
Форма.Открыть();

КонецЕсли;
brodovskiy
sreda2006, почему то не срабатывает ваш код. напишите свой e-mail или другие данные. Я скину вам саму базу это будет быстрее.
Vofka
Цитата
напишите свой e-mail или другие данные. Я скину вам саму базу это будет быстрее.

ИМХО это уже наглость.
logist
Цитата(brodovskiy @ 12.05.11, 10:19) необходимо зарегистрироваться для просмотра ссылки
sreda2006, почему то не срабатывает ваш код.

Наверное потому что Вы его тупо вставили, даже не подумав о том, что некоторые моменты могут быть другими.
Хоть бы указали почему не срабатывает...
brodovskiy
Цитата(logist @ 12.05.11, 10:54) необходимо зарегистрироваться для просмотра ссылки
Наверное потому что Вы его тупо вставили, даже не подумав о том, что некоторые моменты могут быть другими.
Хоть бы указали почему не срабатывает...


Название справочника я подредактировал в коде, остальное, вроде, все норм. При активизации ячейки не происходит вообще ничего.
Vofka
Свой код покажите
logist
В Отборе не хватает "ВидСравнения" ВидыСравнения.Равно

как-то так
Форма.СправочникСписок.Отбор.МестоРаботы.ВидСравнения=ВидыСравнения.Равно;
Форма.СправочникСписок.Отбор.УченаяСтепень.ВидСравнения=ВидыСравнения.Равно;
Vofka
Цитата
В Отборе не хватает "ВидСравнения" ВидыСравнения.Равно

А ещё может "Ученая степень" - это не строка (это не в коем случае не ошибка sreda2006, т.к. мало инфы от автора)... Аще... А ещё... smile.gif
logist
А вообще исходя из того что "Вообще ничего не происходит" т.е. форма не открывается, то проблема явно в чем-то другом (например в привязке процедуры к действию в свойствах таблицы).
Вы же указали эту процедуру в свойствах таблицы? Или тупо вставили в модуль формы?
brodovskiy
Цитата(logist @ 12.05.11, 11:19) необходимо зарегистрироваться для просмотра ссылки
А вообще исходя из того что "Вообще ничего не происходит" т.е. форма не открывается, то проблема явно в чем-то другом (например в привязке процедуры к действию в свойствах таблицы).
Вы же указали эту процедуру в свойствах таблицы? Или тупо вставили в модуль формы?


Код указал в свойствах формы списка справочника СНУЯЭиП. в событии ПриАктивизацииЯчейки
Vofka
Раз автор игнорирует просьбу показать свой код - я в этом больше участия принимать не буду.
sreda2006
Чтож, sreda2006@ukr.net, интересно посомтреть что там у Вас не получается.... только вот посмотреть смогу только завтра...
brodovskiy
Цитата(Vofka @ 12.05.11, 14:00) необходимо зарегистрироваться для просмотра ссылки
Раз автор игнорирует просьбу показать свой код - я в этом больше участия принимать не буду.


Почему вы такой агрессивный? Если не сразу вам ответил, то это не означает, что я игнорирую.Может у меня не было возможности показать код(не было доступа к БД).

Процедура СправочникСписокПриАктивизацииЯчейки(Элемент)
    
Если ЭлементыФормы.СправочникСписок.ТекущаяКолонка.Имя="кандидаты" Тогда

Форма=Справочники.База_ученых.ПолучитьФормуСписка();

Форма.СправочникСписок.Отбор.Место_работы.Значение=ЭлементыФормы.СправочникСписо
к
.ТекущаяСтрока.Наименование_подразделения;
Форма.СправочникСписок.Отбор.Ученая_степень.Значение="к";

Форма.СправочникСписок.Отбор.Место_работы.Использование=Истина;

Форма.СправочникСписок.Отбор.Ученая_степень.Использование=Истина;
Форма.Открыть();

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



Теперь выдает ошибку:

{Справочник.СНУЯЭиП.Форма.ФормаСписка1(8)}: Ошибка при установке значения атрибута контекста (Значение): Неверный тип значения
Форма.СправочникСписок.Отбор.Место_работы.Значение=ЭлементыФормы.СправочникСписо
к

и еще мне не понятны строки:
Форма.СправочникСписок.Отбор.Место_работы.Использование=Истина;

Форма.СправочникСписок.Отбор.Ученая_степень.Использование=Истина;

для чего они?

Цитата(logist @ 12.05.11, 11:14) необходимо зарегистрироваться для просмотра ссылки
В Отборе не хватает "ВидСравнения" ВидыСравнения.Равно

как-то так
Форма.СправочникСписок.Отбор.МестоРаботы.ВидСравнения=ВидыСравнения.Равно;
Форма.СправочникСписок.Отбор.УченаяСтепень.ВидСравнения=ВидыСравнения.Равно;



Объясните, пожалуйста, для чего эти строки, что они делают. и куда их вставлять. мой код в сообщении выше

Ура!!! Заработало!!! Ошибка вылазила, из-за того, что в одном справочнике Значение было строкой, а во втором - перечислением.
Но остается вопрос про строки:

что делают строки:
Форма.СправочникСписок.Отбор.Место_работы.Использование=Истина;

Форма.СправочникСписок.Отбор.Ученая_степень.Использование=Истина;


и действительно нужны строки и для чего они, и куда именно их вставить:

Форма.СправочникСписок.Отбор.МестоРаботы.ВидСравнения=ВидыСравнения.Равно;
Форма.СправочникСписок.Отбор.УченаяСтепень.ВидСравнения=ВидыСравнения.Равно;


Спасибо, всем большущее! Я не ожидал на столь быстрые ответы. Спасибо
logist
Цитата(brodovskiy @ 12.05.11, 18:44) необходимо зарегистрироваться для просмотра ссылки
что делают строки:
Форма.СправочникСписок.Отбор.Место_работы.Использование=Истина;

Форма.СправочникСписок.Отбор.Ученая_степень.Использование=Истина;

Они говорят отбору что его (отбор) нужно использовать, а не просто указать

Цитата(brodovskiy @ 12.05.11, 18:44) необходимо зарегистрироваться для просмотра ссылки
и действительно нужны строки и для чего они, и куда именно их вставить:

Форма.СправочникСписок.Отбор.МестоРаботы.ВидСравнения=ВидыСравнения.Равно;
Форма.СправочникСписок.Отбор.УченаяСтепень.ВидСравнения=ВидыСравнения.Равно;

Они говорят отбору что значение отбор должно равняться указанному (например можно указать "не равно"). Вставить эти строки можно между Форма=Справочники... и Форма.Открыть
Zaval
Откройте форму списка справочника(любого, лучше - в типовой конфе), найдите на панели кноп "Отбор и сортировка" нажмите.
Откроется форма, в которой можно интерактивно настроить фильтрацию списка.
Строки кода, о которых Вы спрашиваете, выполняют эту настройку программно, до открытия списка.

Мда, за Логистом не угнаться)))
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.