| 
    
        
     
     | 
    
    
  | 
Обход журнала документов с включенным отбором по ВидДокумента | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        yegorka    
     23.09.14 
            ✎
    16:21 
 | 
         
        Здравствуйте, 
 
        задача обойти все документы журнала в котором включен отбор по ВидДокумента. С любым другим отбором работает. Подробно проблему описал здесь http://1c-pro.ru/threads/kak-poluchit-spisok-dokumentov-iz-zhurnala-dokumentov.51359/ Для тех у кого возникнет желание проверить, сделал обработку с комментарием. Обработка здесь http://1c-pro.ru/threads/kak-poluchit-spisok-dokumentov-iz-zhurnala-dokumentov.51359/#post-328262 Обидно, что в любом журнале отбор по Виду документа работает. Кто сталкивался с подобной задачей подскажите, плиз,как ее решить.  | 
|||
| 
    1
    
        shuhard    
     23.09.14 
            ✎
    16:23 
 | 
         
        (0) миста не пойдём на чуждый форум решать твои проблемы     
         | 
|||
| 
    2
    
        yegorka    
     23.09.14 
            ✎
    16:27 
 | 
         
        Хорошо. Понял.
 
        В форме журнала документов код: ТекстЗапроса = "ВЫБРАТЬ | ОбменСоСкладами.Ссылка, | ОбменСоСкладами.Дата, | ОбменСоСкладами.ПометкаУдаления, | ОбменСоСкладами.Номер, | ОбменСоСкладами.Проведен, | ОбменСоСкладами.Организация, | ОбменСоСкладами.Контрагент, | ОбменСоСкладами.Склад, | ОбменСоСкладами.Комментарий, | ОбменСоСкладами.СуммаДокумента, | ОбменСоСкладами.ВалютаДокумента, | ОбменСоСкладами.Подразделение, | ОбменСоСкладами.Тип КАК ВидДокумента |ИЗ | ЖурналДокументов.ОбменСоСкладами КАК ОбменСоСкладами |АВТОУПОРЯДОЧИВАНИЕ"; // Построитель = Новый ПостроительЗапроса (ТекстЗапроса); //Построитель = Новый ПостроительЗапроса; //Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных (ЖурналДокументовСписок); Построитель.ЗаполнитьНастройки(); // Для Каждого Элемент ИЗ ЖурналДокументовСписок.Отбор Цикл Если Элемент.Использование Тогда Если Построитель.Отбор.Найти(Элемент.Имя) = Неопределено Тогда Построитель.Отбор.Добавить(Элемент.Имя); КонецЕсли; Построитель.Отбор [Элемент.Имя].Использование = Истина; Построитель.Отбор [Элемент.Имя].ВидСравнения = Элемент.ВидСравнения; Построитель.Отбор [Элемент.Имя].Значение = Элемент.Значение; Построитель.Отбор [Элемент.Имя].ЗначениеПо = Элемент.ЗначениеПо; Построитель.Отбор [Элемент.Имя].ЗначениеС = Элемент.ЗначениеС; Построитель.Отбор [Элемент.Имя].Представление = Элемент.Представление; КонецЕсли; КонецЦикла; Вылетает на Построитель.Отбор.Добавить(Элемент.Имя), кодга Элемент.Имя = "ВидДокумента", в остальных случаях не вылетает. Вылетает по ошибке: Недопустимое значение параметра (параметр номер '1')  | 
|||
| 
    3
    
        Зеленый пень    
     23.09.14 
            ✎
    16:30 
 | 
         
        (2) А еще есть отбор по периоду.     
         | 
|||
| 
    4
    
        yegorka    
     23.09.14 
            ✎
    16:31 
 | 
         
        (3) любой другой отбор работает............     
         | 
|||
| 
    5
    
        Зеленый пень    
     23.09.14 
            ✎
    16:33 
 | 
         
        Я бы по-старинке:
 
        Построитель = Новый ПостроительОтчета; Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ЖурналДокументовСписок); РезультатЗапроса = Построитель.Результат;  | 
|||
| 
    6
    
        Мимохожий Однако    
     23.09.14 
            ✎
    16:34 
 | 
         
        Если Построитель.Отбор.Найти(Элемент.Имя) = Неопределено Тогда
 
        Построитель.Отбор.Добавить(Элемент.Имя);  | 
|||
| 
    7
    
        yegorka    
     23.09.14 
            ✎
    16:35 
 | 
         
        В этом случае, получим без отборов в журнале. Их все равно нужно добавлять в построитель. Если код смотрели специльно там оставил закоментированные строки...     
         | 
|||
| 
    8
    
        yegorka    
     23.09.14 
            ✎
    16:36 
 | 
         
        (6) вы код смотрели??     
         | 
|||
| 
    9
    
        Мимохожий Однако    
     23.09.14 
            ✎
    16:46 
 | 
         
        Посмотри СП
 
        Отбор.Добавить (Filter.Add) Отбор (Filter) Добавить (Add) Синтаксис: Добавить(<Описание>, <Имя>, <Представление>) Параметры: <Описание> (обязательный) Тип: Строка. Описание элемента отбора в виде наименования доступного поля или в виде развернутого пути Например, "Контрагент.Код", где "Контрагент" - одно из полей доступных для отбора. <Имя> (необязательный) Тип: Строка. Имя элемента отбора. Если не задано, то имя задается автоматически по переданному в качестве первого параметра описанию. <Представление> (необязательный) Тип: Строка. Пользовательское представление добавляемого элемента отбора. Возвращаемое значение: Тип: ЭлементОтбора; Неопределено. Если добавить элемент отбора не удалось, то возвращает значение Неопределено. Описание: Добавляет элемент отбора по переданному описанию поля отбора в виде "пути". Например, если среди доступных полей есть поле "Контрагент", то возможно добавление элемента отбора "Контрагент", "Контрагент.ТипКонтрагента", "Контрагент.ТипКонтрагента.Наименование" и т.д. Внимание! Метод не доступен для отбора динамических списков (свойство Отбор объектов СправочникСписок.<Имя справочника>, ДокументСписок.<Имя документа> и т.д.) Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: Добавление возможно только из коллекции доступных полей. Пример: Отбор = ОтчетОстатки.ПостроительОтчета.Отбор; Если Отбор.Найти("Номенклатура") = Неопределено Тогда Отбор.Добавить("Номенклатура"); КонецЕсли; Отбор["Номенклатура"].Использование = Истина; Отбор["Номенклатура"].Значение = Номенклатура; Отбор["Номенклатура"].ВидСравнения = ?(Номенклатура.ЭтоГруппа, ВидСравнения.ВСпискеПоИерархии, ВидСравнения.Равно); См. также: Отбор, метод УстановитьДоступныеПоля  | 
|||
| 
    10
    
        yegorka    
     23.09.14 
            ✎
    16:57 
 | 
         
        (9) Не беспокойся СП первое к чему обратился.
 
        Код, что я привел соответствует СП. А вы, похоже, так ине потрудились раскрыть код... Если б взглянули, ваш пост был бы не нужен.  | 
|||
| 
    11
    
        Зеленый пень    
     23.09.14 
            ✎
    17:02 
 | 
         
        Повторюсь:
 
        Новый ОписаниеИсточникаДанных() - прекрасно отрабатывает все отборы  | 
|||
| 
    12
    
        Зеленый пень    
     23.09.14 
            ✎
    17:03 
 | 
         
        (если это действительно журнал, а не табличная часть)     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |