- •Основы программирование в среде «1с: предприятие»
- •1. Предметно-ориентированное моделирование информационных систем
- •1.1. Понятие предметно-ориентированного моделирования
- •1.2. Типы моделей
- •2. Система программ «1с: Предприятие 8»
- •2.1. Состав системы программ «1с: Предприятие 8»
- •2.2. Структура конфигурации
- •2.3. Архитектуры системы программ «1с: Предприятие»
- •2.4. Платформенно-зависимая модель «1с: Предприятие»
- •3. Объектная модель платформы «1с: Предприятие»
- •3.1. Объекты для построения платформенно-зависимой модели
- •3.2. Общая структура основного объекта
- •4. Основы работы с информационной базой
- •4.1. Создание информационной базы
- •4.2. Перенос информационной базы
- •4.3. Объекты системы
- •4.4. Классификация объектов
- •4.5. Прикладные объекты
- •4.6. Подчиненные объекты
- •4.7. Встроенный язык системы
- •4.8. Виды модулей
- •4.9. Подсистемы
- •4.10. Отладка конфигурации
- •Лабораторная работа 1
- •5. Справочники
- •5.1. Назначение справочников
- •5.2. Программные объекты справочников
- •5.3. Подчиненные справочники
- •5.4. Иерархические справочники
- •5.5. Модуль объекта Справочник
- •5.6. Свойства справочников
- •5.7. Формы объектов
- •5.8. Представления объектов
- •5.9. Настройка интерфейса
- •5.10 Структура экрана в пользовательском режиме
- •Лабораторная работа 2
- •6. Документы
- •6.1. Назначение документов
- •6.2. Программные объекты документов
- •6.3. Проведение документа
- •6.4. Ввод на основании
- •6.5. Типы данных. Типообразующие объекты конфигурации
- •6.6. Заполнение реквизитов
- •6.7. Расчет суммы в строках документа
- •Лабораторная работа 3
- •7. Регистры
- •7.1. Назначение и свойства
- •7.2. Виды регистров
- •7.3. Виртуальные таблицы
- •7.4. Программные объекты регистров
- •7.5. Регистры накопления
- •7.6. Движения документа
- •7.7. Командный интерфейс регистров
- •Лабораторная работа 4
- •8. Отчеты
- •Лабораторная работа 5
- •9. Макеты и формы
- •9.1. Создание макета печатной формы
- •9.2. Редактирование макета
- •9.3. Редактирование формы
- •Лабораторная работа 6
- •10. Регистры сведений
- •10.1. Создание периодического регистра сведений
- •10.2. Использование периодического регистра сведений в документе
- •Лабораторная работа 7
- •11. Перечисления
- •Лабораторная работа 8
- •12. Оборотные регистры накопления
- •Лабораторная работа 9
- •13. Табличная модель платформы «1с: Предприятие»
- •13.1. Табличная модель данных
- •13.2. Виды таблиц базы данных
- •13.3. Создание запроса и использование его результатов
- •13.4. Структура и описание запроса
- •13.5. Взаимосвязь таблиц
- •13.6. Упорядочивание
- •13.7. Группировка и итоги
- •13.8. Параметры
- •14. Система компоновки данных
- •Лабораторная работа 10.1
- •Лабораторная работа 10.2
- •Лабораторная работа 10.3
- •Лабораторная работа 10.4
7.5. Регистры накопления
Регистры накопления используются в системе для накопления информации о наличии и движении средств – товарных, денежных и других величин. Можно сказать, что регистр накопления представляет собой n-мерную систему координат, в узлах которой располагаются наборы числовых характеристик. Оси координат называются измерениями, например, это могут быть Склады или Материалы. Числовые характеристики называются ресурсами, например, Количество или Сумма (рис. 7.3).
Рис.7.3
Изменение состояния регистра накопления происходит при проведении документа и заключается в том, что в регистр добавляется некоторое количество записей. Такой набор записей называется движениями. Различают два вида регистров накопления: регистры остатков и регистры оборотов.
7.6. Движения документа
Чтобы отобразить движения документа в регистре, необходимо в окне редактирования документа на закладке Движения отметить нужные регистры и по соответствующей кнопке запустить Конструктор движений. (рис. 7.4).
Рис.7.4
В поле выбора Табличная часть задать нужную табличную часть и нажать кнопку Заполнить выражения. Конструктор сам предложит соответствие реквизитов документа измерениям и ресурсам регистра (рис. 7.5). При необходимости это соответствие можно изменить вручную.
Рис. 7.5
При нажатии кнопки ОК в Модуле объекта (закладка Прочие) конструктор создаст обработчик события ОбработкаПроведения (рис. 7.6)
Рис.7.6
Объект встроенного языка ДокументОбъект имеет свойство Движения. Оно возвращает объект КоллекцияДвижений, содержащий коллекцию наборов записей регистров, по которым этот документ может формировать движения. К конкретному набору записей этой коллекции можно обратиться, указав через точку имя регистра, которому принадлежит этот набор записей. Например, Движения.ОстаткиМатериалов. Затем через точку можно использовать различные методы набора записей регистра, например, Движения.ОстаткиМатериалов.Добавить(). Метод Добавить() добавляет новую запись в набор записей.
В первой строке процедуры устанавливается свойство Записывать набора записей регистра в значение Истина. То есть, в явном виде указывается, что после завершения обработки проведения платформа должна будет записать этот набор записей в базу данных.
Внутри обработчика расположен цикл Для Каждого ... Из ... Цикл. Он предназначен для перебора строк табличной части документа. В цикле обращение к табличной части документа происходи по имени Материалы. Переменная ТекСтрокаМатериалы содержит объект с данными текущей строки табличной части документа. Эта переменная создается в начале цикла и меняется по мере его прохождения. В первой строке тела цикла, используя метод До6авить(), добавляется новая запись к набору записей, который создает документ в регистре. Тем самым создается объект РегистрНакопленияЗапись, который сохраняется в переменной Движение. Используя этот объект, происходит обращение к полям этой записи через точку от этой переменной (например, Движение.Количество). Причем Движение.Материал, Движение.Склад – это измерения регистра, Движение.Количество – это ресурс регистра, а Движение.ВидДвижения и Движение.Период – стандартные реквизиты регистра, которые создаются автоматически.
Чтобы присвоить полям новой записи регистра соответствующие значения полей документа, происходит обращение к полям табличной части, с указанием имени поля через точку от переменной ТекСтрокаМатериалы (например, ТекСтрокаМатериалы.Материал). Следует отметить, что Склад – это реквизит шапки документа, а Дата – стандартный реквизит документа, который создается автоматически. Причем в цикле меняются только значения полей табличной части документа – ТекСтрокаМатериалы.Материал и ТекСтрокаМатериалы.Количество. Остальные поля не меняются, так как относятся к документу в целом и не зависят от текущей строки табличной части документа. Вид.ДвиженияНакопления.Приход – это значение системного перечисления, которое определяет вид движения регистра накопления как приход.
Таким образом, присваиваются нужные значения всем полям новой записи. После перебора всех строк документа в этом наборе записей (Движения.ОстаткиМатериалов) будет отражаться столько записей, сколько строк в табличной части документа.