Проблема с отбором в журнале

gorlanovmax

Well-Known Member
19.06.2008
286
0
#1
Хочу установить в своем журнале отбор по реквизиту.
Графа отбора "Сотрудник" создана, значение: "Справочник.Сотрудники"

использую вот такой код

Код:
Перем СотрудникДляОтбора, Значение;

Процедура Отбор()
Перем ВыбЗначение, ТекущДок;
ТекущДок = ТекущийДокумент;
ВидыОтбора("*");
ВыбЗначение=СоздатьОбъект("Справочник.Сотрудники");
Если ВыбЗначение.Выбрать("Выберите сотрудника","Форма Списка")=1 Тогда
СотрудникДляОтбора=ВыбЗначение;
КонецЕсли;
Если СотрудникДляОтбора.Выбран()>0 Тогда
УстановитьОтбор("Сотрудник", СотрудникДляОтбора);
СотрудникДляОтбора = СотрудникДляОтбора.ТекущийЭлемент();
Иначе
УстановитьОтбор("");
КонецЕсли;
ВидыОтбора("");
Значение=Строка(СотрудникДляОтбора);
Попытка
АктивизироватьОбъект(ТекущДок);
Исключение	
Сообщить(ОписаниеОшибки(),"!");
КонецПопытки;	
КонецПроцедуры

Значение="";
СотрудникДляОтбора=СоздатьОбъект("Справочник.Сотрудники");
но при этом отбор не производится и выскакивает ошибка
УстановитьОтбор("Сотрудник", СотрудникДляОтбора);
{Журнал.Смены.Форма.ФормаСписка.Модуль(12)}: Неверное имя реквизита!
Хотя СотрудникДляОтбора - это элемент справочника Сотрудники.

В чем беда?
 
H

Hryv

Гость
#2
На мой взгляд в коде есть ошибка
Я бы написал
Код:
	Если ВыбЗначение.Выбрать("Выберите сотрудника","Форма Списка")=1 Тогда
СотрудникДляОтбора=ВыбЗначение.ТекущийЭлемент();
КонецЕсли;
Если СотрудникДляОтбора.Выбран()>0 Тогда
УстановитьОтбор("Сотрудник", СотрудникДляОтбора);
Иначе
...

ЗЫ Для реквизита "Сотрудник" обязательно должен быть установлен флаг "Отбор по реквизиту"
 

gorlanovmax

Well-Known Member
19.06.2008
286
0
#4
ЗЫ Для реквизита "Сотрудник" обязательно должен быть установлен флаг "Отбор по реквизиту"
так фигня в том, что "сотрудник" это элемент справочника "сотрудники". где в самом справочнике поставить "отбор по реквизиту"? ФИО сотрудника - это наименование элемента справочника.

понятно что вопрос глупый и простой, но меня заклинило, разобраться не могу :(

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

LSH

Гость
#5
блин, а какой тогда в этом интерес.
Надо жалобу в 1С написать, мол какого хрена, нам хочется отбор в спец. журналах! :(

у меня есть журнал документов "рабочая смена". мне там другие документы не нужны. и хочется чтобы был быстрый отбор по сотруднику
Создать графу отбора журналов - "Сотрудник_Рабочая_Смена", которому назначить только реквизит документа "Рабочая смена". Когда отбор будет идти по нему - отфильтруются только нужные документы. При отключении отбора (интерактивном) автоматически устанавливать отбор по виду документов ("Рабочая смена"). Вот и всё. И левых доков в журнале не будет.
 
H

Hryv

Гость
#7
На счет флажка - это я невнимательно тему посмотрел, решил, что отбор не в журнале, а в справочнике

Попробуйте все таки использовать мой код, т.к. мне кажется, что значение для отбора должно быть получено через .ТекущийЭлемент()

А журнал действительно должен быть общим