Имя: Пароль:
1C
1С v8
Журнал регистрации. Отбор по метаданным.
,
0 guitar_player
 
24.10.11
08:45
Всем привет. Кто нибудь ткните пожалуйста носом, почему отбор по метаданным не работает (если отбор по метаданным убираю - все остальное идет). платформа 8.2.10.73

Код:

Функция Фильтр()
   
   МассивСобытий = Новый Массив;
   МассивСобытий.Добавить("_$Data$_.New");
   МассивСобытий.Добавить("_$Data$_.Delete");
   МассивСобытий.Добавить("_$Data$_.Post");  
   МассивСобытий.Добавить("_$Data$_.Unpost");
   МассивСобытий.Добавить("_$Data$_.Update");
   
   МассивСтатусовТранзакций = Новый Массив;
   МассивСтатусовТранзакций.Добавить(СтатусТранзакцииЗаписиЖурналаРегистрации.Зафиксирована);
   МассивСтатусовТранзакций.Добавить(СтатусТранзакцииЗаписиЖурналаРегистрации.НетТранзакции);
   
   МассивМетаданных = Новый Массив;
   
   // 1.
   МассивМетаданных.Добавить("Справочник.СотрудникиОрганизаций");
   
   // 2.
   МассивМетаданных.Добавить("Документ.ПриемНаРаботуВОрганизацию");
   МассивМетаданных.Добавить("Документ.КадровоеПеремещениеОрганизаций");
   МассивМетаданных.Добавить("Документ.УвольнениеИзОрганизаций");
   
   // 3.
   МассивМетаданных.Добавить("Документ.ИзменениеШтатногоРасписания");
   МассивМетаданных.Добавить("Документ.УтверждениеШтатногоРасписания");
   
   // 4.
   МассивМетаданных.Добавить("Справочник.Филиалы");
   МассивМетаданных.Добавить("Справочник.ДолжностиОрганизаций");
   
   Возврат Новый Структура("ДатаНачала, ДатаОкончания, Событие, СтатусТранзакции",
       ДатаНачала,
       ДатаОкончания,
       МассивСобытий,
       МассивСтатусовТранзакций);
   
КонецФункции // Фильтр()

Функция Колонки()
   
   Возврат "Дата, Событие, Метаданные, Данные, ПредставлениеДанных";
   
КонецФункции //Колонки()

Процедура КнопкаВыполнитьНажатие(Кнопка)
   
   Журнал = Новый ТаблицаЗначений;
   
   ВыгрузитьЖурналРегистрации(Журнал, Фильтр(), Колонки());

.....
1 guitar_player
 
24.10.11
08:55
в варианте из (0) работает, делаю так:

 Возврат Новый Структура("ДатаНачала, ДатаОкончания, Событие, Метаданные, СтатусТранзакции",
       ДатаНачала,
       ДатаОкончания,
       МассивСобытий,
       МассивМетаданных,
       МассивСтатусовТранзакций);

не работает
2 vicof
 
24.10.11
08:58
ДокументСсылка.ПриемНаРаботуВОрганизацию, СправочникСсылка.СотрудникиОрганизаций, ... не?
3 guitar_player
 
24.10.11
09:01
(2) При таком варианте как и при моем возвращает 0 записей, хотя они реально есть. Значения в массиве я устанавливают также как они идут в журнале регистрации, если его прочитать без отбора по метаданным.
4 Defender aka LINN
 
24.10.11
09:04
(0) И где же у тебя метаданные?
5 guitar_player
 
24.10.11
09:14
(4) в Фильтр заполняется массив метаданных в комменте (1) он учитывается.
Массив заполняется строками аналогичными данными самого журнала регистрации...
что не так?
6 Defender aka LINN
 
24.10.11
09:18
(5) "Массив заполняется строками".
Разницу между объектом метаданных и строкой ощущаешь? :)
7 vicof
 
24.10.11
09:18
(5) (4)намекает на МассивМетаданных.Добавить(Метаданные.Справочники.СотрудникиОрганизаций)
8 vicof
 
24.10.11
09:19
?
9 guitar_player
 
24.10.11
09:24
(7) результат такой же, что в (2), (0). Т.е. не ругается, но результат пустой.

(6) вы сами так пробовали?

Сейчас забил на отбор, делаю цикл по типу:

   Для Каждого Элемент Из Журнал Цикл
       
       Отказ = Ложь;
       
       Если (Элемент.Метаданные = "Документ.ПриемНаРаботуВОрганизацию"
               ИЛИ Элемент.Метаданные = "Документ.КадровоеПеремещениеОрганизаций"
               ИЛИ Элемент.Метаданные = "Документ.УвольнениеИзОрганизаций")
           И (Элемент.Событие = "_$Data$_.Unpost" ИЛИ Элемент.Событие = "_$Data$_.Post") Тогда

Данные есть, нужные действия выполняется. Только хотелось бы все таки от лишних записей избавиться
10 vicof
 
24.10.11
09:36
(0) у меня твой первоначальный вариант из (1) работает нормально. 8.2.13.219
11 guitar_player
 
24.10.11
09:38
(10) вот в том то и дело, что дома почему написал, вроде работало, на работе проверяю не работает... разница только в платформе... шо за фигня...
12 vicof
 
24.10.11
09:44
(11) ну или дома использовать, или платформу обновлять
AdBlock убивает бесплатный контент. 1Сергей