Создание конфигурации "Мини-склад". 1С: Предприятие


Создать конфигурацию "Мини-склад", содержащую справочники: Склады, Товары, документы: Приходная накладная, Расходная накладная, отчет: Справка о складских запасах

Каждая конфигурация должна храниться в отдельном каталоге (папке). Создадим папку на любом диске, например "C:конфигурация". Запустим 1С:Предприятие. Откроется список информационных баз.

Нажмем на кнопку "Добавить" и введем название базы "Информационная База #1". Укажем путь к созданной папке и нажмем "ОК". Далее выберем режим "Конфигуратор", выделим нужную информационную базу и нажмем "ОК":

Рис. 1

Затем выберем формат хранения таблиц данных DBF:

Рис. 2

Запустится конфигуратор. Откроим дерево конфигурации. Для этого щелкнем меню Конфигурация => Открыть конфигурацию или кнопку. Появится окно дерева конфигурации.

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

Выберем в окне конфигурации "Задача" и в меню "Действия" выберем "Свойства". Изменим идентификатор с "Задача" на "Мини-склад".

Создадим справочник "Склады".

Установим курсор на строку "Справочники" и щелкнем кнопку или щелкнем правой кнопкой мыши и выберем "Новый справочник". При этом откроется окно Конструктора справочников. Снимем флажок "Использовать конструкторы при создании новых объектов" и нажмем "Отмена". Опять установим курсор на строку "справочники" и выберем в контекстном меню "Новый справочник". Появится окно для редактирования структуры справочника. Укажем идентификатор "Склады", количество уровней - 1, длина кода - 5, длина наименования - 30. Редактирование оставим в форме списка. Нажмем "Формы списка - Форма Списка". В появившемся окне отредактируем размеры. Закроем форму списка и свойства справочника, затем сохраним конфигурацию командой "Файл - Сохранить". Появится предупреждение "отсутствует словарь данных", нажмем "Да". После реорганизации базы появится сообщение "Реорганизация информации закончена".

Создадим справочник "Товары".

Установим курсор на строку "Справочники" и выберем "Новый справочник". Укажем:

Идентификатор - "Товары";

Комментарий - "товары";

Синоним - "товары";

Количество уровней - 3;

Длина кода - 5;

Длина наименования - 50;

Серии колов - "в пределах подчинения";

Тип кода - числовой;

Основное представление - "в виде наименования";

Одна форма для элемента и группы - нет;

Размещать группы сверху - да;

Автоматическая нумерация - да;

Контроль уникальности - да;

Редактировать - "в диалоге".

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

Идентификатор - "Цена Поступления";

Комментарий - "цена поступления товара на склад";

Тип значения - число, длина - 7, точность - 2;

На вкладке "Дополнительно" укажем, что число принимает неотрицательные значения.

Аналогично создадим реквизит "Цена Реализации":

Идентификатор - "Цена Реализации";

Комментарий - "цена реализации товара";

Тип значения - число, длина - 7, точность - 2;

На вкладке "Дополнительно" укажем, что число принимает неотрицательные значения.

Рис. 3

Отредактируем форму справочника, для этого нажмем "Форма элемента". Появится окно редактирования формы, также будет предложено выбрать реквизиты для размещения на форме. Выберем все реквизиты и нажмем кнопу "Вставить".

Создадим форму группы. Нажатием кнопки "Форма группы" откроем окно редактирования формы. Вставим реквизиты "Код" и "Наименование".

Создадим константу "Наценка". Выберем "Константа - Новая константа". Укажем:

Идентификатор - "Наценка";

Комментарий - "процент наценки";

Тип - число, длина - 5, точность - 2.

Вернемся к окну формы элемента справочника "Товары". Здесь укажем в свойствах полей ввода "ЦенаПоступления" и "ЦенаРеализации" на вкладке "Дополнительно" "Имеет кнопку выбора". Для полей этого типа при нажатии на эту кнопку появляется калькулятор. Для поля "ЦенаРеализации" на той же вкладке также введем формулу "Цена()". Перейдем к модулю формы и запишем процедуру:

Процедура Цена()

Цена Реализации=Цена Поступления*(1+(Константа. Наценка/100));

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

Это значит, что поле ввода "Цена Реализации" присваивает значение, равное сумме значения поля "Цена Поступления" и значения константы "Наценка" деленного на 100.

