Конфигуратор, помогите с написанием кода на сортировку документов по определенным реквизит

Новая тема
Показывать по 10 20 40 сообщений
"т+с 9.2 Общий журнал документов
хочу сделать сортировку документов по кассам, на подобие как и по складам
к примеру , вывести все документы где в реквизитах упоминается касса №2

написал код по аналогии кода по сортировке по складам, визуально все работает, но только не сортирует документ а выводит весь список, как буд то нету сортировки


оброзец кода, с сравнением с кодом под склад

     СкладДляОтбора, ВидДокументаДляОтбора, АвторДляОтбора, ПроектДляОтбора, КассаДляОтбора; // Переменные для отбора


Процедура ПриВыбореСклада()  

Если СкладДляОтбора.Выбран()>0 Тогда
УстановитьОтбор("Склад", СкладДляОтбора);
СкладДляОтбора = СкладДляОтбора.ТекущийЭлемент();
Иначе
УстановитьОтбор("""");
КонецЕсли;

КонецПроцедуры // ПриВыбореСклада()

Процедура ПриВыбореКассы()                                  
Если КассаДляОтбора.Выбран()>0 Тогда                          
УстановитьОтбор("Касса", КассаДляОтбора);                      
КассаДляОтбора = КассаДляОтбора.ТекущийЭлемент();                    
Иначе                                                                        
УстановитьОтбор("""");                                                          
КонецЕсли;                                                                              
                                                                                           
КонецПроцедуры // ПриВыбореКассы()      


Процедура ПриВыбореСклада()  

Если СкладДляОтбора.Выбран()>0 Тогда
УстановитьОтбор("Склад", СкладДляОтбора);
СкладДляОтбора = СкладДляОтбора.ТекущийЭлемент();
Иначе
УстановитьОтбор("""");
КонецЕсли;

КонецПроцедуры // ПриВыбореСклада()

Процедура ПриВыбореКассы()                                  
Если КассаДляОтбора.Выбран()>0 Тогда                          
УстановитьОтбор("Касса", КассаДляОтбора);                      
КассаДляОтбора = КассаДляОтбора.ТекущийЭлемент();                    
Иначе                                                                        
УстановитьОтбор("""");                                                          
КонецЕсли;                                                                              
                                                                                           
КонецПроцедуры // ПриВыбореКассы()    



ИначеЕсли ОтборПо = "по складу" Тогда
ПриВыбореСклада();
ЗначениеВВидеСтроки=Строка(СкладДляОтбора);

ИначеЕсли ОтборПо = "по кассе" Тогда                    
ПриВыбореПроекта();                                    
ЗначениеВВидеСтроки=Строка(КассаДляОтбора);          



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


ИначеЕсли ОтборПо = "по кассе" Тогда          
СтароеЗначение=КассаДляОтбора;                      
ВыбЗначение = СоздатьОбъект("Справочник.Кассы");          
Если ВыбЗначение.Выбрать("Выбор кассы",)=1 Тогда                
КассаДляОтбора = ВыбЗначение;                                      
Если ВыбЗначение<>СтароеЗначение Тогда                                   //
ЗначениеИзменилось=1;                                                                  
КонецЕсли;                                                
КонецЕсли;                                                            

// определение склада для отбора
СкладДляОтбора =ВосстановитьЗначение("СкладОтбораЖурнала");
СкладДляОтбора= ?(ПустоеЗначение(СкладДляОтбора)=1, ПолучитьПустоеЗначение("Справочник.Склады"), СкладДляОтбора);


// определение Кассы для отбора                          
КассаДляОтбора =ВосстановитьЗначение("КассаОтбораЖурнала");        
КассаДляОтбора= ?(ПустоеЗначение(КассаДляОтбора)=1, ПолучитьПустоеЗначение("Справочник.Кассы"), КассаДляОтбора);


ИначеЕсли ОтборПо = "по складу" Тогда
Если глЕстьРеквизитШапки("Склад", ТекДок.Вид()) = 1 Тогда
СкладДляОтбора = ТекДок.Склад;

ИначеЕсли ОтборПо  = "по кассе" Тогда                      
Если глЕстьРеквизитШапки("Касса", ТекДок.Вид()) = 1 Тогда
КассаДляОтбора = ТекДок.Касса;  // общий реквизит документов      

СохранитьЗначение("СкладОтбораЖурнала",СкладДляОтбора);

   СохранитьЗначение("КассаДляОтбораЖурнала",КассаДляОтбора);      


ВидОтбора.ДобавитьЗначение("по складу");
ВидОтбора.ДобавитьЗначение("по кассе")


СкладДляОтбора = СоздатьОбъект("Справочник.Склады");

КассаДляОтбора      = СоздатьОбъект("Справочник.Кассы");



"
кого-кого сделать?
В "Графы отбора" кассу добавляли?
> В "Графы отбора" кассу добавляли?

а потом база будет тупить...
> В "Графы отбора" кассу добавляли?

http://img705.imageshack.us/img705/1310/s15l.jpg
;
Отбор он и есть отбор - фильтрация, проще говоря, а по графам отбора сортировок нет. В журнале документов всегда один способ упорядочивания - по шкале времени. По крайней мере, в 7.7
если вы не заметили то там реализация, а в ней нету вообще реквизитов по кассе, и в отборе не числиться
рко и пко по разным кассам
как я и писал в первом посте вообще нету отбора, выводит полный список документов
сделай "журнал" на ТЗ и выводи, как хочешь (в какой последовательности) свои доки
> сделай "журнал" на ТЗ и выводи, как хочешь (в какой последовательности) свои доки

поясни плиз
"я картинку посмотрел, примерно понял о чем вопрос. может поэтому неверно?

> ИначеЕсли ОтборПо = "по кассе" Тогда                    
> ПриВыбореПроекта();
> ЗначениеВВидеСтроки=Строка(КассаДляОтбора); "
Читают тему
(гостей: 1)

Быстрый переход