Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа_1C_2.doc
Скачиваний:
35
Добавлен:
10.05.2015
Размер:
1.15 Mб
Скачать

2.5 Работа со справочником товаров - номенклатуры

Был создан справочник номенклатуры. Теперь можем войти в 1С:Предприятие и посмотреть не него. Заодно и заполним справочник.

  1. Входим в 1С:Предприятие в базу "Учебная" под именем "Программист" с паролем 123;

  2. В меню видим раздел "Справочники". В справочниках есть пока только один - Номенклатура;

  3. Если этого пункт меню нет, это значит, что при создании справочника либо не пользовались конструктором, либо не указали необходимость включения справочника в интерфейс. Тогда входите в меню Операции. Там находим команду "Справочники". Появился список справочников. В списке находим справочник номенклатуры и открываем его;

  4. Через меню Действие командой "Новая группа" создадим группу из первого уровня - Код - 00000001, Наименование - "Пром.Товары", [ОК];

  5. Программа спросит сохранить ли элемент. Ответим [Да];

  6. Аналогично введем группу "Продукты" с кодом 00000002;

  7. Теперь входим внутрь группы "Пром.Товары";

  1. Вводим две подгруппы второго уровня: "Мебель" - 00000003, и "Посуда" - 00000004. Коды 00000001-00000004 просто для порядка сортировки в отчете;

  2. Теперь можно заводить товары. Но сначала укажем значения констант;

  3. В меню Операции выбираем команду "Константы";

  4. Появилось окошко с перечнем наших констант. Введем значения. Для единицы измерения по умолчанию - шт., для процента наценки - 35;

  1. Закроем окно с константами;

  2. В справочнике "Номенклатура" входим в подгруппу "Мебель";

  3. Меню Действие команда "Новый";

  4. Появилось окошко для ввода данных по товару;

  5. Заполняем: Артикул - СТО-023, Наименование - "Стол на 6 персон", Ед.Изм - шт, цена поступления - 2500 цена реализации сформировалась сразу после нажатия на [ENTER] после ввода цены прихода и составила 3375, [ОК]. Сохранить элемент - [Да]. Остальные товары занесем в соответствующие группы, если цена расхода предлагаемая машиной и цена в табличке не равны, поправляем машину;

    Группы и товары

    Цена поступления

    Цена реализации

    Ед. измерения

    Пром.Товары

    Мебель

    Стол на 6 персон СТО-023

    2500

    3375

    шт.

    Стул мягкий СТУ-012

    780

    1050

    шт.

    Посуда

    Супница расписная СУП-004

    87.25

    118

    шт.

    Тарелка глубокая ТАР-123

    18.75

    25

    шт.

    Продукты

    Кефир жирность 1.5% МПР-0342

    6.90

    9.32

    шт.

    Яблоки "Голден" ФРЯ-908

    17.50

    25

    кг.

  6. Теперь нажмем [Печать] в форме списка справочника. Это будет выглядеть примерно так. Любуемся результатом;

  1. Полученную табличную печатную форму можем послать на принтер.

2.6 Работа с большими количествами товаров

В справочнике номенклатуры у каждого товара указана основная единица измерения. Но ведь приходится работать и с большими количествами. Например, можем продать ящик яблок, в ящике, к примеру, 25 кг. Или ящик с тарелками, где их 12 штук. Можно пользоваться и другими единицами, если их занести, соответственно, как значения перечисления ЕдИзм. Необходимо как-то указать, что товар может измеряться не только в базовой единице, но и в каких-то кратных ей других единицах измерения. Так яблоки будут либо в килограммах, либо в ящиках по 25 кг, тарелки либо в штуках, либо в ящиках комплектом на дюжину персон, кефир либо в пакетах по 1 штуке, либо в ящиках по 15 штук пакетов.

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

  1. Создаем новый справочник;

  2. Идентификатор - "Единицы", Комментарий - "единицы измерения товара";

  3. В интерфейс вставлять не будем, это служебный справочник;

  4. [Готово]. Появилось окно свойств справочника;

  5. ГЛАВНОЕ: В поле подчинен выбираем справочник "Номенклатура". Этим указываем характер их отношений;

  1. Количество уровней - 1, следовательно, групп не будет. Длина кода - 5, длина наименования - 0. Использовать это поле за ненадобностью. Серии кодов в пределах подчинения, тип кода - текст, сюда будем заносить текстовое представление названия единицы измерения, основное представление - код (другого варианта и нет). Автоматическая нумерация и контроль уникальности не нужны;

  2. Занесем два новых реквизита: Первый - "Ед", тип - П.ЕдИзм. Второй - "Коэффициент", тип Число 5.0, неотрицательный;

  3. Редактировать будем в диалоге;

  4. Создаем форму элемента;

  5. Если обратили внимание, предопределенное поле Наименование для выбора не предложили, это потому, что указали его длину = 0;

  6. Расставим поля как-нибудь поудобнее, но можем оставить и так;

  7. Поле ввода кода сделаем недоступным - сюда будем, как и договорились ранее, автоматически заносить строковое представление названия единицы измерения;

  8. Пусть поле ввода "Коэффициент" будет с кнопкой выбора - так симпатичнее;

  9. В поле ввода "Ед" добавим в формулу процедуру Ед();

  10. В модуле формы пишем код процедуры Ед():