Закроем окно редактора формы и сохраним конфигурацию.

Запустим 1С:Предприятие в режиме Предприятие. Это можно сделать прямо из Конфигуратора, нажав кнопку. Появится окно 1С:Предприятие.

Введем значение константы "процент наценки": выберем "Операции - Константы". В окне "Список констант" введем требуемое значение.

Затем мы заполним созданные справочники данными. Для открытия справочника выберем "Операции - Справочники - Склады". Введем:

Код - 1, наименование - "Склад 1";

Код - 2, наименование - "Склад 2";

Код - 3, наименование - "Склад 3";

Код - 4, наименование - "Склад 4";

Затем заполним справочник "Товары", выбрав "Операции - Справочники - Товары". Для создания группы выберем в меню "Действия" пункт "Новая группа". Введем код - 1, наименование - "группа 1". Создадим еще одну группу "группа 2". Для открытия группы выберем "Действия - Следующий уровень" или Ctrl + v. Можно также два раза щелкнуть на изображении плюса слева от колонки "Код". Войдем в первую группу и аналогично создадим подгруппы "подгруппа 1" и "подгруппа 2". Их же создадим в группе "группа 2". Войдем в первую группу первую подгруппу. Так как при создании справочника мы указали три уровня, то внутри подгруппы второго уровня нельзя добавить еще одну подгруппу. Здесь мы опишем товары. Для создания нового элемента выберем "Действия - Новый". Введем первый товар "товар 1": Наименование - "товар 1", цена поступления - 100.00, цена реализации - 115.00. Аналогично введем другие товары. Для отображения всех товаров выберем в меню "Действия" пункт "Иерархический список".

Создадим документ "Приходная накладная"

В конфигурации выберем "Документы - Новый документ". Укажем:

Идентификатор - "Приходная Накладная";

Комментарий - "Приходная накладная";

Периодичность: "В пределах года";

Автоматическая нумерация - да;

Контроль уникальности - да;

Тип - числовой, длина - 5;

Оперативный учет - да.

Укажем Реквизиты шапки.

Нажмем на кнопку "Новый" и в появившемся окне свойств укажем:

Идентификатор - "Склад";

Комментарий - "Склад";

Тип значения - Справочник. Склады.

Указав этот тип, мы можем ввести только значения из справочника "Склады", который должен появляться при нажатии на кнопку выбора.

Введем реквизиты табличной части "Товар", "Количество", "Цена" и "Сумма".

Реквизит "Товар":

Идентификатор - "Товар";

Комментарий - "Товар";

Тип значения - "Справочник. Товары".

Реквизит "Количество":

Идентификатор - "Количество";

Комментарий - "Количество товара";

Тип значения - число, длина - 7, точность - 0.

На вкладке "Дополнительно" укажем "Неотрицательный".

Реквизит "Цена":

Идентификатор - "Цена";

Комментарий - "цена товара";

Тип значения - число, длина - 7, точность - 0.

Реквизит "Сумма":

Идентификатор - "Сумма";

Комментарий - "сумма";

Тип значения - число, длина - 7, точность - 0.

На вкладке "Дополнительно" - "Итог по колонке", чтобы иметь возможность включить в графу журнала документов.

Отредактируем форму документа. Нажав кнопку "Форма" откроем окно редактора формы. Вставим все реквизиты. В свойствах колонки "Цена" укажем на вкладке "Дополнительно" формулу "Сумма()", а колонку "Сумма" сделаем недоступной. В модуле формы запишем процедуру:

Процедура Сумма()

Сумма = Цена*Количество;

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

Создадим документ "Расходная накладная".

Документ "Расходная накладная" мало отличается от документа "Приходная накладная", поэтому мы создадим его копированием. Для этого выберем в меню "Действия" пункт "Запомнить", затем выберем "Действия - Вставить". Появится новый документ "ПриходнаяНакладная1". Изменим документ, выбрав "Действия - Редактировать элемент". Изменим идентификатор на "Расходная Накладная".

Создадим журнал документов "Накладные".

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

Заново откроем на редактирование документы расходную и приходную накладные и укажем в выпадающем списке "Журнал" созданный журнал "Накладные". Вернемся к окну редактора журнала. Зададим новую графу. Нажмем "Новый". В появившемся окне выберем реквизит шапки "Склад" для обоих документов. Изменим идентификатор на "Склад". Аналогично создадим графу "Сумма". Эти графы нужны для отображения значений соответствующих реквизитов документов при просмотре журнала в режиме "Предприятие" Создадим форму для журнала. Выберем "Формы - Форма Списка", затем вставим все графы. Закроем окно формы.

Создадим отчет "Справка о складских запасах".

Для начала создадим регистр "Остатки". При помощи регистров можно хранить текущее состояние остатков на складе. Укажем:

    - Идентификатор - "Остатки"; - Тип регистра - "Остатки".

Измерения:

    1) Идентификатор - "Склад", тип значения - "Справочник. Склады"; 2) Идентификатор - "Товар", тип значения - "Справочник. Товары".

Ресурсы:

    1) Количество; 2) Сумма.

Ресурсами регистра могут являться любые категории учета, которые могут быть представлены в числовом виде, такие как: "количество товара", "долг клиента", "сумма наличных" и т. п. Измерения регистра - это оси координат, на пересечении которых регистр хранит конкретные значения ресурсов.

Теперь запишем процедуры проводок документов. Выберем документ "Приходная Накладная" щелкнем по кнопке "Модуль Документа" и введем процедуру обработки проведения:

Процедура Обработка Проведения()

Регистр. Остатки. Склад = Склад;

Регистр. Остатки. Товар = Товар;

Регистр. Остатки. Количество = Количество;

Регистр. Остатки. Сумма = Сумма;

Регистр. Остатки. Движение Приход Выполнить();

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

Здесь при помощи метода Движение Приход Выполнить() выполняется запись прихода в регистр для текущего документа. Значения измерений регистра, по которым записыва-ется приход, а также величины приращений приходуемых ресурсов регистра определяются текущими значениями атрибутов регистра.

Аналогично укажем для документа "Расходная Накладная":

Процедура Обработка Проведения()

Регистр. Остатки. Склад = Склад;

Регистр. Остатки. Товар = Товар;

Регистр. Остатки. Количество = Количество;

Регистр. Остатки. Сумма = Сумма;

Регистр. Остатки. Движение Расход Выполнить();

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

Эта процедура отличается от предыдущей методом Движение Расход Выполнить(), который выполняет запись расхода в регистр для текущего документа.

Теперь создадим сам отчет. Выберем в окне конфигурации "Отчеты", и укажем "Новый отчет". Введем идентификатор "Справка О Запасах". Затем выберем "Действия - Редактировать форму". На закладке "Диалог" выберем "Вставить - Реквизит диалога" и поместим его на форму. Появится окно свойств, в котором укажем: Идентификатор - "Дата Нач", тип - "Дата". Аналогично создадим поле ввода "Дата Кон". Добавим текстовые надписи, поясняющие назначение полей.

Перейдем на закладку "Модуль".

В модуле напишем процедуру "Сформировать()":

Процедура Сформировать()

Запрос = Создать Объект("Запрос");

ТЗ="

|Период с Дата Нач по Дата Кон;// Задаем интервал запроса

| // Определяем внутренние переменные

|Скл = Регистр. Остатки. Склад;

|Тов = Регистр. Остатки. Товар;

|Сум = Регистр. Остатки. Сумма;

|Кол = Регистр. Остатки. Количество;

|Функция Кол На Скл = Кон Ост(Кол); // Назначаем функцию

|// Назначаем группировки

|Группировка Тов упорядочить по Тов. Код;

|Группировка Скл упорядочить по Скл. Код;

|";

Если Запрос. Выполнить(ТЗ)=0 Тогда //Выполнить запрос

Сообщить("Запрос не выполнен");

Возврат; // Если ошибка в запросе, то выход из процедуры

Конец Если;

Таб = Создать Объект("Таблица"); //Создание таблицы в памяти

Таб. Исходная Таблица("Таблица");

// Копирование в созданную таблицу секцию Шапка

Таб. Вывести Секцию("Шапка");

Пока Запрос. Группировка("Тов")=1 Цикл

// сначала используем группировку по товару

Пока Запрос. Группировка("Скл")=1 Цикл

// а потом группировку по складу

Склад = Запрос. Скл; // Заполнение полей секции Группа

