![]() |
![]() |
![]() |
|
Как получить запись у непериодического регистра сведений? | ☑ | ||
---|---|---|---|---|
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
|
У меня выходит отображать в поле ввода только первое значение из ТЗ по колонке СтатусТС.
я установил Порядок по ДатеНач, но в поле всегда отображается первое значение и порядок установился по возрастанию. Может кто-нибудь знает как установить по убыванию (не в запросе), мне бы это тоже помогло. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |