M
M
Mag1str2021-12-22 19:36:27
1C
Mag1str, 2021-12-22 19:36:27

How to get a value from the information register in 1s?

In the ActualSubscription field, you need to pull up the Subscription value from the information register by the slice of the latest

the document in which to pull
61c353cd0bfcd214980961.png

information register
61c353801afcc347800127.png


Wrote this code. Something is wrong with the request
&НаСервере
Процедура ПользовательПриИзмененииНаСервере()
  
  Запрос = Новый Запрос;
  Запрос.Текст = 
    "ВЫБРАТЬ
    |	ПодпискиПользователейСрезПоследних.Подписка КАК Подписка
    |ИЗ
    |	РегистрСведений.ПодпискиПользователей.СрезПоследних КАК ПодпискиПользователейСрезПоследних
    |ГДЕ
    |	ПодпискиПользователейСрезПоследних.Пользователь = &Пользователь";
  
  Запрос.УстановитьПараметр("Пользователь", Объект.Пользователь.Наименование);
  
  РезультатЗапроса = Запрос.Выполнить();
  
  ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
  
  
  Если Объект.Пользователь.Наименование = Объект.Пользователь.Наименование Тогда
    
    ЭтотОбъект["АктуальнаяПодписка"] = ВыборкаДетальныеЗаписи.Подписка;
    
  КонецЕсли;
  
КонецПроцедуры

Answer the question

In order to leave comments, you need to log in

3 answer(s)
K
Konstantin Nagibovich, 2021-12-22
@Mag1str

The user should be a link to it, not a name.

S
Sergey Vodakov, 2021-12-22
@WaterSmith

With the request, everything is so, or rather not so, but it is not filled in for you for this reason.
The sample must be bypassed. If you are sure that you have one entry there, then like this:

ВыборкаДетальныеЗаписи.Следующий();
ЭтотОбъект["АктуальнаяПодписка"] = ВыборкаДетальныеЗаписи.Подписка;

And you have a strange condition there.

D
Dmitry Kinash, 2021-12-22
@Dementor

1) When using virtual tables, such as SliceLast, it is better to specify the selection in the parameters of the virtual table. Otherwise, when creating a virtual table, extra time is spent on selecting records that are not needed in principle.
2) Judging by the screenshot in the comment, "User" and "Subscription" are measurements. Therefore, in the last slice for one user, there may be several subscriptions and not all of them will be up-to-date. The relevance condition must be specified in the query condition and the document's relevance date should be passed as a parameter (depending on the task, it may not be equal to the current time)
3) To access the query selection data, use the Next() method

ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();
ВыборкаДетальныеЗаписи.Следующий(); // позиционирование на первую запись
ВыборкаДетальныеЗаписи.Следующий(); // позиционирование на вторую запись

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question