Товар = Запрос. Тов;

Количество = Запрос. Кол На Скл;

Сумма = Запрос. Сум;

Таб. Вывести Секцию("Группа");

Конец Цикла;

Конец Цикла;

// Вывод заполненной формы

Таб. Показать("Справка о складских запасах");

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

Печатные формы формируются при помощи встроенного языка с использованием агрегатного объекта "Таблица", создаваемого функцией Создать Объект. Наиболее типичным способом заполнения табличного документа является включение в него секций. Для этого используется исходный табличный документ, который может располагаться в той же форме, в тексте программного модуля которого создан агрегатный объект "Таблица".

В данном отчете используется объект типа "Запрос". Работа с запросами предполагает следующий порядок:

При помощи функции Создать Объект создается объект типа "Запрос" и ссылка на него присваивается какой-либо переменной. Далее обращение к запросу производится посредством этой ссылки.

После создания переменной типа "Запрос" следует обращение к методу Выполнить, которому в качестве параметра передается текст запроса, написанный на специальном языке запросов. Метод Выполнить анализирует текст запроса, выполняет в соответствии с ним выборку данных и формирует временный выходной набор данных (выборку).

После этого организуется циклическая обработка сформированного временного набора данных (выборки) с целью получения требуемого отчета.

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

В тексте запроса сначала указан период запроса, определены внутренние переменные, которые присваивают значения регистров, назначаем функцию Кон Ост (Кол), И группируем сначала по товару, затем по складу. Затем выполняем запрос при помощи метода Выполнить. Метод Выполнить непосредственно выполняет запрос, о результате его выполнения формируется временный выходной набор данных, который в дальнейшем используется для заполнения формы отчета.

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

Метод Группировка служит для организации цикла получения данных из выборки, сформированной в результате работы метода Выполнить. Метод Группировка позиционирует в выборке очередную строку в порядке, определенном параметром <Группировка>. Нельзя использовать метод Группировка, задавая в качестве параметра младшие группировки, не использовав предварительно этот метод для позиционирования по старшим группировкам. Старшинство группировок определяется порядком их следования в тексте запроса. Затем выводим таблицу на экран при помощи метода Показать Объекта "Таблица".

Перейдем на закладку "Таблица" и зададим следующую структуру:

Рис. 4

Создадим секцию "Шапка" и укажем в свойствах тип "текст". Далее создадим секцию "Группа", тип - "Выражение". Укажем все переменные, используемые в цикле.

Закроем окно редактора формы отчета.

Создадим интерфейс. Для этого перейдем на закладку "Интерфейсы" окна "Конфигурация". Выберем "Действия - Новый Интерфейс". Затем выберем "Действия - Редактировать" и укажем "меню". Появится окно редактора меню. Выберем "Новая колонка", в свойствах элемента меню укажем название - "Справочники". Аналогично создадим колонки "Документы" и "Отчеты". Выберем "Справочники - Новый". В появившемся окне свойств элемента меню укажем объект "Справочники. Склады", название - "Склады". Аналогично создаем элемент "Товары". Выберем "Документы - Новый". В появившемся окне свойств элемента меню укажем объект "Документы. ПриходнаяНакладная", Команда - "Документы. Приходная Накладная. Ввести". Аналогично зададим: "Документы. Расходная Накладная". Введем элемент типа "разделитель", а после него "Журналы. Накладные". Выберем "Отчеты - Новый". В появившемся окне свойств элемента меню укажем объект "Отчеты. Справка О Запасах".

Список литературы

    1. Рязанцева Н. А., Рязанцев Д. Н. 1С: Предприятие. Бухгалтерский учет. Секреты работы. - СПб.: БХВ-Петербург, 2003. - 320 с.: ил. 2. Рязанцева Н. А., Рязанцев Д. Н. 1С: Предприятие. Торговля и склад. Секреты работы. - СПб.: БХВ-Петербург, 2003. - 368 с.: ил. 3. Рязанцева Н. А., Рязанцев Д. Н. 1С: Предприятие. Комплексная конфигурация. Секреты работы. - СПб.: БХВ-Петербург, 2003. - 624 с.: ил.

Похожие статьи




Создание конфигурации "Мини-склад". 1С: Предприятие

Предыдущая | Следующая