Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АСБУ / Методические ук Авт. БУ.doc
Скачиваний:
35
Добавлен:
16.02.2016
Размер:
669.7 Кб
Скачать

1. Создание справочников и регистров

После создания информационной базы и запуска Конфигуратора можно начать разработку конфигурации. На данном этапе мы создадим справочники и регистры накопления.

Любой справочник в системе 1С:Предприятие 8.0 имеет встроенные реквизиты Код и Наименование. В нашем примере справочник Номенклатура будет иметь еще один реквизит Цена.

Ниже показано окно редактирования свойств справочника Номенклатура:

На закладке Иерархия (или в палитре свойств) поставьте флажок Иерархический. Это означает, что товары в справочнике будут объединяться в группы, например, «Мониторы», «Бытовая техника». При необходимости вывод по группам может быть легко отключен.

В справочнике Контрагенты, вдобавок к стандартным реквизитам Код и Наименование, мы заведем реквизиты РНН и Адрес.

У справочника Склады реквизитов создавать не нужно, нам будет достаточно встроенных реквизитов Код и Наименование.

Теперь создадим регистр Остатки, который будет хранить остатки товаров на каждом складе. Для решения этой задачи он должен иметь два измерения: Товар и Склад, и один ресурс Количество.

Обратите внимание на то, что при указании типа данных для измерения Товар выбирается справочник Номенклатура. Так в простейшем случае настраиваются связи между объектами.

Ниже показано окно для редактирования структуры регистра Остатки и его свойства:

Регистр Продажи создается таким же способом. В нем будут два измерения Контрагент и Товар, и один ресурс Сумма. Регистр будет хранить объем продаж за период в разрезе контрагентов и товаров, т е это будет регистр оборотов.

2. Создание документов

Сначала создадим документ ПриходнаяНакладная, который будет регистрировать приход товара и делать движения по регистру Остатки.

У любого документа в системе 1С:Предприятие 8.0 есть встроенные реквизиты Дата и Номер. Мы создадим дополнительные реквизиты Поставщик и Склад, а также табличную часть Товары с реквизитами Товар и Количество.

Экранную форму документа, в принципе, можно не создавать, она будет сгенерирована автоматически, когда в ней возникнет необходимость. Но иногда такие формы не вполне удобны для ввода и просмотра данных, тогда следует создать экранную форму самостоятельно.

Ниже показано окно для редактирования экранной формы документа

В окне редактирования документа на закладке «Движения» отметьте регистры, по которым он может делать движения. Для приходной накладной нужно отметить регистр Остатки, а для расходной накладной регистры Остатки и Продажи. Далее создадим алгоритм проведения приходной накладной, при котором в регистре Остатки будет увеличиваться количество товаров. Воспользуемся для этого конструктором движений.

В правой части отображаются реквизиты документа и его табличных частей, в нижней части измерения и ресурсы регистра. По нажатии кнопки «Заполнить выражения» соответствие между ними будет установлено автоматически. После нажатия на кнопку «ОК» конструктор движений сгенерирует текст программы на

встроенном языке.

Документ РасходнаяНакладная создается аналогичным образом, за исключением того, что он делает движения типа «расход» по регистру Остатки и добавляет записи в регистр оборотов Продажи.

Алгоритм проведения документа формируется автоматически конструктором, который мы уже использовали выше, но на этот раз покажем, как выглядит программа на встроенном языке:

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Для Каждого ТекСтрокаТовары Из Товары Цикл

// регистр Остатки Расход

Движение = Движения.Остатки.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаТовары.Товар;

Движение.Склад = Склад;

Движение.Количество = ТекСтрокаТовары.Количество;

КонецЦикла;

Для Каждого ТекСтрокаТовары Из Товары Цикл

// регистр Продажи

Движение = Движения.Продажи.Добавить();

Движение.Период = Дата;

Движение.Контрагент = Контрагент;

Движение.Товар = ТекСтрокаТовары.Товар;

Движение.Сумма = ТекСтрокаТовары.Сумма;

КонецЦикла;

// записываем движения регистров

Движения.Остатки.Записать();

Движения.Продажи.Записать();

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Заметьте, что все конструкции записаны на русском языке, но их также можно записывать и на английском.