Имя: Пароль:
1C
1C 7.7
v7: Программный отбор в журнале (общий)
,
0 bas28000
 
15.01.14
16:32
Уже все на мой взгляд варианты перепробовал, все равно не получается сделать.

Ситуация такова. Создал графу отбора, "Договор". В нее внес только из одного, интересующего меня документа, реквизит Договор.
Создал даже в общем журнале документов, который я вызываю, колонку с тем же названием и с тем же включенным реквизитом того же документа.

В итоге этот код в справочнике (элементе):

//***********************************************************
Процедура ПоказатьСоглашения()
    ОткрытьФорму("Журнал.ЖурналОбщий.ДляОтборов", Контекст);
КонецПроцедуры // ПоказатьСоглашения()


А этот в журнале:

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


И при открытии данной формы во все эти условия интерпретатор заходит, устанавливает отбор, но в итоге журнал пустой, а в настройках отбора, которые вызываются из меню журнала, образуется какой-то помимо моего указанного в ВидыОтбора() "Договор" еще и "Дог. подряда" - откуда это вылезает вообще? В графах отбора такого нет.
1 bas28000
 
15.01.14
16:37
+(0) Да, при этом когда я отключаю этот невесть откуда взявшийся вариант отбора и включаю отбор по договорам, то руками все удачно проходит. Но вот из кода получается такая петрушка.
2 bas28000
 
15.01.14
17:19
Люди добрые, спасайте.
3 bas28000
 
15.01.14
17:23
Да, при этом есть документ с названием "Договор", который так и называется, "Дог. подряда" - но как это сюда попадает?
4 bas28000
 
15.01.14
17:23
Точнее как сделать, чтобы отбор был не по документу с именем "Договор", а по графе отбора "Договор"? Переименование графы отбора спасет?
5 bas28000
 
15.01.14
17:25
Хм, кажется понял, УстановитьОтбор еще может работать по таким правилам:

Замечание:
Во всех журналах, кроме журнала подчиненных документов, работает отбор по виду документа. В этом случае синтаксис вызова метода следующий:
УстановитьОтбор(<ВидДокумента>)

То есть получается, что возможно сначала криворукий 1С проверяет, есть ли документ с таким именем, и только потом, есть ли графа отбора с таким именем. Сейчас переименую графу отбора и попробую.
6 dedmoroz777
 
15.01.14
17:28
Славно вы тут пообщались...
7 bas28000
 
15.01.14
17:30
(6) апать надо же как-то :)
8 dedmoroz777
 
15.01.14
17:33
зачем апать? всего час раздумий и сам обо всём догадался
9 bas28000
 
15.01.14
17:33
О, внатуре, как я и сказал. Очередной "привет" в сторону разработчиков 1С :)
10 bas28000
 
15.01.14
17:34
(8) не час, проблема стояла раньше, но переключался я на нее меньше :)
11 dedmoroz777
 
15.01.14
17:38
причём тут разработчики 1С?
12 bas28000
 
15.01.14
17:43
(11) При том, что если пишется подобное:

Во всех журналах, кроме журнала подчиненных документов, работает отбор по виду документа. В этом случае синтаксис вызова метода следующий:
УстановитьОтбор(<ВидДокумента>)

То логично было бы проверять, с одним или с двумя аргументами вызывается данная процедура.
AdBlock убивает бесплатный контент. 1Сергей