Имя: Пароль:
1C
1С v8
КД со своей выборкой
0 PuhUfa
 
28.10.15
15:54
В правилах 1 справочник. У него в ПВД, в "перед обработкой" прописано:

П_Организация                = Параметры.П_Организация;
П_ВидСравненияОрганизация    = Параметры.П_ВидСравненияОрганизация;
П_ОтборОрганизация            = Параметры.П_ОтборОрганизация;
    
Если П_ВидСравненияОрганизация = ВидСравнения.Равно Тогда
    ЗапросВидСравнения = " = &П_Организация"
ИначеЕсли П_ВидСравненияОрганизация = ВидСравнения.НеРавно Тогда
    ЗапросВидСравнения = " <> &П_Организация"
ИначеЕсли П_ВидСравненияОрганизация = ВидСравнения.ВСписке Тогда
    ЗапросВидСравнения = " В (&П_Организация)"
ИначеЕсли П_ВидСравненияОрганизация = ВидСравнения.НеВСписке Тогда
    ЗапросВидСравнения = " НЕ В (&П_Организация)"
Иначе
    ЗапросВидСравнения = "";
КонецЕсли;
    
ТекстЗапроса =
    "ВЫБРАТЬ
    |    ПодразделенияОрганизаций.Ссылка КАК Подразделение
    |ИЗ
    |    Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций";
    
Если НЕ (ЗапросВидСравнения = "") И П_ОтборОрганизация Тогда
    ТекстЗапроса = ТекстЗапроса + "
        |ГДЕ
        | ПодразделенияОрганизаций.Владелец " + ЗапросВидСравнения;
КонецЕсли;    

Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;

Запрос.УстановитьПараметр("П_Организация", П_Организация);

ВыборкаДанных = Новый ТаблицаЗначений;
    
ВыборкаДанных.Колонки.Добавить("Подразделение");

ВыборкаДанных.Колонки.Добавить("Владелец");
ВыборкаДанных.Колонки.Добавить("Код");
ВыборкаДанных.Колонки.Добавить("КодПоОКАТО");
ВыборкаДанных.Колонки.Добавить("КодПоОКТМО");
ВыборкаДанных.Колонки.Добавить("КПП");
ВыборкаДанных.Колонки.Добавить("Наименование");
ВыборкаДанных.Колонки.Добавить("Родитель");
ВыборкаДанных.Колонки.Добавить("ПометкаУдаления");

Выборка = Запрос.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл
    
    Если Выборка.Подразделение = Неопределено ИЛИ Выборка.Подразделение = Null Тогда
        Продолжить;
    КонецЕсли;
    
    СтрокаВыборкиДанных                 = ВыборкаДанных.Добавить();    
    СтрокаВыборкиДанных.Подразделение     = Выборка.Подразделение;
    СтрокаВыборкиДанных.Владелец        = Выборка.Подразделение.Владелец;
    СтрокаВыборкиДанных.Код                = Выборка.Подразделение.Код;
    СтрокаВыборкиДанных.КодПоОКАТО        = Выборка.Подразделение.КодПоОКАТО;
    СтрокаВыборкиДанных.КодПоОКТМО        = Выборка.Подразделение.КодПоОКТМО;    
    СтрокаВыборкиДанных.КПП             = Выборка.Подразделение.КПП;
    СтрокаВыборкиДанных.Наименование    = Выборка.Подразделение.Наименование;    
    СтрокаВыборкиДанных.Родитель        = Выборка.Подразделение.Родитель;    
    СтрокаВыборкиДанных.ПометкаУдаления    = Выборка.Подразделение.ПометкаУдаления;
    
КонецЦикла;

Сообщить("в выборке: "+ВыборкаДанных.Количество());

При выгрузке, в файл попадет только один(первый) элемент справочника. Сообщить выводит, что в ВыборкаДанных элементов куда больше.
Что и где я забыл?
1 боксер
 
28.10.15
15:56
может остальные тут:
  Если Выборка.Подразделение = Неопределено ИЛИ Выборка.Подразделение = Null Тогда
        Продолжить;
    КонецЕсли;
2 Vovan1975
 
28.10.15
15:56
флажок "не запоминать выгруженные объекты"
3 PuhUfa
 
28.10.15
16:00
(2) Огромное спасибо!