Книга знаний

1С:Предприятие / Объекты конфигурации / Документы

Отбор по нескольким реквизитам в журнале (www.sinor.ru)

http://www.sinor.ru/~my1c/knowhow/jur_otb.htmlАвтор статьи: ASV | Редакторы: romix
Последняя редакция №3 от 09.04.09 | История
URL: http://kb.mista.ru/article.php?id=415

Ключевые слова: отбор, журнал, справочник, реквизит, одновременно, множественный, документ, УстановитьОтбор


// Заводим общий реквизит документов "ВидДокументаКлиент"

// В Глобальном модуле. 
Функция ПолучитьВнутрКод(Клиент) Экспорт
     СписокЗн = СоздатьОбъект("СписокЗначений");
     СписокЗн.ИзСтрокиСРазделителями(ЗначениеВСтрокуВнутр(Клиент));
     ИД = СписокЗн.ПолучитьЗначение(7);
     Возврат Сред(ИД,2,9);
КонецФункции

// Вызывается из документов ПриЗаписи()
Процедура глУстановитьРеквизитыОтбора(Конт) Экспорт
     Конт.ВидДокументаКлиент=Конт.Вид();
     Если глЕстьРеквизитШапки("Клиент",Конт.Вид()) = Да Тогда
          Если ПустоеЗначение(Конт.Клиент) = 0 Тогда
               Конт.ВидДокументаКлиент = СокрЛП(Конт.Вид())+СокрЛП(ПолучитьВнутрКод(Конт.Клиент));
          КонецЕсли;
     КонецЕсли;
КонецПроцедуры

// В журнале
УстановитьОтбор("ВидДокументаКлиент",ВыбВидДокумента.ПолучитьЗначение(ТС)+СокрЛП(ПолучитьВнутрКод(ВыбКлиент)));


Можно пойти и другим путем - завести в Конфигурации доп.справочник с реквизитами, соотвествующими значениям отбора и устанавливать отбор по элементам этого справочника. Пример реализации (одновременный отбор по выбранным фирме, контрагенту и виду документа) можно посмотреть здесь (http://www.sinor.ru/~filez/jur_otb3.zip).

От romix'а: если база SQL, то имеется возможность подменять SQL-запросы внешней компонентой.
Книга знаний: Множественный отбор в журналах и справочниках 7.7 заменой запросов SQL

Дополнение от Сергей Палыч:

правомочно ли так смело отрезать префикс базы создавшей объект

ИД = СписокЗн.ПолучитьЗначение(7);
     Возврат Сред(ИД,2,9);
Закладка

Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2011 | Mista.ru

Яндекс.Метрика