Демонстрационный пример

В качестве наглядного примера ниже приводится структура простой конфигурации, предназначенной для автоматизации торговой деятельности организации. Конфигурация будет состоять из следующих объектов:

Справочники предназначены для хранения условно-постоянной информации. Они используются в других объектах, например, документах, регистрах и отчетах. В нашем примере будут следующие справочники:

  1. Номенклатура. Содержит список товаров.
     

  2. Контрагенты. Содержит список клиентов и поставщиков, а также всех внешних организаций.
     

  3. Склады. Содержит список складов (мест хранения) организации.

Документы используются для регистрации событий, происходящих в жизни предприятия. Документы сохраняются в информационной базе, имеют дату и время, а также номер. В нашей конфигурации будут созданы следующие документы:

  1. ПриходнаяНакладная. Осуществляет оприходование товарана склад, добавляет запись о приходе товара в регистр накопления Остатки.
     

  2. РасходнаяНакладная. Регистрирует реализацию товара,уменьшает количество в регистре Остатки и добавляет запись в регистр Продажи.

В регистрах накопления хранится информация об остатках или оборотах, связанных с объектами предметной области. Нам понадобятся следующие регистры накопления:

  1. Остатки. Хранит записи о движении товаров на складе, предоставляет информацию об остатке товаров на каждом складе.
     

  2. Продажи. Хранит записи о продажах, предоставляет информацию об объеме продаж каждого товара в разрезе контрагентов.

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

  1. Остатки. Показывает остатки товаров на выбранном складе. Данные будут браться из регистра накопления Остатки.
     

  2. АнализПродаж. Показывает объем продаж заданной группы товаров. Для получения данных будет использован регистр накопления Продажи.

Общую структуру этого прикладного решения можно изобразить следующим образом (стрелки обозначают потоки данных):

Поясним основные взаимосвязи между объектами:

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

Для начала работы после установки 1С Предприятия 8.0 создайте новую информационную базу, затем запустите 1С:Предприятие 8.0 в режиме «Конфигуратор» и откройте дерево конфигурации. Все эти операции описаны в книге «1С:Предприятие 8.0. Руководство по установке и запуску»-, входящей в документацию к программному продукту.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3. Создание отчетов

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

Отчет Остатки показывает текущие остатки товаров на каждом складе. Этот отчет может быть легко создан конструктором выходных форм.

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

Теперь создадим отчет АнализПродаж, который будет брать данные из регистра Продажи и показывать их в виде сводной таблицы.  Это очень хороший способ представления многомерных данных, причем пользователь сможет самостоятельно изменить структуру сводной таблицы: включить и выключить измерения и ресурсы, изменить их порядок.

Создадим экранную форму отчета, разместим в ней элемент управления ПолеТабличногоДокумента, в который вставим сводную таблицу:

IMG

Далее перейдем на закладку «Модуль», сформируем текст запроса с использованием конструктора и напишем несколько строк программы на встроенном языке:

IMG

В результате данные из регистра будут выбраны с помощью запроса и помещены в сводную таблицу.

4. Создание интерфейса

Осталось сделать самую малость — создать главное меню программы. Создадим интерфейс Основной, для чего воспользуемся конструктором меню.

Здесь же можно создать и главную панель инструментов. Для этого необходимо нарисовать или где-нибудь взять уже готовый набор пиктограмм для кнопок.

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

Итак, практически вся конфигурация была создана визуальными средствами. Алгоритмы проведения документов на встроенном языке были сформированы конструкторами. Единственное, что пришлось запрограммировать самостоятельно, это всего несколько строчек на встроенном языке в отчете АнализПродаж, причем запрос тоже был составлен с помощью конструктора.

5. Проверка работоспособности

Ниже приведены основные экранные формы получившегося прикладного решения.

Сначала введем данные в справочники: заведем несколько товаров, контрагентов и складов. Например, ниже показана форма справочника Номенклатура":

IMG

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

Для примера приведем форму расходной накладной:

IMG

На основе информации из регистров можно сформировать отчеты. Ниже показан сформированный отчет Остатки:

IMG

Обратите внимание на отчет АнализПродаж. С помощью окна «Поля сводной таблицы» можно включить и выключить показ измерений и ресурсов. Можно легко изменить структуру отчета, перетащив мышкой измерения отчета:

IMG

Таким образом, время создания данной конфигурации не превышает часа, а полезность получившегося решения очевидна. Буквально за несколько минут была создана простая автоматизированная система, пригодная для учета движений товаров и анализа продаж. Обратите внимание, что пришлось запрограммировать всего несколько строчек отчета АнализПродаж, да и то запрос был составлен в конструкторе запросов, а технология контекстной подсказки ускорила время написания программы до нескольких секунд. Продажа 1С, любая программа. Программы 1С. . Автоматика для ворот