Имя: Пароль:
1C
 
Как получить запись у непериодического регистра сведений?
0 lanc2233
 
24.12.08
11:44
Есть непериодический регистр сведений.
Как получить запись по определенному отбору? (неважно какую - первую, последнюю, подразумевается что в одном поле будут только разные значения и отбор будет возвращать только одну запись или пусто)

Аналогично для ПолучитьПоследнее в переодическом регистре.
1 Живой Ископаемый
 
24.12.08
11:45
невозможно... вообще нельзя получать записей из регистра сведений...
2 Чес
 
24.12.08
11:46
Или я туплю, или НаборЗаписей?
3 Живой Ископаемый
 
24.12.08
11:46
если в СП написано что можно - знайте, врут...
Если в какой-то книге приведен пример - будьте уверен, он не работает.. Пробовать не смейте, все равно запись вы не получите...
4 lanc2233
 
24.12.08
11:49
(1) ладно, структуру содержащую значения ресурсов

(2) а что это? синтакс помощник ничего не находит по этому слову.
5 hhhh
 
24.12.08
11:55
(4) видимо у тебя левый синтакс помощник. Поменяй его.

РегистрСведенийМенеджер.<Имя регистра сведений> (InformationRegisterManager.<Имя регистра сведений>)
Получить (Get)
Вариант синтаксиса: Для периодического регистра
Описание:
Получает значения ресурсов записи регистра, соответствующей указанным значениям измерений регистра и периоду.
Синтаксис:
Получить(<Период>, <Отбор>)
Параметры:
<Период> (обязательный)
Тип: Дата, МоментВремени. Определяет момент времени, на который необходимо получить значения ресурсов. Если указанный момент времени не совпадает с периодом ни одной записи регистра, то будет возвращена структура, содержащая пустые значения.
<Отбор> (необязательный)
Тип: Структура. Структура, содержащая отбор по измерениям регистра.
В переданной структуре должны содержаться те измерения, по которым должны быть отфильтрованы записи. В элементе структуры задается имя и значение отбора. Должны указываться значения для всех измерений.
Параметр обязателен для регистров, имеющих измерения.
Если параметр не указан, то отбор не используется.
Вариант синтаксиса: Для непериодического регистра
Описание:
Получает значения ресурсов записи регистра, соответствующей указанным значениям измерений регистра.
Синтаксис:
Получить(<Отбор>)
Параметры:
<Отбор> (необязательный)
Тип: Структура. Структура, содержащая отбор по измерениям регистра.
В переданной структуре должны содержаться те измерения, по которым должны быть отфильтрованы записи. В элементе структуры задается имя и значение отбора. Должны указываться значения для всех измерений.
Параметр обязателен для регистров, имеющих измерения.
Если параметр не указан, то отбор не используется.
Возвращаемое значение:
Тип: Структура. Структура, содержащая значения ресурсов.
6 Невский Александр
 
24.12.08
11:59
РегКИ1=РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
РегКИ1.Отбор.Объект.Установить(РегКИ.Объект.ГоловнойКонтрагент.Ссылка);
РегКИ1.Отбор.Тип.Установить(Перечисления.ТипыКонтактнойИнформации.Адрес);
РегКИ1.Отбор.Вид.Установить(Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента);
РегКИ1.Прочитать();
     Если РегКИ1.Количество()>0 Тогда
         ЮрАдресГК = РегКИ1.Получить(0).Представление;
         КонецЕсли;


Аналогично можно написать через запрос
Если я правильно понял, вам это было нужно? Вообще все делается легко - смотрите побольше книги, вот интересная есть - "Профессиональная разработка в 1С" - все доступным языком написано
7 solare
 
24.12.08
12:13
Александр, тот же вопрос возник с периодическим независимым РС.
Необходимо из ТЗ получить ПоследнееЗначение введенное по колонке ТС и отобразить его в поле ввода. Тип значения в колонке ТЗ Ссылка.
Подскажите пожалуйста как, я пробывал так:
Значение = РегистрыСведений.РегистСведений;
ПолеВвода = Значение.ПолучитьПоследнее(ТекущаяДата(),ИмяКолонки);

но пишет, что несоответсвие типов (параметр номер 2).
ИмяКолнки это измерение в РС, по которой я хочу получить последнее значение.
8 GROOVY
 
модератор
24.12.08
12:17
(0) Запросом.
9 hhhh
 
24.12.08
12:17
(7) если непериодический регистр сведений - там только одно значение, все предыдущие стираются. Делай

ПолеВвода = Значение.Получить(Отбор);

А почему переменные так называются не по-людски? ПолеВвода? Значение?
10 solare
 
24.12.08
12:19
(7)Да переменные у меня по людски называются, это я просто так написал.
Т.Е. вы мне советуете сделать ренгистр непериодическим и отбор делать только по измерению РС?
Спасибо, сейчас попробую.
11 HEKPOH
 
24.12.08
12:21
"...вот интересная есть - "Профессиональная разработка в 1С" - все доступным языком написано"

Проще нужно быть: "Простые примеры разработки" А. П. Габец, Д. И. Гончаров
12 hhhh
 
24.12.08
12:22
(10) нет, не советую. Невнимательно прочитал.
13 solare
 
24.12.08
12:36
(12)Эх, действительно наверное (11)прав, нужно быть проще...
но всеж может кто-нибудь поможет неучу. Есть периодический независимый РС.
В нем есть ТЗ которая ссылается на другой РС ЦиклТС. В РС ЦиклТС есть два измерения ТС и Статус и ресурсы ДатаКон, ДатаНач и НомерДок. На форме основного РС ПервоначальныеСвединия есть поле ввода СтатусТС в котором необходимо отображать посдний введенный статусТС из ТЗ, которая ссылается на РС ЦиклТС.
Вот такая вот задача...
14 solare
 
24.12.08
12:39
У меня выходит отображать в поле ввода только первое значение из ТЗ по колонке СтатусТС.
я установил Порядок по ДатеНач, но в поле всегда отображается первое значение и порядок установился по возрастанию. Может кто-нибудь знает как установить по убыванию (не в запросе), мне бы это тоже помогло.