Типы данных, коллекция значений...вопросы новичка

  • Автор темы go6a
  • Дата начала
G

go6a

#1
1. Во встроенном языке 1С что за типы данных такие: КонстантыМенеджер, РегистрСведенийМенеджерЗаписи, РегистрСведенийВыборка и т.д. К примеру в языке С есть типы данных int, char, float с которыми все понятно, а с указанными выше 1С-овскими никак не могу разобраться, может кто-нибудь провести аналогию между типами данных в 1С и в С(или объяснить понятно начинающему что они из себя представляют)
2. Много раз встречал выражение "Коллекция значений" что оно означает? Если можно тоже по аналогии с С
 

evgenyatam

Well-known member
07.09.2007
175
0
#2
коллекция значений - это как массив в с. только элементы могут быть разных типов. а вообще то коллекция - собирательное название РАЗЛИЧНЫХ типов: массив (элемент по индексу), ТаблицаЗначений (запись (struct) по индексу), соответствие (значение по значению), список (используется преимущественно в интерфейсе, содержит значение, текстовое представление, значение пометки).

КонстантыМенеджер, РегистрСведенийМенеджерЗаписи, РегистрСведенийВыборка и т.д. - классы (class) для доступа к различным объектам базы данных.

синтаксис помошник тебе в помощь.
 
G

go6a

#3
В синтаксис-помощнике очень тяжело ориентироваться, к примеру пишу в поиске синтаксис-помощника "Коллекция значений" - выводится 673 результата, в которых я так-и не смог найти описания что же такое коллекция значений. Спасибо, после твоего ответа про коллекцию значений немного прояснилось. Тоесть константа - это объект типа КонстантыМенеджер? А регистр сведений - объект класса РегистрСведенийМенеджерЗаписи или регистр сведений - объект класса РегистрСведенийВыборка?
 

KiR

НЕ шибка опытный програмер)
11.09.2007
1 581
0
#4
а ЖКК почитать религия не позволяет? :D
 
G

go6a

#5
Из всех жкк, которые я читал (или пытался читать) не встречал ни одной, которая была бы написана в формате для начинающих.
 

KiR

НЕ шибка опытный програмер)
11.09.2007
1 581
0
#6
Из всех жкк, которые я читал (или пытался читать) не встречал ни одной, которая была бы написана в формате для начинающих
Очень странное замечание, особенно для человека который знаком с програмированием! ПО-моему там все довольно понятно и просто изложенно. но в любом случае можно еще попробовать почитать Радченко
 

evgenyatam

Well-known member
07.09.2007
175
0
#7
Тоесть константа - это объект типа КонстантыМенеджер? А регистр сведений - объект класса РегистрСведенийМенеджерЗаписи или регистр сведений - объект класса РегистрСведенийВыборка?
константа это значение в базе. а КонстантыМенеджер - объект языка 1с, который дает доступ ко всем константам.
регистр сведений - таблица в базе. РегистрСведенийМенеджерЗаписи - объект, который дает доступ к 1 записи таблицы регистра.
РегистрСведенийВыборка - объект перечисляющий записи таблицы регистра сведений и он может отобрать нужные записи по условиям.
 
G

go6a

#8
В книге Радченко "1С:Предприятие 8.1. Практическое пособие разработчика" в Главе 4 (регистр накопления) кое-что не понимаю в листинге 4.1.
Процедура ОбработкаПроведения(Отказ, Режим)

"//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора,
// внесенные вручную изменения будут утеряны!!!
Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
// Регистр ОстаткиМатериалов Приход
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаМатериалы.Материал;
Движение.Склад = Склад;
Движение.Количество = ТекСтрокаМатериалы.Количество;
КонецЦикла;
// }}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
...
Объект встроенного языка ДокументОбъект имеет свойство Движения. Оно возвращает коллекцию наборов записей регистров, которые принадлежат этому документу. К набору записей документа, принадлежащему конкретному регистру, можно обратиться, указав через точку имя этого регистра. "
Мне не понятно, почему обращение к свойству Движения идет таким образом: "Движение = Движения.ОстаткиМатериалов.Добавить();" Разве доступ к свойству объекта не через сам объект? Например Движение = Документы.ПриходнаяНакладная.Движения.ОстаткиМатериалов.Добавить()?
Мне не понятно, как так обратились к свойству объекта минуя сам объект.
 

evgenyatam

Well-known member
07.09.2007
175
0
#9
"Движение = Движения.ОстаткиМатериалов.Добавить();"
данный фрагмент должен располагаться в модуле объекта документа. а там все свойства доступны непосредственно.
а то что ты пишешь:
Движение = Документы.ПриходнаяНакладная.Движения.ОстаткиМатериалов.Добавить()
неверно потому что надо сначала спозиционироваться на конкретном объекте (в данном случае документе).
а сам объект в модуле доступен как ЭтотОбъект (используется крайне редко).
 
R

Ro811

#10
Вообще-то надо быть бухгалтером , чтобы понимать такие вещи, например регистр -это как вычисляемое поле в базе данных, то есть оно существует в момент вычисления. Это наиболее простой аналог, который мне как бухгалтеру приходит в голову :(

Добавлено:
1. Во встроенном языке 1С что за типы данных такие: КонстантыМенеджер, РегистрСведенийМенеджерЗаписи, РегистрСведенийВыборка и т.д. К примеру в языке С есть типы данных int, char, float с которыми все понятно, а с указанными выше 1С-овскими никак не могу разобраться, может кто-нибудь провести аналогию между типами данных в 1С и в С(или объяснить понятно начинающему что они из себя представляют)
2. Много раз встречал выражение "Коллекция значений" что оно означает? Если можно тоже по аналогии с С
это предопределенные типы данных, в том смысле что их название и тип значений и даже набор значений в них уже являются константами.