Имя: Пароль:
1C
1С v8
Выбрать данные из регистра сведений (тонкий)
0 prishliemail
 
19.09.13
11:38
Добрый день!

Столкнулась с проблемой выбора данных из регистра сведений в управляемом приложении. К сожалению, не нашла решение проблемы в интернете.

Ситуация следующая:
У меня есть РС "СчетаУчета" и мне нужно на дату составления отчета выбрать счет НужныйСчет.
Я делаю следующее:

&НаСервере
РегистрыСведений.СчетаУчета.ПолучитьПоследнее(КонецДня(Отчет.КонецПериода)).НужныйСчет

Ошибка "Значение не является значением объектного типа (НужныйСчет)"

Из-за чего эта ошибка?
1 Defender aka LINN
 
19.09.13
11:42
(0) А на каком основании ты так самоувернно полагаешь, что срез тебе что-то возвращает?
2 Laerys
 
19.09.13
11:43
ПолучитьПоследнее (GetLast)
Синтаксис:

ПолучитьПоследнее(<КонецПериода>, <Отбор>)
Параметры:

<КонецПериода> (необязательный)

Тип: Дата; МоментВремени; Граница.
Определяет момент времени, по который необходимо получить значения ресурсов. Может задаваться значениями типа Дата, МоментВремени или Граница. Если параметр не указан, то будут возвращены значения ресурсов самой последней записи регистра.
<Отбор> (необязательный)

Тип: Структура.
Структура, содержащая отбор по измерениям регистра. Имя ключа структуры должно совпадать с именем измерения регистра, заданного в конфигураторе, а значение элемента структуры - задает отбираемое по данному измерению значение.
Структура дополнительно может иметь элементы, соответствующие разделителям регистра с уровнем разделения НезависимоИСовместно, в состав которых входит регистр. Если такой элемент структуры задан для используемого в сеансе разделителя, значение для этого элемента должно совпадать со значением разделителя, иначе будет вызвано исключение.
Если параметр не указан, то отбор не используется.
Возвращаемое значение:

Тип: Структура.
Возвращает структуру, содержащую значения ресурсов.
Описание:

Получает значения ресурсов наиболее поздней записи регистра, соответствующей указанным периоду и значениям измерений регистра.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

Применим только для периодических регистров сведений.
Пример:

Доллары = Справочники.Валюты.НайтиПоНаименованию("USD");
Отбор = Новый Структура;
Отбор.Вставить("Валюта", Доллары);
Курсы   = РегистрыСведений.КурсыВалют;
ТекКурс = Курсы.ПолучитьПоследнее(ТекущаяДата(), Отбор);
Сообщить("Текущий курс доллара: " + ТекКурс.Курс + " руб.");
3 prishliemail
 
19.09.13
11:56
(1) я не "самоуверенно полагаю", а пытаюсь разобраться.

(2) спасибо! я почему-то думала, что РС периодический, оказалось что нет. Поэтому ПолучитьПоследнее () мне не подходит...

Но как правильно получить значение из регистра я так и не знаю
4 mzelensky
 
19.09.13
11:58
(3) получи запросом с нужным тебе условием.
5 Laerys
 
19.09.13
11:58
(3) значение из регистра обычно получается запросом, более ленивые и продвинутые пользуются всякими плюшками языка типа получитьпоследнее().
Конструктор в помощь.
6 Нуф-Нуф
 
19.09.13
12:00
(5) "более ленивые и продвинутые" - ленивые да, а вот насчет продвинутых - весьма сомнительно
7 prishliemail
 
19.09.13
12:00
(4) (5) спасибо. я просто думала, что такое запросом не очень правильно делать, медленней работает
8 mzelensky
 
19.09.13
12:04
(7) Ты заблуждаешься.
9 Laerys
 
19.09.13
12:10
(7) Если ты Абсолютно точно знаешь, что не запросом оно будет работать быстрее, и ты точно знаешь как это надо делать то да, если есть малейшие сомнений: на 95% запрос отработает быстрее