Процедура Ед()

  Код=Строка(Ед);

// Здесь функцией Строка() мы получаем строковое

// представление значения перечисления

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

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

Процедура ВводНового()

  Ед=Владелец.ЕдИзм;

// А вот это важно. Здесь "Владелец" это указание на запись в справочнике

// "Номенклатура", которой будет принадлежать эта единица измерения

  Коэффициент=1;

  Код=Строка(Ед);

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

В 1С ссылки на реквизиты таблиц имеют такой же вид как и ссылки на атрибуты и методы объектов (через "."), а не как в VBA, где используется "!";

  1. Для закрепления информации о ссылке "Владелец" внесем текстовое поле, которое в форме элемента будет выводить код и наименование товара-владельца:

    1. В диалоге вставим из меню Вставить командой "Текст" текстовое поле;

    2. В окошке свойств этого текста очистим поле "Заголовок";

    3. На закладке "Дополнительно" введем формулу

"("+СокрЛП(Владелец.Код)+") "+СокрЛП(Владелец.Наименование)

Здесь СокрЛП() - это функция, которая удаляет пробелы в конце и в начале текстовой строки, "(" - текстовое выражение в коде в 1С заключают в кавычки, + в 1С служит и знаком конкатенации текстовых выражений;

    1. На закладке "Шрифт" выберем какой-нибудь шрифт и оформление по вкусу;

    2. Нажмем [ОК];

  1. Поместим это текстовое поле где-нибудь сверху формы;

  2. Скопируем это текстовое поле в буфер обмена;

  3. Форма элемента готова. Закроем ее;

  4. Создадим форму списка;

  5. Растянем поля пошире, чтоб заголовки полей были видны полностью, и вставим наверх из буфера обмена текстовое поле;

  6. Форму списка можно закрыть;

  7. Сохраняем изменения и входим в 1С:Предприятие;

  8. Войдем в справочник номенклатуры;

  9. Найдем "Кефир" и установим на него курсор;

  10. Из меню Действия командой "Подчиненный справочник" вызовем справочник "Единицы". Если бы было несколько справочников подчиненных справочнику товаров, то пришлось бы выбирать из списка;

  11. Введем новый элемент. Это будет элемент с базовой единицей. Ничего изменять не будем и сохраним его;

  12. Теперь введем еще один элемент - с производной единицей измерения;

  13. Единица - ящик (ящ.), коэффициент - 15;

  14. В списке единиц две записи;

  15. Переключимся в справочник товаров и установим курсор на яблоках;

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

  17. Введем аналогичным образом две записи для яблок: килограмм (кг.) коэффициент - 1, ящик (ящ.) коэффициент - 25;

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

  19. Разместив на экране рядом справочники товаров и единиц, и переходя курсором по записям о товарах, видим, как в справочнике единиц меняются наборы записей;

  20. Закроем справочник товаров. Установим курсор в справочнике единиц на любой записи;

  21. Через меню Действия выполним команду "Иерархический список";

  22. В справочнике единиц стало видно сразу множество записей;

  23. Переходя по ним курсором, видно, как меняется содержание текстового поля вверху списка, где указали выводить код и наименование владельца;

  24. Остановимся на какой либо из записей;

  25. Через меню Действия выполним команду "Иерархический список";

  26. Снова в списке остались только записи, относящиеся к какому-то одному товару;

  27. Через меню Действия выполним команду "Справочник-владелец";

  28. Открылся справочник товаров. Курсор в нем установился на том товаре, который являлся владельцем текущей единицы измерения;

  29. Если будем выключать-включать иерархический список в справочнике товаров, то будем видеть соответственно либо все товары и группы сразу, либо только относящиеся к текущей группе/подгруппе;

  30. Закроем 1С:Предприятие.

13