8.х Как из формы списка справочника открыть форму журнала документов ,используя пределенный отбор данных

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем andrew76, 29 июн 2010.

  1. TopicStarter Overlay
    andrew76
    Offline

    andrew76

    Регистрация:
    22 янв 2007
    Сообщения:
    44
    Симпатии:
    0
    Баллы:
    1
    Имеется справочник Сотрудники,также определён критерий отбора -по сотруднику.
    Вопрос - как находясь в форме списка справочника ,на определённом сотруднике,
    по нажатию копки,открыть журнал документов,относящихся только к этому сотруднику?
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.565
    Симпатии:
    716
    Баллы:
    204
    Нужно сделать

    ТекущийСотрудник = ЭлементыФормы.<СотрудникиСписок>.ТекущиеДанные.<Сотрудник>;

    ФормаЖурналаДокументов = ЖурналыДокументов.<НужныйЖурнал>.ПолучитьФорму("НужнаяФормаНаименование");
    ФормаЖурналаДокументов.Отбор.Сотрудник.Установить(ТекущийСотрудник);
    ФормаЖурналаДокументов.Открыть(Модально)();
  3. TopicStarter Overlay
    andrew76
    Offline

    andrew76

    Регистрация:
    22 янв 2007
    Сообщения:
    44
    Симпатии:
    0
    Баллы:
    1
    Спасибо,помогло.Только есть "но".При отборе ,1С начинает подвисать,даже если в выборке по сотруднику 2-3 документа.
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.565
    Симпатии:
    716
    Баллы:
    204
    дык оно среди всех документов отбирает - понятно, что будет подтормаживать
  5. TopicStarter Overlay
    andrew76
    Offline

    andrew76

    Регистрация:
    22 янв 2007
    Сообщения:
    44
    Симпатии:
    0
    Баллы:
    1
    Альтернатива отбору есть ?
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.565
    Симпатии:
    716
    Баллы:
    204
    Как вариан: сделать свою ТЧ на форму и в неё брать нужное запросом, но не думаю, что будет быстрее....
  7. TopicStarter Overlay
    andrew76
    Offline

    andrew76

    Регистрация:
    22 янв 2007
    Сообщения:
    44
    Симпатии:
    0
    Баллы:
    1
    А как быть в случае если появится надобность в усложнённом отборе-т.е. отобрать по определённому сотруднику только приказы
    по отпуску например?
  8. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.565
    Симпатии:
    716
    Баллы:
    204
    это проверять надо. Все зависит от общего количества, среди которого выбираем.
  9. TopicStarter Overlay
    andrew76
    Offline

    andrew76

    Регистрация:
    22 янв 2007
    Сообщения:
    44
    Симпатии:
    0
    Баллы:
    1
    Я не совсем понял крайний пост...У меня получилось следующее:
    Код:
    Журнал=ЖурналыДокументов.ПриказыКадровые.ПолучитьФорму("ФормаСписка");	
    ТекущийСотрудник = ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.Ссылка;
    
    
    Журнал.Отбор.Сотрудник.Значение=ТекущийСотрудник;
    Журнал.Отбор.Сотрудник.ВидСравнения=ВидСравнения.Равно;
    Журнал.Отбор.Сотрудник.Использование=Истина;
    Журнал.Отбор.ВидДокумента.Значение=Метаданные.Документы.ПриказПоОтпуску;
    Журнал.Отбор.ВидДокумента.ВидСравнения=ВидСравнения.Равно;
    Журнал.Отбор.ВидДокумента.Использование=Истина;
    Журнал.Открыть();
    
    
    т.е. идёт отбор документов по определённому сотруднику (И) по этому сотруднику
    выбираются документы по отпуску.
  10. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.565
    Симпатии:
    716
    Баллы:
    204
    по скорости как? :) хуже, чем просто по сотруднику или так же?
  11. TopicStarter Overlay
    andrew76
    Offline

    andrew76

    Регистрация:
    22 янв 2007
    Сообщения:
    44
    Симпатии:
    0
    Баллы:
    1
    Нет разницы в скорости выполнения.

Поделиться этой страницей