Вход | Регистрация

1С:Предприятие ::

Метки:

В каких случаях работает кнопка отбор по колонке

Я
   Сергей
 
30.01.04 - 14:22
Всем привет.
Кто может откликнитесь, срочно!!!

Ситуация такая (Торговля и Склад). Общий журнал документов, ручной отбор можно проводить в любых разрезах, а вот ипользовать кнопку отбор по колонке можно не всегда. Не могу понять от чего это зависит.  
Проводить отбор требуется в свою очередь именно нажатием этой кнопки в крайнем случае возможно создание другой кнопки. При установе отбора по его определенному виду проблем не возникает, а вот создать универсальную кнопочку не получается :(

Заранее благодарен за любой намек.

P.S. Есть ли какой-нибудь метод позволяющий возвращать значение текущей ячейки общего журнала документов.
 
  Рекламное место пустует
   345
1 - 30.01.04 - 15:15
"текущей ячейки общего журнала документов" - ТекущийДокумент ... и если мне не отказывает память - без скобочек.... или со скобочками?

Что подразумевается под "Универсальной кнопкой" ? Ни фига не понял ... что работает, что не работает....

Вроде по отборам все декларированное в ЖКК работает ...
   Сергей
 
2 - 30.01.04 - 15:22
Задача такая.При установке курсора на любое значение в Журнале документов должен быть проведен отбор по этому значению путем нажатия одной кнопки, в идеале на эту роль подходит кнопка "отбор по колонке", но она не всегда активна. В этом собственно и проблема.
   345
3 - 30.01.04 - 17:17
на форму общего журнала положить кнопки с вызовами
соответствующих процедур.. и наслаждаться ...

Даю возможность организовать отбор
-по контрагенту из тек дока (если в нем есть Реквизит типа Справочник.Контаргенты в шапке дока
-по текущему доку
-по выбранному доку

не приведены процедуры отборов, дающих прикольный вид журнала....

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

В конфе Должен быть отбор "Контрагент".....


общая процедура - на нее есть ссылки в процедурах
она же - отмена отборов журнале
кнопка с формулой ОтменаОтборов()
//==============================================

//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//\\\\\\\   ОтменаОтборов                \\\\\\\

//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//==============================================

procedure ОтменаОтборов()
    if CurrentDocument.Selected() = 1 then 
        тд = CurrentDocument; 
        SetSelection("", );
        ЗакладкиОтбора ("",1, ,);
        ActivateObj(тд);
    else                         
        SetSelection("", );
        ЗакладкиОтбора ("",1, ,);
    endIf;
        
EndProcedure //ОтменаОтборов





Кнопка С формулой ОтборПоДокументуСВыбором
//====================================

//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//\\\\\\\   ОтборПоДокументуСВыбором                \\

//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//======================================

procedure ОтборПоДокументуСВыбором()
    СД = CreateObject("ValueList");
    for Ин = 1 to Metadata.Document() do
        if AccessRight("Чтение","Document."+Metadata.Document(Ин).Identifier) <> 1 then Continue; endIf; 
        ИмяДока = Metadata.Document(Ин).Identifier;
        СД.AddValue(ИмяДока,ИмяДока);
    endDo;
                                              
   //---------------------------------------------

   // выберем из списка

   //----------------------------------------------

    СД.SortByPresent (0); 
    Выбор = "";
    НомПозиции = 0;
    if СД.ChooseValue(Выбор,"Документ",НомПозиции, ,1) =1 then
        тд = CurrentDocument;
        ОтменаОтборов();
        try SetSelection(Выбор); 
            ActivateObj(тд);
        except 
        endTry;    
        return;
    else
        return;
    endIf; 
    
EndProcedure //ОтборПоДокументуСВыбором




кнопка с формулой   ОтборПоДокументу()


procedure ОтборПоДокументу()                              
    if CurrentDocument.Selected() <> 1 then return; endIf;
    тд = CurrentDocument;
    ОтменаОтборов();
    try//тд = CurrentDocument;

        тв = тд.Kind();
        SetSelection(тв); 
        ActivateObj(тд);
    except 
    endTry;    
EndProcedure 



кнопка с формулой ОтборПоКонтрагенту()  
//==================================================

//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//\\\\\\\   ОтборПоКонтрагенту     \\\\\\\\\\\\\\\\\

//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//==================================================

procedure ОтборПоКонтрагенту()  
        if CurrentDocument.Selected() <> 1 then return; endIf;  
   
   if Metadata.SelectionColumn("Контрагент").Selected() <> 1 then return;endIf;
    
    КонтрикЕст = 0;
    ИмяПридурка = "";
    
    for Ин = 1 to Metadata.Document(CurrentDocument.Kind()).HeadAttribute()  do
        if Metadata.Document(CurrentDocument.Kind()).HeadAttribute(Ин).тип= "Справочник" then
            if Metadata.Document(CurrentDocument.Kind()).HeadAttribute(Ин).Kind = "Контрагенты" then
                имяПридурка = Metadata.Document(CurrentDocument.Kind()).HeadAttribute(Ин).Identifier;
                КонтрикЕст  = 1;
                Break; 
            endIf; 
        endIf; 
    endDo;
          
   if КонтрикЕст  <> 1 then return; endIf;
   if CurrentDocument.GetAttrib(ИмяПридурка).Selected() <> 1 then return;endIf;
   

    тд = CurrentDocument;
    
    ОтменаОтборов();
    К=тд.GetAttrib(ИмяПридурка);
        SetSelection("Контрагент", К); 
        ActivateObj(тд);

EndProcedure //ОтборПоКонтрагенту
   Дмитрий
4 - 31.01.04 - 03:06
Задача такая.При установке курсора на любое значение в Журнале документов должен быть проведен отбор по этому значению путем нажатия одной кнопки, в идеале на эту роль подходит кнопка "отбор по колонке", но она не всегда активна. В этом собственно и проблема.
-Она активно только для колонок, по которым можно провести отбор. Это либо общие реквизиты документов, либо реквизиты, входящие в определенные в конфигураторе графы отбора.


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует