|     0
            - 19.02.2015 - 01:05
           |      
                    Сломал все мозги - то ли глаза замылились, то ли в отпуск пора... Вобщем имеется простой независимый периодический регистр сведений с периодичностью "день": Одно измерение - "Номер", тип фикс. строка, 11 и два ресурса: "ДатаВыработки" - тип Дата, "Технолог" - тип СправочникСсылка.ФизическиеЛица. Проблема в том, что в запрос по периоду, по срезу последних, всегда попадает только самая первая запись регистра сведений, а не срез на заданный момент. Код запроса в следующем посте.  |    |  
|     1
            - 19.02.2015 - 01:08
           |       Код:  			Запрос = Новый Запрос(
			"ВЫБРАТЬ
			|	УдостоверенияКачестваСрезПоследних.Номер,
			|	УдостоверенияКачестваСрезПоследних.ДатаВыработки,
			|	УдостоверенияКачестваСрезПоследних.Технолог
			|ИЗ
			|	РегистрСведений.УдостоверенияКачества.СрезПоследних(&НаДату, ) КАК УдостоверенияКачестваСрезПоследних"
			);
			Запрос.УстановитьПараметр("НаДату", ТекущийДокумент.Дата);
			Выборка = Запрос.Выполнить().Выбрать();
			ПредставлениеТехнолог	= "";
			Если Выборка.Следующий() Тогда
		
				НомерКУ 				= Выборка.Номер;
				ДатаВыработки			= Выборка.ДатаВыработки;
				УправлениеНебольшойФирмойСервер.ФамилияИнициалыПоНаименованию(ПредставлениеТехнолог, Строка(Выборка.Технолог));
				ПредставлениеТехнолог	= "/" + ПредставлениеТехнолог + "/";
				
			Иначе	
				
				НомерКУ 				= "_________";
				ДатаВыработки			= Шапка.ДатаДокумента;
				ПредставлениеТехнолог	= "/                 /";
				
			КонецЕсли;  |    |  
|     2
            - 19.02.2015 - 01:45
           |  смысл в том, что нужно просто получить значение регистра сведений на заданную дату без использования ключа, т.е. не по заданному измерению. |   |  
|     3
            - 19.02.2015 - 01:59
           |  хмм..., перенёс единственное измерение в ресурсы (т.е. измерений не осталось), и всё заработало. Чего-то моя нипанимаит... |   |  
|     4
            - 19.02.2015 - 09:05
           |  Чего-то ты не понимаешь... Срез последних как-раз и есть выборка всех ключей (комбинаций измерений), с актуальными для указунного моента значениями |   |  
|     5
            - 19.02.2015 - 10:12
           |  +4 поэтому и записей с одинаковыми ключевыми полями быть не может |   |  
|     6
            - 19.02.2015 - 19:24
           |     
			
			
                2 (4,5) Смысл всего, что выше, и вывод из этого - когда есть измерения, то выборка из регистра возможна только по этим измерениям, и, если нужна просто строка значений регистра на конкретный момент времени, то её, без указания измерений, не получить. А нужно было именно это. Если измерений нет, а ресурсы имеются, то выборка возможна только по периоду, т.е. именно период в данном варианте и является ключевым полем, и возможна единственная запись с таким значением периода. Я об этом не знал, т.к. ранее подобной задачи никогда не стояло. При наличии измерений в регистре выполнить отбор по их комбинации - это без проблем ;)  |    |  
|     7
            - 20.02.2015 - 14:19
           |  6-oops! > немного не так, просто если ты не указываешь отбор по имеющимся измерениям, то в выборку попадают срезы ВСЕХ ПОСЛЕДНИХ КОМБИНАЦИЙ на указанную тобой дату |   |  
|     8
            - 20.02.2015 - 14:22
           |  +7 а если тебе нужна запись с определенным значением ПЕРИОДА, то зачем же тебе СРЕЗ? делай запрос к основной таблице, где Период = НужнаяДата |   |  
|     9
            - 20.02.2015 - 16:30
           |     
			
			
                (7) т.е., если у меня в измерении будет каждый день новое значение, то в выборку попадет вся таблица? (8) нужна не запись с определенным значением ПЕРИОДА, а действующее значение регистра на заданную дату - к примеру, запрос я делаю на 5 февраля, а последнее изменение до 5 февраля было сделано 23 января, а следующее - 10 февраля :) Поэтому и срез ;)  |    |  
|     10
            - 20.02.2015 - 16:36
           |     
			
			
                вот это я понял, как запись с определенным значением периода: если не поставишь отбор по измерениям, то да, вся таблица до указанной тобой даты (при условии, что измерения не повторяются). Теоретически ты можешь отсортировать по периоду (в обратном порядке) и взять нужную тебе запись через "Первые 1"  |    |  
|     11
            - 20.02.2015 - 16:39
           |  +10 тебе вернется таблица содержащие все срезы последних по всем измерениям, т.е. если какое-то измерение (комбинация измерений) в регистре повторяется два раза, то в результате запроса запись по этому измерению (комбинации измерений) будет только одна (и так же по всем остальным измерениям (комбинациям)) |   |  
|     12
            - 20.02.2015 - 21:22
           |  (10,11) Ну да, это всё понятно. Получается, что в моём случае наиболее рациональное решение по проектированию РС - это регистр без измерений. Тогда всё работает так, как надо. Смысл задачи - РС в данном случае представляет собой журнал выданных документов (сами эти документы не создаются в этой ИБ), каждый из которых действителен до того момента времени, пока не будет выдан следующий документ. И мне, запросом на заданную дату, нужно получать значение действующего на эту дату документа. |   |  
|     13
            - 25.02.2015 - 10:25
           |  12-oops! > тогда зачем периодический РС? достаточно непериодического, получай последнюю запись по дате и все |   |  
 Интернет-форум Краснодарского края и Краснодара |