7.7 Установка быстрого отбора

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Hedinnk, 2 июн 2011.

  1. TopicStarter Overlay
    Hedinnk
    Offline

    Hedinnk

    Регистрация:
    21 апр 2011
    Сообщения:
    45
    Симпатии:
    0
    Баллы:
    1
    Доброго времени суток!
    В модуле журнала имеем следующий код:
    Код:
     
    Перем ДоговорДляОтбора, АвторДляОтбора; // Переменные для отбора
    Перем ЗначениеВВидеСтроки;
    
    //******************************************************************************
    // ПриВыбореДоговора()
    //
    // Параметры:
    //  Нет
    //
    // Описание:
    //  Отрабатывает изменение значения в "быстром" отборе 
    //
    Процедура ПриВыбореДоговора()   
    Если ДоговорДляОтбора.Выбран()>0 Тогда
    УстановитьОтбор("Договор", ДоговорДляОтбора);
    ДоговорДляОтбора = ДоговорДляОтбора.ТекущийЭлемент();
    Иначе
    УстановитьОтбор("");
    КонецЕсли;
    КонецПроцедуры // ПриВыбореКонтрагента()
    
    //******************************************************************************
    // ПриВыбореАвтора()
    //
    // Параметры:
    //  Нет
    //
    // Описание:
    //  Отрабатывает изменение значения в "быстром" отборе 
    //
    Процедура ПриВыбореАвтора()  
    Если АвторДляОтбора.Выбран()>0 Тогда
    УстановитьОтбор("Автор", АвторДляОтбора);
    АвторДляОтбора = АвторДляОтбора.ТекущийЭлемент();
    Иначе
    УстановитьОтбор("");
    КонецЕсли;
    КонецПроцедуры // ПриВыбореАвтора()
    
    //******************************************************************************
    // ПриУстановкеБыстрогоОтбора()
    //
    // Параметры:
    //  Нет
    //
    // Вызывается из формул элементов диалога:
    //  Поле со списком "Вид отбора"
    //
    // Описание:
    //  Устанавливает отбор в журнале по выбранному виду 
    //
    Процедура ПриУстановкеБыстрогоОтбора()
    
    Перем ТекущДок;                           
    
    ТекущДок = ТекущийДокумент;
    ОтборПо  = ВидОтбора.ПолучитьЗначение(ВидОтбора.ТекущаяСтрока());
    Если ВидОтбора.ТекущаяСтрока() = 1 Тогда    // нет быстрого отбора
    ЗначениеВВидеСтроки = "";
    Форма.кнЗначение.Доступность(0);
    УстановитьОтбор("");
    ВидыОтбора("*");
    Иначе    // есть быстрый отбор
    Форма.кнЗначение.Доступность(1);
    Если ОтборПо = "по договору" Тогда   
    ПриВыбореДоговора();
    ЗначениеВВидеСтроки=Строка(ДоговорДляОтбора);
    ИначеЕсли ОтборПо = "по автору" Тогда
    ПриВыбореАвтора();                          
    ЗначениеВВидеСтроки=Строка(АвторДляОтбора);
    КонецЕсли;
    ВидыОтбора("");
    КонецЕсли;
    Попытка
    АктивизироватьОбъект(ТекущДок);
    Исключение    
    
    КонецПопытки;    
    КонецПроцедуры // ПриУстановкеБыстрогоОтбора()
    
    //******************************************************************************
    // ПоКнопкеЗначение()
    //
    // Параметры:
    //  Нет
    //
    // Вызывается из формул элементов диалога:
    //  По кнопке "Значение..."
    //
    // Описание:
    //  Обрабатывает выбор значения отбора в журнале 
    //
    Процедура ПоКнопкеЗначение()  
    
    Перем ЗначениеИзменилось,СтароеЗначение,ВыбЗначение;                     
    
    ЗначениеИзменилось=0;     
    ОтборПо = ВидОтбора.ПолучитьЗначение(ВидОтбора.ТекущаяСтрока());
    Если ОтборПо = "по договору" Тогда
    СтароеЗначение=ДоговорДляОтбора;
    ВыбЗначение = СоздатьОбъект("Справочник.Договор");
    Если ВыбЗначение.Выбрать("Выбор договора","ДляВыбора")=1 Тогда
    ДоговорДляОтбора = ВыбЗначение;
    Если ВыбЗначение<>СтароеЗначение Тогда
    ЗначениеИзменилось=1;    
    КонецЕсли;    
    КонецЕсли;    
    ИначеЕсли ОтборПо = "по автору" Тогда
    СтароеЗначение=АвторДляОтбора;
    ВыбЗначение = СоздатьОбъект("Справочник.Сотрудники");
    Если ВыбЗначение.Выбрать("Выбор автора","ДляВыбора")=1 Тогда
    АвторДляОтбора = ВыбЗначение;
    Если ВыбЗначение<>СтароеЗначение Тогда
    ЗначениеИзменилось=1;    
    КонецЕсли;    
    КонецЕсли;    
    КонецЕсли;
    Если ЗначениеИзменилось=1 Тогда
    ПриУстановкеБыстрогоОтбора();
    КонецЕсли;    
    КонецПроцедуры // ПоКнопкеЗначение()
    
    
    
    // Заполним список возможных видов быстрого отбора
    ВидОтбора.ДобавитьЗначение("  "); 
    ВидОтбора.ДобавитьЗначение("по договору"); 
    ВидОтбора.ДобавитьЗначение("по автору");
    
    ДоговорДляОтбора = СоздатьОбъект("Справочник.Договор");
    АвторДляОтбора = СоздатьОбъект("Справочник.Сотрудники");
    ЗначениеВВидеСтроки = "";
    
    
    
    При попытке установки быстрого отбора по договору после выбора договора выдает сообщение:
    УстановитьОтбор("Договор", ДоговорДляОтбора);
    {Журнал.Заявки.Форма.ФормаСписка.Модуль(15)}: Неверное имя реквизита!
    При отборе по автору документа все работает.

    Подскажите, что я делаю не так?
  2. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    "Договор" не общий реквизит или нет такой графы отбора.
  3. alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    У Вас в В журнале нет графы отбора "Договор"...
  4. TopicStarter Overlay
    Hedinnk
    Offline

    Hedinnk

    Регистрация:
    21 апр 2011
    Сообщения:
    45
    Симпатии:
    0
    Баллы:
    1
    Проблема решена. Всем спасибо.
  5. TopicStarter Overlay
    Hedinnk
    Offline

    Hedinnk

    Регистрация:
    21 апр 2011
    Сообщения:
    45
    Симпатии:
    0
    Баллы:
    1
    Всем доброго времени суток!
    После нескольких дней работы перестал работать быстрый отбор, при попытке установки вновь начало выдавать сообщение:
    УстановитьОтбор("Договор", ДоговорДляОтбора);
    {Журнал.Заявки.Форма.ФормаСписка.Модуль(15)}: Неверное имя реквизита!
    и
    УстановитьОтбор("Договор", АвторДляОтбора);
    {Журнал.Заявки.Форма.ФормаСписка.Модуль(33)}: Неверное имя реквизита!
    С последнего момента в конфигурации ничего не менялось.

    Вложения:

    • 1Cv7.zip
      Размер файла:
      31,3 КБ
      Просмотров:
      46
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Или меняли или не устанавливали этот отбор.... У вас НЕТ графы по автору - поэтому и ошибка
  7. TopicStarter Overlay
    Hedinnk
    Offline

    Hedinnk

    Регистрация:
    21 апр 2011
    Сообщения:
    45
    Симпатии:
    0
    Баллы:
    1
    Если я правильно понял, то у меня в общих реквизитах документов есть реквизит "автор" с включенным свойством "отбор". Или этого не достаточно?
  8. TopicStarter Overlay
    Hedinnk
    Offline

    Hedinnk

    Регистрация:
    21 апр 2011
    Сообщения:
    45
    Симпатии:
    0
    Баллы:
    1
    В случае отбора по договору тоже выдает данную ошибку, хотя графа отбора по договору существует.
  9. TopicStarter Overlay
    Hedinnk
    Offline

    Hedinnk

    Регистрация:
    21 апр 2011
    Сообщения:
    45
    Симпатии:
    0
    Баллы:
    1
    Уважаемый Бухгалтерский угодник, пожалуйста, тыкните где и что конкретно надо сделать.
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Мммм... так журнал где происходи отбор имеет тип "Обычный"... Отбор только в общем работает..........
  11. TopicStarter Overlay
    Hedinnk
    Offline

    Hedinnk

    Регистрация:
    21 апр 2011
    Сообщения:
    45
    Симпатии:
    0
    Баллы:
    1
    :angry: Значит я все-таки что-то поменял. А я балбес сижу думаю...
    Спасибо за помощь, доберусь до рабочего компа обязательно попробую
  12. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Думаю да.... Вам захотелось в этом журнале видеть только документы одного типа да еще и по ни фильтр поставить.... Без танцев с бубном - не получится)))))))
  13. TopicStarter Overlay
    Hedinnk
    Offline

    Hedinnk

    Регистрация:
    21 апр 2011
    Сообщения:
    45
    Симпатии:
    0
    Баллы:
    1
    Вопрос, а если в общий журнал в процедуру при открытии воткнуть сразу отбор по типу документа и он каждый раз автоматически будет его делать, а уже потом из оставшихся делать нужный отбор по нужным реквизитам? Или есть более простые решения?
  14. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    1) можно
    2) если вы воткнете отбор у которого не один тип документа - отобразится все. А вам я так понял нужны только заявки
  15. TopicStarter Overlay
    Hedinnk
    Offline

    Hedinnk

    Регистрация:
    21 апр 2011
    Сообщения:
    45
    Симпатии:
    0
    Баллы:
    1
    В общем на данный момент вижу самый простой способ реализации - это через реестр документов с необходимыми фильтрами.
  16. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Да. Самый простой способ. Но не самы удобный.

    Журнал обычный. По виду. Кнопку вызова формы отчета. На форме фильтр.
  17. TopicStarter Overlay
    Hedinnk
    Offline

    Hedinnk

    Регистрация:
    21 апр 2011
    Сообщения:
    45
    Симпатии:
    0
    Баллы:
    1
    Пойду реализовывать задуманное. Посмотрим что получится.
    Еще раз всем большое спасибо.

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