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

Тема в разделе "1C и всё что с ней связано", создана пользователем go6a, 9 фев 2010.

  1. go6a

    go6a Гость

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

    evgenyatam Well-Known Member

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

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

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

    go6a Гость

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

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    а ЖКК почитать религия не позволяет? :D
     
  5. go6a

    go6a Гость

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

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Очень странное замечание, особенно для человека который знаком с програмированием! ПО-моему там все довольно понятно и просто изложенно. но в любом случае можно еще попробовать почитать Радченко
     
  7. evgenyatam

    evgenyatam Well-Known Member

    Регистрация:
    7 сен 2007
    Сообщения:
    175
    Симпатии:
    0
    константа это значение в базе. а КонстантыМенеджер - объект языка 1с, который дает доступ ко всем константам.
    регистр сведений - таблица в базе. РегистрСведенийМенеджерЗаписи - объект, который дает доступ к 1 записи таблицы регистра.
    РегистрСведенийВыборка - объект перечисляющий записи таблицы регистра сведений и он может отобрать нужные записи по условиям.
     
  8. go6a

    go6a Гость

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

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

    evgenyatam Well-Known Member

    Регистрация:
    7 сен 2007
    Сообщения:
    175
    Симпатии:
    0
    данный фрагмент должен располагаться в модуле объекта документа. а там все свойства доступны непосредственно.
    а то что ты пишешь:
    неверно потому что надо сначала спозиционироваться на конкретном объекте (в данном случае документе).
    а сам объект в модуле доступен как ЭтотОбъект (используется крайне редко).
     
  10. Ro811

    Ro811 Гость

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

    Добавлено:
    это предопределенные типы данных, в том смысле что их название и тип значений и даже набор значений в них уже являются константами.
     
  11. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    имхо это совершенно необязательно
     
Загрузка...

Поделиться этой страницей