Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема ПоставщикДанныхЖурналРегистрации выборка по конкретному элементу. (число прочтений - 1532 )
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
ПоставщикДанныхЖурналРегистрации выборка по конкретному элементу.
26. Июля 2012 :: 13:29
Печать  
Что то не получается сделать выборку по элементу справочника.
Элемент выбирается в форме в реквизит ВыбПроект.
Пишу такой код:
Код
Выбрать все
	ПоставщикЖР = СоздатьОбъект("ПоставщикДанныхЖурналРегистрации");
	ПоставщикЖР.ОткрытьФайл();
	ПоставщикЖР.УстановитьПериод();
	ПоставщикЖР.ИзменитьФильтр(11, ВыбПроект);
	ПоставщикЖР.УстановитьФильтр(1);
	ПоставщикЖР.ВыбратьСтроки();
	Пока ПоставщикЖР.ПолучитьСтроку() = 1 Цикл
		Сообщить(""+ПоставщикЖР.Дата);
		Сообщить(""+ПоставщикЖР.Время);
		Сообщить(""+ПоставщикЖР.Объект);
		Сообщить(""+ПоставщикЖР.ПредставлениеОбъекта);
		Сообщить(""+ПоставщикЖР.Пользователь);
	КонецЦикла;
 



но почему то в выборку попадают не только этот элемент справочника а и другие новые записанные элементы. Подскажите что Что делаю не так?

+ Как можно выбрать события только по одному виду справочника?

1С++ - 3.2.4.0 RC2
FormeEx - 2.0.5.104

1C R27 SQL + Solution 7 (под SQL 2005-2008).
  
Наверх
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПоставщикДанныхЖурналРегистрации выборка по конкретному элементу.
Ответ #1 - 26. Июля 2012 :: 13:49
Печать  
Сейчас сделал так:
Код
Выбрать все
	ПоставщикЖР = СоздатьОбъект("ПоставщикДанныхЖурналРегистрации");
	ПоставщикЖР.ОткрытьФайл();
	ПоставщикЖР.УстановитьПериод();
	ПоставщикЖР.ИзменитьФильтр(11, ВыбПроект.ТекущийЭлемент());
	ПоставщикЖР.УстановитьФильтр(1);
	ПоставщикЖР.ВыбратьСтроки();
	Пока ПоставщикЖР.ПолучитьСтроку() = 1 Цикл
		Если ПустоеЗначение(ПоставщикЖР.Объект) = 0 Тогда
			Если ПоставщикЖР.Объект.Выбран() = 1 Тогда
				Об = ПоставщикЖР.Объект;
				Если Об.Вид() = "пр_ПроектныеОрганизации" Тогда
					Если ПоставщикЖР.Событие.Индекс = 11 Тогда
						Сообщить("");
						Сообщить(""+Об);
						Сообщить(""+ПоставщикЖР.Дата+" - "+ПоставщикЖР.Время);
						Сообщить(""+ПоставщикЖР.Пользователь);
					КонецЕсли;
				КонецЕсли;
			КонецЕсли;

		КонецЕсли;
	КонецЦикла; 



Но как то не хорошо, лучше бы сразу фильтр сработал, а не заниматься перебором.
  
Наверх
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПоставщикДанныхЖурналРегистрации выборка по конкретному элементу.
Ответ #2 - 26. Июля 2012 :: 13:56
Печать  
Код
Выбрать все
ПоставщикЖР.ПросмотрАрхивов = 1; 


тоже почему то не срабатывает. Архивы в Syslog есть, созданы стандартным архивированием из монитора.
  
Наверх
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: ПоставщикДанныхЖурналРегистрации выборка по конкретному элементу.
Ответ #3 - 27. Июля 2012 :: 17:06
Печать  
pvase писал(а) 26. Июля 2012 :: 13:29:
..почему то в выборку попадают не только этот элемент справочника а и другие новые записанные элементы.

Все правильно. Вариант 11 устанавливает отбор по всем событиям "Записан новый элемент справочника" (второй параметр тут не нужен). Отбор событий по Объекту - это вариант 141. Если хочешь отобрать именно событие создания указанного элемента - используй оба фильтра одновременно.
http://www.1cpp.ru/docum/html/LogDataProvider.html#id17
  
Наверх
GTalkICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать